public override void Save(MailboxStoreTypeProvider session) { if (!(this.RequestGuid == Guid.Empty)) { SmtpAddress smtpAddress = this.SmtpAddress; if (!string.IsNullOrEmpty(this.SmtpAddress.ToString())) { AggregatedAccountListConfiguration aggregatedAccountListConfiguration = this.Read(session, null) as AggregatedAccountListConfiguration; if (aggregatedAccountListConfiguration != null) { this.AggregatedAccountList = aggregatedAccountListConfiguration.AggregatedAccountList; } if (this.AggregatedAccountList == null) { this.AggregatedAccountList = new List <AggregatedAccountInfo>(); } AggregatedAccountInfo aggregatedAccountInfo = this.AggregatedAccountList.Find((AggregatedAccountInfo account) => account.RequestGuid == this.RequestGuid); if (aggregatedAccountInfo == null) { this.AggregatedAccountList.Add(new AggregatedAccountInfo(this.AggregatedMailboxGuid, this.SmtpAddress, this.RequestGuid)); } else { aggregatedAccountInfo.SmtpAddress = aggregatedAccountInfo.SmtpAddress; } this.UpdateFAI(session); return; } } }
// Token: 0x06000A62 RID: 2658 RVA: 0x0004446C File Offset: 0x0004266C internal static bool TryLoadRegionalConfiguration(MailboxSession session, out MailboxRegionalConfiguration regionalConfiguration) { regionalConfiguration = null; ADUser aduser = Utils.GetADRecipient(UserSettings.GetExternalDirectoryOrganizationId(session), session.MailboxOwnerLegacyDN) as ADUser; if (aduser == null) { Utils.Tracer.TraceError <string>((long)typeof(MailboxData).GetHashCode(), "Can't find AD recipient by mailbox owner's DN {0}", session.MailboxOwnerLegacyDN); return(false); } MailboxStoreTypeProvider mailboxStoreTypeProvider = new MailboxStoreTypeProvider(aduser); mailboxStoreTypeProvider.MailboxSession = session; try { regionalConfiguration = (MailboxRegionalConfiguration)mailboxStoreTypeProvider.Read <MailboxRegionalConfiguration>(session.MailboxOwner.ObjectId); } catch (FormatException arg) { Utils.Tracer.TraceError <ADObjectId, FormatException>((long)typeof(MailboxData).GetHashCode(), "MailboxRegionalConfiguration cannot be retrieved for user {0}. Error: {1}", session.MailboxOwner.ObjectId, arg); return(false); } if (regionalConfiguration == null || null == regionalConfiguration.TimeZone || regionalConfiguration.TimeZone.ExTimeZone == null) { Utils.Tracer.TraceError <ADObjectId>((long)typeof(MailboxData).GetHashCode(), "User {0} doesn't set a valid RegionalConfiguration or TimeZone", session.MailboxOwner.ObjectId); return(false); } return(true); }
public override MRSRequestMailboxEntry Read(RequestIndexEntryProvider requestIndexEntryProvider, RequestIndexEntryObjectId identity) { this.ValidateRequestIndexId(identity.IndexId); ADUser aduser = requestIndexEntryProvider.ReadADUser(identity.IndexId.Mailbox, Guid.Empty); if (aduser == null) { return(null); } ExchangePrincipal mailboxOwner = ExchangePrincipal.FromADUser(aduser, RemotingOptions.AllowCrossSite); MRSRequestMailboxEntry result; using (MailboxSession mailboxSession = MailboxSession.OpenAsAdmin(mailboxOwner, CultureInfo.InvariantCulture, "Client=MSExchangeMigration")) { MailboxStoreTypeProvider session = new MailboxStoreTypeProvider(aduser) { MailboxSession = mailboxSession }; MRSRequestMailboxEntry mrsrequestMailboxEntry = MRSRequest.Read <MRSRequestMailboxEntry>(session, identity.RequestGuid); mrsrequestMailboxEntry.RequestIndexId = identity.IndexId; mrsrequestMailboxEntry.OrganizationId = identity.OrganizationId; result = mrsrequestMailboxEntry; } return(result); }
protected override void InternalProcessRecord() { base.InternalProcessRecord(); MailboxStoreTypeProvider mailboxStoreTypeProvider = null; try { mailboxStoreTypeProvider = (MailboxStoreTypeProvider)this.CreateSession(); if (this.LocalizeDefaultFolderName.IsPresent) { Exception[] array; mailboxStoreTypeProvider.MailboxSession.LocalizeDefaultFolders(out array); if (array != null && array.Length > 0) { base.WriteError(new InvalidOperationException(Strings.ErrorCannotLocalizeDefaultFolders(this.Identity.ToString(), array[0].Message), array[0]), ErrorCategory.InvalidOperation, this.Identity); } } mailboxStoreTypeProvider.MailboxSession.SetMailboxLocale(); } finally { if (mailboxStoreTypeProvider != null && mailboxStoreTypeProvider.MailboxSession != null) { mailboxStoreTypeProvider.MailboxSession.Dispose(); mailboxStoreTypeProvider.MailboxSession = null; } } }
protected override IConfigDataProvider CreateMailboxDataProvider(ADUser adUser) { MailboxStoreTypeProvider mailboxStoreTypeProvider = new MailboxStoreTypeProvider(adUser); ExchangePrincipal principal = ExchangePrincipal.FromADUser(base.SessionSettings, adUser, RemotingOptions.AllowCrossSite); mailboxStoreTypeProvider.MailboxSession = StoreTasksHelper.OpenMailboxSession(principal, "Set-MailboxConfiguration", this.LocalizeDefaultFolderName.IsPresent); return(mailboxStoreTypeProvider); }
private void UpdateFAI(MailboxStoreTypeProvider session) { using (UserConfigurationXmlAdapter <AggregatedAccountListConfiguration> userConfigurationXmlAdapter = new UserConfigurationXmlAdapter <AggregatedAccountListConfiguration>(session.MailboxSession, "AggregatedAccountList", SaveMode.ResolveConflicts, new GetUserConfigurationDelegate(UserConfigurationHelper.GetMailboxConfiguration), AggregatedAccountListConfiguration.property)) { userConfigurationXmlAdapter.Save(this); } base.ResetChangeTracking(); }
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(); }
public override void Save(MailboxStoreTypeProvider session) { using (UserConfigurationDictionaryAdapter <MailboxSpellingConfiguration> userConfigurationDictionaryAdapter = new UserConfigurationDictionaryAdapter <MailboxSpellingConfiguration>(session.MailboxSession, "OWA.UserOptions", new GetUserConfigurationDelegate(UserConfigurationHelper.GetMailboxConfiguration), MailboxSpellingConfiguration.mailboxProperties)) { userConfigurationDictionaryAdapter.Save(this); } base.ResetChangeTracking(); }
public override void Save(MailboxStoreTypeProvider session) { using (UserConfigurationDictionaryAdapter <AggregatedAccountConfiguration> userConfigurationDictionaryAdapter = new UserConfigurationDictionaryAdapter <AggregatedAccountConfiguration>(session.MailboxSession, "AggregatedAccount", SaveMode.NoConflictResolutionForceSave, new GetUserConfigurationDelegate(UserConfigurationHelper.GetMailboxConfiguration), AggregatedAccountConfiguration.aggregatedAccountProperties)) { userConfigurationDictionaryAdapter.Save(this); } base.ResetChangeTracking(); }
protected override void WriteResult(IConfigurable dataObject) { if (this.VerifyDefaultFolderNameLanguage.IsPresent) { MailboxStoreTypeProvider mailboxStoreTypeProvider = (MailboxStoreTypeProvider)base.DataSession; ((MailboxRegionalConfiguration)dataObject).DefaultFolderNameMatchingUserLanguage = mailboxStoreTypeProvider.MailboxSession.VerifyDefaultFolderLocalization(); } base.WriteResult(dataObject); }
public override void Delete(MailboxStoreTypeProvider session) { using (UserConfiguration mailboxConfiguration = UserConfigurationHelper.GetMailboxConfiguration(session.MailboxSession, "AggregatedAccount", UserConfigurationTypes.Dictionary, false)) { if (mailboxConfiguration == null) { return; } } UserConfigurationHelper.DeleteMailboxConfiguration(session.MailboxSession, "AggregatedAccount"); }
public IEnumerable <T> FindPaged <T>(MailboxStoreTypeProvider session, QueryFilter filter, ObjectId rootId, bool deepSearch, SortBy sortBy, int pageSize) { T t = (T)((object)this.Read(session, session.ADUser.Identity)); List <T> list = new List <T>(); if (t != null) { list.Add(t); } return(list); }
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)); }
public override IConfigurable Read(MailboxStoreTypeProvider session, ObjectId identity) { base.Principal = ExchangePrincipal.FromADUser(session.ADUser, null); IConfigurable result; using (UserConfigurationXmlAdapter <AggregatedAccountListConfiguration> userConfigurationXmlAdapter = new UserConfigurationXmlAdapter <AggregatedAccountListConfiguration>(session.MailboxSession, "AggregatedAccountList", SaveMode.NoConflictResolution, new GetUserConfigurationDelegate(UserConfigurationHelper.GetMailboxConfiguration), new GetReadableUserConfigurationDelegate(UserConfigurationHelper.GetReadOnlyMailboxConfiguration), AggregatedAccountListConfiguration.property)) { result = userConfigurationXmlAdapter.Read(base.Principal); } return(result); }
public override IConfigurable Read(MailboxStoreTypeProvider session, ObjectId identity) { base.Principal = ExchangePrincipal.FromADUser(session.ADUser, null); IConfigurable result; using (UserConfigurationDictionaryAdapter <MailboxSpellingConfiguration> userConfigurationDictionaryAdapter = new UserConfigurationDictionaryAdapter <MailboxSpellingConfiguration>(session.MailboxSession, "OWA.UserOptions", new GetUserConfigurationDelegate(UserConfigurationHelper.GetMailboxConfiguration), MailboxSpellingConfiguration.mailboxProperties)) { result = userConfigurationDictionaryAdapter.Read(base.Principal); } return(result); }
public override void Save(MailboxStoreTypeProvider session) { using (UserConfigurationDictionaryAdapter <MailboxRegionalConfiguration> userConfigurationDictionaryAdapter = new UserConfigurationDictionaryAdapter <MailboxRegionalConfiguration>(session.MailboxSession, "OWA.UserOptions", new GetUserConfigurationDelegate(UserConfigurationHelper.GetMailboxConfiguration), MailboxRegionalConfiguration.mailboxProperties)) { userConfigurationDictionaryAdapter.Save(this); } if (base.IsModified(MailboxRegionalConfigurationSchema.Language) && this.Language != null) { this.SaveCultures(session.MailboxSession.GetADRecipientSession(false, ConsistencyMode.FullyConsistent)); } base.ResetChangeTracking(); }
internal static void CleanupMailboxStoreTypeProvider(IConfigDataProvider provider) { if (provider != null) { MailboxStoreTypeProvider mailboxStoreTypeProvider = (MailboxStoreTypeProvider)provider; if (mailboxStoreTypeProvider.MailboxSession != null) { mailboxStoreTypeProvider.MailboxSession.Dispose(); mailboxStoreTypeProvider.MailboxSession = null; } } }
public override IConfigurable Read(MailboxStoreTypeProvider session, ObjectId identity) { base.Principal = ExchangePrincipal.FromADUser(session.ADUser, null); using (UserConfigurationDictionaryAdapter <MailboxRegionalConfiguration> userConfigurationDictionaryAdapter = new UserConfigurationDictionaryAdapter <MailboxRegionalConfiguration>(session.MailboxSession, "OWA.UserOptions", new GetUserConfigurationDelegate(UserConfigurationHelper.GetMailboxConfiguration), MailboxRegionalConfiguration.mailboxProperties)) { userConfigurationDictionaryAdapter.Fill(this); } if (base.Principal.PreferredCultures.Any <CultureInfo>()) { this.Language = base.Principal.PreferredCultures.First <CultureInfo>(); } return(this); }
public override void Save(MailboxStoreTypeProvider session) { using (WorkingHoursAdapter <MailboxCalendarConfiguration> workingHoursAdapter = new WorkingHoursAdapter <MailboxCalendarConfiguration>(session.MailboxSession)) { using (UserConfigurationDictionaryAdapter <MailboxCalendarConfiguration> userConfigurationDictionaryAdapter = new UserConfigurationDictionaryAdapter <MailboxCalendarConfiguration>(session.MailboxSession, "OWA.UserOptions", new GetUserConfigurationDelegate(UserConfigurationHelper.GetMailboxConfiguration), MailboxCalendarConfiguration.mailboxProperties)) { using (UserConfigurationDictionaryAdapter <MailboxCalendarConfiguration> userConfigurationDictionaryAdapter2 = new UserConfigurationDictionaryAdapter <MailboxCalendarConfiguration>(session.MailboxSession, "Calendar", new GetUserConfigurationDelegate(UserConfigurationHelper.GetCalendarConfiguration), MailboxCalendarConfiguration.calendarProperties)) { workingHoursAdapter.Save(this); userConfigurationDictionaryAdapter.Save(this); userConfigurationDictionaryAdapter2.Save(this); base.ResetChangeTracking(); } } } }
public override void Delete(RequestIndexEntryProvider requestIndexEntryProvider, MRSRequestMailboxEntry instance) { this.ValidateRequestIndexId(instance.RequestIndexId); ADUser aduser = requestIndexEntryProvider.ReadADUser(instance.RequestIndexId.Mailbox, Guid.Empty); if (instance.Principal == null) { instance.Principal = ExchangePrincipal.FromADUser(aduser, RemotingOptions.AllowCrossSite); } using (MailboxSession mailboxSession = MailboxSession.OpenAsAdmin(instance.Principal, CultureInfo.InvariantCulture, "Client=MSExchangeMigration")) { MailboxStoreTypeProvider session = new MailboxStoreTypeProvider(aduser) { MailboxSession = mailboxSession }; instance.Delete(session); } }
public override void Delete(MailboxStoreTypeProvider session) { AggregatedAccountListConfiguration aggregatedAccountListConfiguration = this.Read(session, null) as AggregatedAccountListConfiguration; if (aggregatedAccountListConfiguration != null) { this.AggregatedAccountList = aggregatedAccountListConfiguration.AggregatedAccountList; } if (this.AggregatedAccountList != null) { this.AggregatedAccountList = this.AggregatedAccountList.FindAll((AggregatedAccountInfo account) => account.RequestGuid != this.RequestGuid); } if (this.AggregatedAccountList == null || this.AggregatedAccountList.Count == 0) { UserConfigurationHelper.DeleteMailboxConfiguration(session.MailboxSession, "AggregatedAccountList"); return; } this.UpdateFAI(session); }
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); }
// Token: 0x06001664 RID: 5732 RVA: 0x0007E0B0 File Offset: 0x0007C2B0 internal static ExTimeZone LoadRegionalConfiguration(ADUser adUser, MailboxSession session) { ExTraceGlobals.HeuristicsTracer.TraceFunction(0L, "ReminderTimeCalculatorContext.LoadRegionalConfiguration"); MailboxStoreTypeProvider mailboxStoreTypeProvider = new MailboxStoreTypeProvider(adUser); mailboxStoreTypeProvider.MailboxSession = session; MailboxRegionalConfiguration mailboxRegionalConfiguration = null; try { mailboxRegionalConfiguration = (MailboxRegionalConfiguration)mailboxStoreTypeProvider.Read <MailboxRegionalConfiguration>(session.MailboxOwner.ObjectId); } catch (FormatException arg) { ExTraceGlobals.GeneralTracer.TraceError <IExchangePrincipal, FormatException>(0L, "User '{0}' doesn't have a valid regional configuration - {1}", session.MailboxOwner, arg); } if (mailboxRegionalConfiguration != null && mailboxRegionalConfiguration.TimeZone != null) { ExTraceGlobals.HeuristicsTracer.TraceDebug <string, IExchangePrincipal>(0L, "Found time zone {0} for User '{0}'", mailboxRegionalConfiguration.TimeZone.ExTimeZone.ToString(), session.MailboxOwner); return(mailboxRegionalConfiguration.TimeZone.ExTimeZone); } ExTraceGlobals.HeuristicsTracer.TraceDebug <IExchangePrincipal>(0L, "User '{0}' doesn't have a valid regional configuration - using UTC as default time zone", session.MailboxOwner); return(ExTimeZone.UtcTimeZone); }
public override IConfigurable Read(MailboxStoreTypeProvider session, ObjectId identity) { Guid requestGuid = new Guid(identity.GetBytes()); return(MRSRequest.Read <MRSRequest>(session, requestGuid)); }
public IConfigurable[] Find(MailboxStoreTypeProvider session, QueryFilter filter, ObjectId rootId, bool deepSearch, SortBy sortBy) { throw new NotImplementedException(); }
public abstract IConfigurable Read(MailboxStoreTypeProvider session, ObjectId identity);
public virtual void Delete(MailboxStoreTypeProvider session) { throw new NotImplementedException(); }
public abstract void Save(MailboxStoreTypeProvider session);