private EditCalendarItemPreFormAction.RedirectTo DoAction(string commandPost, EditCalendarItemHelper.CalendarItemUpdateFlags storeUpdateFlags, ref PreFormActionResponse response, out InfobarMessage infobarMessage)
        {
            infobarMessage = null;
            EditCalendarItemHelper.CalendarItemUpdateFlags calendarItemUpdateFlags = EditCalendarItemHelper.CalendarItemUpdateFlags.None;
            string text = null;

            EditCalendarItemPreFormAction.CalendarTab calendarTab = (EditCalendarItemPreFormAction.CalendarTab)RequestParser.TryGetIntValueFromForm(this.request, "hidtab", 0);
            if (Utilities.IsPostRequest(this.request) && !string.Equals(commandPost, "new", StringComparison.Ordinal) && !string.Equals(commandPost, "cls", StringComparison.Ordinal))
            {
                if (calendarTab == EditCalendarItemPreFormAction.CalendarTab.Scheduling)
                {
                    calendarItemUpdateFlags = EditCalendarItemHelper.UpdateImportance(this.calendarItemBase, this.request);
                }
                else
                {
                    calendarItemUpdateFlags = EditCalendarItemHelper.UpdateCalendarItemValues(this.calendarItemBase, this.userContext, this.request, out text);
                }
                if (!string.IsNullOrEmpty(text))
                {
                    infobarMessage = InfobarMessage.CreateText(text, InfobarMessageType.Error);
                    return(EditCalendarItemPreFormAction.RedirectTo.EditCalendarItem);
                }
                if (this.calendarItemBase.AttendeesChanged)
                {
                    calendarItemUpdateFlags |= EditCalendarItemHelper.CalendarItemUpdateFlags.AttendeesChanged;
                }
            }
            EditCalendarItemHelper.CalendarItemUpdateFlags calendarItemUpdateFlags2 = calendarItemUpdateFlags | storeUpdateFlags;
            EditCalendarItemHelper.CancelRangeType         cancelRangeType          = EditCalendarItemHelper.CancelRangeType.None;
            ExDateTime cancelFromDateTime = ExDateTime.MinValue;
            string     formParameter      = Utilities.GetFormParameter(this.request, "delprompt", false);

            if (!string.IsNullOrEmpty(formParameter))
            {
                if (string.Equals(formParameter, "2", StringComparison.Ordinal))
                {
                    cancelRangeType = EditCalendarItemHelper.CancelRangeType.All;
                }
                else if (string.Equals(formParameter, "1", StringComparison.Ordinal))
                {
                    cancelRangeType    = EditCalendarItemHelper.CancelRangeType.FromDate;
                    cancelFromDateTime = CalendarUtilities.ParseDateTimeFromForm(this.request, "seldelY", "seldelM", "seldelD", null, this.userContext);
                }
                else
                {
                    if (!string.Equals(formParameter, "0", StringComparison.Ordinal))
                    {
                        throw new OwaInvalidRequestException("Invalid cancel prompt radio button value.");
                    }
                    cancelRangeType = EditCalendarItemHelper.CancelRangeType.Occurrence;
                }
            }
            EditCalendarItemPreFormAction.RedirectTo result = EditCalendarItemPreFormAction.RedirectTo.None;
            if (commandPost != null)
            {
                if (< PrivateImplementationDetails > { 83F 8DD 10 - 61AE - 4283 - B829 - 2F 464F 055E61 }.$$method0x600016f - 1 == null)
Пример #2
0
 // Token: 0x0600000E RID: 14 RVA: 0x0000238C File Offset: 0x0000058C
 public void RenderInfobar()
 {
     if (this.ShowInfoBar)
     {
         InfobarMessage infobarMessage = InfobarMessage.CreateText(this.commitStatus, this.infobarMessageType);
         infobarMessage.IsActionResult = true;
         this.infobar.AddMessage(infobarMessage);
         this.infobar.Render(this.writer);
     }
 }
 // Token: 0x060001C1 RID: 449 RVA: 0x00010B64 File Offset: 0x0000ED64
 private static void RedirectToCompose(OwaContext owaContext, PreFormActionResponse response, string errorMessage, MessageItem message)
 {
     if (!string.IsNullOrEmpty(errorMessage))
     {
         owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateText(errorMessage, InfobarMessageType.Error);
     }
     response.ApplicationElement = ApplicationElement.Item;
     response.Type   = "IPM.Note";
     response.Action = "Open";
     response.State  = "Draft";
     response.AddParameter("id", message.Id.ObjectId.ToBase64String());
 }
Пример #4
0
        public static InfobarMessage CreateErrorMessageFromException(Exception e, UserContext userContext)
        {
            if (e == null)
            {
                throw new ArgumentNullException("e");
            }
            if (userContext == null)
            {
                throw new ArgumentNullException("userContext");
            }
            ErrorInformation exceptionHandlingInformation = Utilities.GetExceptionHandlingInformation(e, userContext.MailboxIdentity);

            return(InfobarMessage.CreateText(exceptionHandlingInformation.Message, InfobarMessageType.Error));
        }
Пример #5
0
        public bool Create(StoreObjectId destinationId, string folderClass, string folderName)
        {
            if (destinationId == null)
            {
                throw new ArgumentNullException("destinationId");
            }
            if (folderName == null)
            {
                throw new ArgumentNullException("folderName");
            }
            folderName = folderName.Trim();
            if (folderName.Length == 0)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(-41080803, InfobarMessageType.Error);
                return(false);
            }
            if (folderName.Length > 256)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(-1198351885, InfobarMessageType.Error);
                return(false);
            }
            StoreObjectType objectType = ObjectClass.GetObjectType(folderClass);

            try
            {
                using (Folder folder = Folder.Create(this.owaContext.UserContext.MailboxSession, destinationId, objectType, folderName, CreateMode.CreateNew))
                {
                    folder.ClassName = folderClass;
                    folder.Save();
                }
            }
            catch (ObjectExistedException)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(-1399945920, InfobarMessageType.Error);
                return(false);
            }
            catch (StoragePermanentException e)
            {
                InfobarMessage.PutExceptionInfoIntoContextInfobarMessage(e, this.owaContext);
                return(false);
            }
            catch (StorageTransientException e2)
            {
                InfobarMessage.PutExceptionInfoIntoContextInfobarMessage(e2, this.owaContext);
                return(false);
            }
            this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateText(string.Format(LocalizedStrings.GetNonEncoded(-22521321), folderName), InfobarMessageType.Informational);
            return(true);
        }
