/// <summary> /// Check to see if an ODItemReference instance is valid for use to make API calls. /// </summary> /// <param name="reference"></param> /// <param name="required"></param> /// <returns></returns> public static bool IsValid(this ODItemReference reference, ItemReferenceRequiredField required = ItemReferenceRequiredField.Default) { if (null != reference) { bool hasId = !string.IsNullOrEmpty(reference.Id); bool hasPath = !string.IsNullOrEmpty(reference.Path); if (required == ItemReferenceRequiredField.Default) { return(hasId || hasPath); } bool isValid = true; if ((required & ItemReferenceRequiredField.Id) == ItemReferenceRequiredField.Id) { isValid &= hasId; } if ((required & ItemReferenceRequiredField.Path) == ItemReferenceRequiredField.Path) { isValid &= hasPath; } if ((required & ItemReferenceRequiredField.DriveId) == ItemReferenceRequiredField.DriveId) { isValid &= !string.IsNullOrEmpty(reference.DriveId); } return(isValid); } return(false); }
/// <summary> /// Check to see if an ODItemReference instance is valid for use to make API calls. /// </summary> /// <param name="reference"></param> /// <param name="required"></param> /// <returns></returns> public static bool IsValid(this ODItemReference reference, ItemReferenceRequiredField required = ItemReferenceRequiredField.Default) { if (null != reference) { bool hasId = !string.IsNullOrEmpty(reference.Id); bool hasPath = !string.IsNullOrEmpty(reference.Path); if (required == ItemReferenceRequiredField.Default) return (hasId || hasPath); bool isValid = true; if ((required & ItemReferenceRequiredField.Id) == ItemReferenceRequiredField.Id) isValid &= hasId; if ((required & ItemReferenceRequiredField.Path) == ItemReferenceRequiredField.Path) isValid &= hasPath; if ((required & ItemReferenceRequiredField.DriveId) == ItemReferenceRequiredField.DriveId) isValid &= !string.IsNullOrEmpty(reference.DriveId); return isValid; } return false; }