Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 internal static bool SeriesMessageOrderingEnabled(MiniRecipient mailboxOwner)
 {
     return(mailboxOwner != null && VariantConfiguration.GetSnapshot(mailboxOwner.GetContext(null), null, null).MailboxTransport.OrderSeriesMeetingMessages.Enabled);
 }
Ejemplo n.º 5
0
        public static IEasFeaturesManager Create(MiniRecipient recipient, Dictionary <EasFeature, bool> flightingOverrides)
        {
            VariantConfigurationSnapshot snapshot = VariantConfiguration.GetSnapshot(recipient.GetContext(null), null, null);

            return(new EasFeaturesManager(snapshot, flightingOverrides));
        }
Ejemplo n.º 6
0
 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);
 }
Ejemplo n.º 7
0
 private bool SeriesMessageProcessingEnabled(MiniRecipient mailOwner)
 {
     return(mailOwner != null && VariantConfiguration.GetSnapshot(mailOwner.GetContext(null), null, null).MailboxTransport.ProcessSeriesMeetingMessages.Enabled);
 }
Ejemplo n.º 8
0
 private static bool IsSharedMailboxSentItemsDeliveryAgentFeatureEnabled(MiniRecipient recipient)
 {
     return(recipient != null && VariantConfiguration.GetSnapshot(recipient.GetContext(null), null, null).SharedMailbox.SharedMailboxSentItemsDeliveryAgent.Enabled);
 }