Пример #6
0
        private PreFormActionResponse RedirectToCompose(OwaContext owaContext, string errorMessage)
        {
            if (!string.IsNullOrEmpty(errorMessage))
            {
                owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateText(errorMessage, InfobarMessageType.Error);
            }
            PreFormActionResponse preFormActionResponse = new PreFormActionResponse();

            preFormActionResponse.ApplicationElement = ApplicationElement.Item;
            preFormActionResponse.Type   = owaContext.FormsRegistryContext.Type;
            preFormActionResponse.Action = "Open";
            preFormActionResponse.State  = "Draft";
            preFormActionResponse.AddParameter("id", this.base64ItemId);
            return(preFormActionResponse);
        }
 // Token: 0x060001C9 RID: 457 RVA: 0x0001109C File Offset: 0x0000F29C
 private static bool ValidateCalendarItemData(UserContext userContext, CalendarItemData calendarItemData, out InfobarMessage infobarMessage)
 {
     infobarMessage = null;
     if (calendarItemData == null)
     {
         throw new ArgumentNullException("calendarItemData");
     }
     if (calendarItemData.FolderId == null)
     {
         throw new ArgumentNullException("calendarItemData", "calendarItemData.FolderId is null");
     }
     if (userContext == null)
     {
         throw new ArgumentNullException("userContext");
     }
     if (userContext.MailboxSession == null)
     {
         throw new ArgumentNullException("userContext", "userContext.MailboxSession is null");
     }
     using (CalendarItem calendarItem = CalendarItem.Create(userContext.MailboxSession, userContext.CalendarFolderId))
     {
         LocalizedException ex = null;
         try
         {
             calendarItemData.CopyTo(calendarItem);
             calendarItem.Validate();
         }
         catch (StoragePermanentException ex2)
         {
             ex = ex2;
         }
         catch (StorageTransientException ex3)
         {
             ex = ex3;
         }
         if (ex != null)
         {
             ErrorInformation exceptionHandlingInformation = Utilities.GetExceptionHandlingInformation(ex, userContext.MailboxIdentity);
             string           messageText = exceptionHandlingInformation.Message;
             if (ex is CorruptDataException && calendarItemData.EndTime < calendarItemData.StartTime)
             {
                 messageText = LocalizedStrings.GetNonEncoded(2047223147);
             }
             infobarMessage = InfobarMessage.CreateText(messageText, InfobarMessageType.Error);
         }
     }
     return(infobarMessage == null);
 }
Пример #8
0
 private static void RedirectToCompose(EditContactHelper helper, OwaContext owaContext, PreFormActionResponse response, string errorMessage)
 {
     if (!string.IsNullOrEmpty(errorMessage))
     {
         owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateText(errorMessage, InfobarMessageType.Error);
     }
     helper.Contact.Load();
     response.ApplicationElement = ApplicationElement.Item;
     response.Type   = "IPM.Contact";
     response.Action = "Open";
     response.State  = "Draft";
     if (helper.Contact.Id != null)
     {
         response.AddParameter("id", helper.Contact.Id.ObjectId.ToBase64String());
     }
 }
Пример #9
0
 internal void AddMessageText(string messageText, InfobarMessageType type)
 {
     this.messages.Add(InfobarMessage.CreateText(messageText, type));
 }
