Esempio n. 1
0
 public override void Save(MailboxStoreTypeProvider session)
 {
     using (UserConfigurationDictionaryAdapter <MRSRequest> userConfigurationDictionaryAdapter = new UserConfigurationDictionaryAdapter <MRSRequest>(session.MailboxSession, MRSRequest.GetName(this.RequestGuid), SaveMode.NoConflictResolutionForceSave, new GetUserConfigurationDelegate(UserConfigurationHelper.GetMailboxConfiguration), MRSRequestSchema.PersistedProperties))
     {
         userConfigurationDictionaryAdapter.Save(this);
     }
     base.ResetChangeTracking();
 }
Esempio n. 2
0
 public override void Delete(MailboxStoreTypeProvider session)
 {
     using (UserConfiguration mailboxConfiguration = UserConfigurationHelper.GetMailboxConfiguration(session.MailboxSession, MRSRequest.GetName(this.RequestGuid), UserConfigurationTypes.Dictionary, false))
     {
         if (mailboxConfiguration == null)
         {
             return;
         }
     }
     UserConfigurationHelper.DeleteMailboxConfiguration(session.MailboxSession, MRSRequest.GetName(this.RequestGuid));
 }
Esempio n. 3
0
        public override IConfigurable Read(MailboxStoreTypeProvider session, ObjectId identity)
        {
            Guid requestGuid = new Guid(identity.GetBytes());

            return(MRSRequest.Read <MRSRequest>(session, requestGuid));
        }
Esempio n. 4
0
        public static T Read <T>(MailboxStoreTypeProvider session, Guid requestGuid) where T : MRSRequest, new()
        {
            ExchangePrincipal principal = ExchangePrincipal.FromADUser(session.ADUser, null);
            T result;

            using (UserConfigurationDictionaryAdapter <T> userConfigurationDictionaryAdapter = new UserConfigurationDictionaryAdapter <T>(session.MailboxSession, MRSRequest.GetName(requestGuid), new GetUserConfigurationDelegate(UserConfigurationHelper.GetMailboxConfiguration), MRSRequestSchema.PersistedProperties))
            {
                try
                {
                    T t = userConfigurationDictionaryAdapter.Read(principal);
                    if (t.RequestGuid != requestGuid)
                    {
                        throw new CannotFindRequestIndexEntryException(requestGuid);
                    }
                    result = t;
                }
                catch (FormatException innerException)
                {
                    throw new CannotFindRequestIndexEntryException(requestGuid, innerException);
                }
            }
            return(result);
        }