protected void AddError(PropertyErrorException ex)
 {
     foreach (var error in ex.Errors)
     {
         ModelState.AddModelError(error.PropertyName, error.ErrorMessage);
     }
     AddErrorMessageFor(ex);
 }
Beispiel #2
0
 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;
 }