Пример #10
0
        public bool Rename(StoreObjectId destinationId, string folderName)
        {
            if (destinationId == null)
            {
                throw new ArgumentNullException("destinationId");
            }
            if (folderName == null)
            {
                throw new ArgumentNullException("folderName");
            }
            folderName = folderName.Trim();
            if (folderName.Length == 0)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(615663605, InfobarMessageType.Error);
                return(false);
            }
            if (folderName.Length > 256)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(-1198351885, InfobarMessageType.Error);
                return(false);
            }
            StoreObjectType  objectType = destinationId.ObjectType;
            FolderSaveResult folderSaveResult;

            try
            {
                Folder folder2;
                Folder folder = folder2 = Folder.Bind(this.owaContext.UserContext.MailboxSession, destinationId);
                try
                {
                    folder.DisplayName = folderName;
                    folderSaveResult   = folder.Save();
                }
                finally
                {
                    if (folder2 != null)
                    {
                        ((IDisposable)folder2).Dispose();
                    }
                }
            }
            catch (ObjectNotFoundException)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(2106120183, InfobarMessageType.Error);
                return(false);
            }
            catch (ObjectValidationException)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(2103130667, InfobarMessageType.Error);
                return(false);
            }
            catch (InvalidOperationException)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(2103130667, InfobarMessageType.Error);
                return(false);
            }
            catch (StoragePermanentException e)
            {
                InfobarMessage.PutExceptionInfoIntoContextInfobarMessage(e, this.owaContext);
                return(false);
            }
            catch (StorageTransientException e2)
            {
                InfobarMessage.PutExceptionInfoIntoContextInfobarMessage(e2, this.owaContext);
                return(false);
            }
            if (folderSaveResult.OperationResult != OperationResult.Succeeded)
            {
                if (folderSaveResult.PropertyErrors.Length > 0)
                {
                    switch (folderSaveResult.PropertyErrors[0].PropertyErrorCode)
                    {
                    case PropertyErrorCode.MapiCallFailed:
                        this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(2103130667, InfobarMessageType.Error);
                        return(false);

                    case PropertyErrorCode.FolderNameConflict:
                        this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(1602494619, InfobarMessageType.Error);
                        return(false);
                    }
                }
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(2103130667, InfobarMessageType.Error);
                return(false);
            }
            this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateText(string.Format(LocalizedStrings.GetNonEncoded(-889243793), folderName), InfobarMessageType.Informational);
            return(true);
        }
Пример #11
0
        public bool Move(StoreObjectId sourceId, StoreObjectId destinationId)
        {
            OperationResult          operationResult = OperationResult.Succeeded;
            string                   arg             = string.Empty;
            AggregateOperationResult aggregateOperationResult;

            try
            {
                using (Folder folder = Folder.Bind(this.owaContext.UserContext.MailboxSession, sourceId, new PropertyDefinition[]
                {
                    FolderSchema.DisplayName
                }))
                {
                    arg = folder.DisplayName;
                }
                aggregateOperationResult = this.owaContext.UserContext.MailboxSession.Move(destinationId, new StoreId[]
                {
                    sourceId
                });
                operationResult = aggregateOperationResult.OperationResult;
            }
            catch (ObjectNotFoundException)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(2106120183, InfobarMessageType.Error);
                return(false);
            }
            catch (InvalidOperationException)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(442250020, InfobarMessageType.Error);
                return(false);
            }
            catch (StoragePermanentException e)
            {
                InfobarMessage.PutExceptionInfoIntoContextInfobarMessage(e, this.owaContext);
                return(false);
            }
            catch (StorageTransientException e2)
            {
                InfobarMessage.PutExceptionInfoIntoContextInfobarMessage(e2, this.owaContext);
                return(false);
            }
            if (operationResult == OperationResult.Failed)
            {
                int i = 0;
                while (i < aggregateOperationResult.GroupOperationResults.Length)
                {
                    GroupOperationResult groupOperationResult = aggregateOperationResult.GroupOperationResults[i];
                    if (groupOperationResult.OperationResult != OperationResult.Succeeded)
                    {
                        if (groupOperationResult.Exception is CannotMoveDefaultFolderException)
                        {
                            this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(442250020, InfobarMessageType.Error);
                            return(false);
                        }
                        if (groupOperationResult.Exception is ObjectExistedException)
                        {
                            this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(896702607, InfobarMessageType.Error);
                            return(false);
                        }
                        InfobarMessage.PutExceptionInfoIntoContextInfobarMessage(aggregateOperationResult.GroupOperationResults[i].Exception, this.owaContext);
                        return(false);
                    }
                    else
                    {
                        i++;
                    }
                }
            }
            else if (operationResult == OperationResult.PartiallySucceeded)
            {
                this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateLocalized(-1093060331, InfobarMessageType.Error);
                return(false);
            }
            this.owaContext[OwaContextProperty.InfobarMessage] = InfobarMessage.CreateText(string.Format(LocalizedStrings.GetNonEncoded(2053728082), arg), InfobarMessageType.Informational);
            return(true);
        }