public bool TryCreate(IMailboxSession mailboxSession, MiniRecipient miniRecipient, out IConversationCreatorSidCalculator calculator) { calculator = null; if (!this.CanSetConversationCreatorProperty(mailboxSession)) { return(false); } if (miniRecipient != null && miniRecipient.GetContext(null) != null) { calculator = this.Create(mailboxSession, miniRecipient.GetContext(null)); } else { calculator = new LegacyConversationCreatorSidCalculator(mailboxSession); } return(true); }
public IMailboxOwner Create(MiniRecipient recipient) { if (recipient == null) { return(new NullMailboxOwnerAdapter()); } if (this.session.IsGroupMailbox()) { return(new GroupMailboxOwnerAdapter()); } RecipientTypeDetails recipientTypeDetails = recipient.RecipientTypeDetails; return(new MiniRecipientMailboxOwnerAdapter(recipient, recipient.GetContext(null), recipientTypeDetails, this.session.LogonType)); }
internal static VariantConfigurationSnapshot GetSnapshot(ADRawEntry executingUser, IEnumerable <KeyValuePair <string, string> > additionalConstraints) { if (executingUser == null) { return(null); } VariantConfigurationSnapshot variantConfigurationSnapshot = null; MiniRecipient miniRecipient = new MiniRecipient(); try { try { miniRecipient[MiniRecipientSchema.UserPrincipalName] = executingUser[ADUserSchema.UserPrincipalName]; miniRecipient[ADObjectSchema.OrganizationId] = executingUser[ADObjectSchema.OrganizationId]; miniRecipient[MiniRecipientSchema.ExternalDirectoryObjectId] = executingUser[ADRecipientSchema.ExternalDirectoryObjectId]; miniRecipient[MiniRecipientSchema.Languages] = executingUser[ADOrgPersonSchema.Languages]; } catch (DataValidationException ex) { AuthZLogger.SafeAppendColumn(RpsAuthZMetadata.VariantConfigurationSnapshot, "DataValidationException", ex.Message); } ConstraintCollection constraintCollection = null; if (additionalConstraints != null) { constraintCollection = ConstraintCollection.CreateEmpty(); foreach (KeyValuePair <string, string> keyValuePair in additionalConstraints) { constraintCollection.Add(keyValuePair.Key, keyValuePair.Value); } } variantConfigurationSnapshot = VariantConfiguration.GetSnapshot(miniRecipient.GetContext(null), constraintCollection, null); AuthZLogger.SafeAppendColumn(RpsAuthZMetadata.VariantConfigurationSnapshot, "Flights", string.Join(" ", variantConfigurationSnapshot.Flights)); } catch (Exception ex2) { AuthZLogger.SafeAppendGenericError("VariantConfigurationSnapshot.Exception", ex2.Message, false); } finally { AuthZLogger.SafeAppendColumn(RpsAuthZMetadata.VariantConfigurationSnapshot, "User", executingUser[ADUserSchema.UserPrincipalName].ToString()); AuthZLogger.SafeAppendColumn(RpsAuthZMetadata.VariantConfigurationSnapshot, "Org", executingUser[ADObjectSchema.OrganizationId].ToString()); } return(variantConfigurationSnapshot); }
internal static bool SeriesMessageOrderingEnabled(MiniRecipient mailboxOwner) { return(mailboxOwner != null && VariantConfiguration.GetSnapshot(mailboxOwner.GetContext(null), null, null).MailboxTransport.OrderSeriesMeetingMessages.Enabled); }
public static IEasFeaturesManager Create(MiniRecipient recipient, Dictionary <EasFeature, bool> flightingOverrides) { VariantConfigurationSnapshot snapshot = VariantConfiguration.GetSnapshot(recipient.GetContext(null), null, null); return(new EasFeaturesManager(snapshot, flightingOverrides)); }
internal static bool IsWorkingSetAgentFeatureEnabled(MiniRecipient miniRecipient) { if (miniRecipient != null) { VariantConfigurationSnapshot snapshot = VariantConfiguration.GetSnapshot(miniRecipient.GetContext(null), null, null); return(snapshot.WorkingSet.WorkingSetAgent.Enabled); } return(false); }
private bool SeriesMessageProcessingEnabled(MiniRecipient mailOwner) { return(mailOwner != null && VariantConfiguration.GetSnapshot(mailOwner.GetContext(null), null, null).MailboxTransport.ProcessSeriesMeetingMessages.Enabled); }
private static bool IsSharedMailboxSentItemsDeliveryAgentFeatureEnabled(MiniRecipient recipient) { return(recipient != null && VariantConfiguration.GetSnapshot(recipient.GetContext(null), null, null).SharedMailbox.SharedMailboxSentItemsDeliveryAgent.Enabled); }