Exemplo n.º 1
0
        public static EditCalendarItemHelper.CalendarItemUpdateFlags GetCalendarItem(UserContext userContext, StoreObjectId storeObjectId, StoreObjectId folderId, string changeKey, bool syncCalendarItem, out CalendarItemBase calendarItemBase)
        {
            if (userContext == null)
            {
                throw new ArgumentNullException("userContext");
            }
            EditCalendarItemHelper.CalendarItemUpdateFlags result = EditCalendarItemHelper.CalendarItemUpdateFlags.None;
            CalendarItemBaseData calendarItemBaseData             = EditCalendarItemHelper.GetUserContextData(userContext);

            if (calendarItemBaseData != null && !string.IsNullOrEmpty(calendarItemBaseData.ChangeKey) && string.IsNullOrEmpty(changeKey))
            {
                changeKey = calendarItemBaseData.ChangeKey;
            }
            calendarItemBase = null;
            if (storeObjectId != null)
            {
                if (!string.IsNullOrEmpty(changeKey))
                {
                    calendarItemBase = Utilities.GetItem <CalendarItemBase>(userContext, storeObjectId, changeKey, new PropertyDefinition[0]);
                }
                else
                {
                    calendarItemBase = Utilities.GetItem <CalendarItemBase>(userContext, storeObjectId, new PropertyDefinition[0]);
                }
            }
            if (calendarItemBase == null)
            {
                if (calendarItemBaseData != null && calendarItemBaseData.FolderId != null)
                {
                    calendarItemBase = EditCalendarItemHelper.CreateDraft(userContext, calendarItemBaseData.FolderId);
                }
                else
                {
                    calendarItemBase = EditCalendarItemHelper.CreateDraft(userContext, folderId);
                }
                if (calendarItemBaseData != null && calendarItemBaseData.IsMeeting != calendarItemBase.IsMeeting)
                {
                    calendarItemBase.IsMeeting = calendarItemBaseData.IsMeeting;
                }
            }
            if (calendarItemBaseData != null && syncCalendarItem)
            {
                result = calendarItemBaseData.CopyTo(calendarItemBase);
            }
            else
            {
                if (calendarItemBaseData == null)
                {
                    calendarItemBaseData = CalendarItemBaseData.Create(calendarItemBase);
                }
                EditCalendarItemHelper.SetUserContextData(userContext, calendarItemBaseData);
            }
            return(result);
        }
        // Token: 0x0600042F RID: 1071 RVA: 0x00023760 File Offset: 0x00021960
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            if (base.OwaContext.FormsRegistryContext.Action != null)
            {
                this.action = base.OwaContext.FormsRegistryContext.Action;
            }
            if (string.IsNullOrEmpty(this.action))
            {
                this.messageIdString = Utilities.GetQueryStringParameter(base.Request, "id", true);
                this.changeKeyString = null;
            }
            else
            {
                this.messageIdString = Utilities.GetFormParameter(base.Request, "hidid", true);
                this.changeKeyString = Utilities.GetFormParameter(base.Request, "hidchk", true);
            }
            this.GetItem();
            string a;

            if ((a = this.action) != null)
            {
                if (!(a == "Add"))
                {
                    if (a == "Del")
                    {
                        if (Utilities.GetFormParameter(base.Request, "dLst", false) != null)
                        {
                            this.RemoveAttachments();
                        }
                    }
                }
                else
                {
                    this.AddAttachments();
                }
            }
            this.attachmentList = AttachmentWell.GetAttachmentInformation(base.Item, base.AttachmentLinks, base.UserContext.IsPublicLogon);
            if (base.Item is Contact)
            {
                OwaForm.RemoveContactPhoto(this.attachmentList);
            }
            CalendarItemBaseData userContextData = EditCalendarItemHelper.GetUserContextData(base.UserContext);

            if (userContextData != null && userContextData.Id != null && !string.IsNullOrEmpty("hidchk") && userContextData.Id.Equals(base.Item.Id.ObjectId) && userContextData.ChangeKey != this.changeKeyString)
            {
                userContextData.ChangeKey = this.changeKeyString;
            }
            this.levelOneFound = AttachmentUtility.IsLevelOneAndBlock(this.attachmentList);
        }