private static RemoteRecipientType CalculateSourceRRT(RecipientTypeDetails recipientTypeDetails) { RemoteRecipientType remoteRecipientType = RemoteRecipientType.Migrated; if (recipientTypeDetails <= RecipientTypeDetails.RoomMailbox) { if (recipientTypeDetails != RecipientTypeDetails.SharedMailbox) { if (recipientTypeDetails == RecipientTypeDetails.RoomMailbox) { remoteRecipientType |= RemoteRecipientType.RoomMailbox; } } else { remoteRecipientType |= RemoteRecipientType.SharedMailbox; } } else if (recipientTypeDetails != RecipientTypeDetails.EquipmentMailbox) { if (recipientTypeDetails == RecipientTypeDetails.TeamMailbox) { remoteRecipientType |= RemoteRecipientType.TeamMailbox; } } else { remoteRecipientType |= RemoteRecipientType.EquipmentMailbox; } return(remoteRecipientType); }
internal static PropertyConstraintViolationError ValidateRemoteRecipientType(object value, PropertyDefinition propertyDefinition, IPropertyBag propertyBag, PropertyDefinitionConstraint owner) { if (value != null && ((RemoteRecipientType)value & RemoteRecipientType.Migrated) == RemoteRecipientType.None) { RemoteRecipientType remoteRecipientType = (RemoteRecipientType)value & (RemoteRecipientType.ProvisionMailbox | RemoteRecipientType.ProvisionArchive | RemoteRecipientType.DeprovisionMailbox | RemoteRecipientType.DeprovisionArchive | RemoteRecipientType.RoomMailbox | RemoteRecipientType.EquipmentMailbox | RemoteRecipientType.TeamMailbox); if (Array.IndexOf <RemoteRecipientType>(RemoteRecipientTypeHelper.AllowedProvisionOrDeprovisionType, remoteRecipientType) == -1) { return(new PropertyConstraintViolationError(DirectoryStrings.ErrorInvalidRemoteRecipientType(remoteRecipientType.ToString()), propertyDefinition, value, owner)); } } return(null); }
public static RemoteMailboxType GetRemoteMailboxType(RemoteRecipientType remoteRecipientType) { RemoteMailboxType result = (RemoteMailboxType)((ulong)int.MinValue); RemoteRecipientType remoteRecipientType2 = remoteRecipientType & (RemoteRecipientType.RoomMailbox | RemoteRecipientType.EquipmentMailbox | RemoteRecipientType.TeamMailbox); if (remoteRecipientType2 == RemoteRecipientType.RoomMailbox) { result = RemoteMailboxType.Room; } else if (remoteRecipientType2 == RemoteRecipientType.EquipmentMailbox) { result = RemoteMailboxType.Equipment; } else if (remoteRecipientType2 == RemoteRecipientType.SharedMailbox) { result = RemoteMailboxType.Shared; } else if (remoteRecipientType2 == RemoteRecipientType.TeamMailbox) { result = RemoteMailboxType.Team; } return(result); }