I'm trying to figure out how to check if a component is null (e.g. not found in Tridion) in a custom backend. I just don't see how to check this, other than catching the error.
Component comp = (Component)session.GetObject(base.ComponentUri);
if (component != null)
{
bool isCheckedOut = component.IsCheckedOut;
}
else
{
// how do I get in here!
}
I'm 100% sure the uri is correct ('tcm:113-438134') and 100% sure that there's no item in Tridion with that URI. The code above will throw an error at component.IsCheckedOut:
The item tcm:113-438134-16 does not exist.
How do I check the existence of a Tridion item? I've tried placing the cast at the end, which didn't help much:
Component comp = session.GetObject(base.ComponentUri) as Component;
and I've tried not casting at all but using an IdentifiableObject, which also didn't make any difference. Anyone knows how to do this?
This is because of Tridion's lazy loading - It will never return a null object if the URI seems valid. You can use session.IsExistingObject(TcmUriOrWebdavUrl)
to check if the object exists.
And...
I'm sure you're expecting this...
in a custom backend
You cannot use the TOM.NET API for processes other than Templates and Event System. Please use the Core Service API instead.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With