protected void AddError(PropertyErrorException ex) { foreach (var error in ex.Errors) { ModelState.AddModelError(error.PropertyName, error.ErrorMessage); } AddErrorMessageFor(ex); }
void IMailbox.SetInTransitStatus(InTransitStatus status, out bool onlineMoveSupported) { MrsTracer.Provider.Function("StorageMailbox.SetInTransitStatus({0})", new object[] { status }); base.VerifyMailboxConnection(VerifyMailboxConnectionFlags.None); onlineMoveSupported = true; if (this.InTransitStatus == status) { return; } using (base.RHTracker.Start()) { this.StoreSession.Mailbox.SetProperties(this.ConvertPropTagsToDefinitions(new PropTag[] { PropTag.InTransitStatus }), new object[] { status }); try { this.StoreSession.Mailbox.Save(); } catch (FolderSaveException ex) { if (status != InTransitStatus.NotInTransit) { PropertyErrorException ex2 = ex.InnerException as PropertyErrorException; if (ex2 != null && ex2.PropertyErrors.Length == 1 && ex2.PropertyErrors[0].PropertyErrorCode == PropertyErrorCode.AccessDenied) { throw this.GetMailboxInTransitException(ex); } } throw; } this.StoreSession.Mailbox.Load(); } this.InTransitStatus = status; if (status.HasFlag(InTransitStatus.SyncDestination)) { this.StoreSession.MailboxMoveStage = MailboxMoveStage.OnlineMoveDestination; return; } this.StoreSession.MailboxMoveStage = MailboxMoveStage.None; }