Beispiel #1
0
        private static void InternalGetFolderViewStates(UserContext userContext, CalendarFolder folder, ref ExDateTime[] days, ref CalendarViewType viewType, out int viewWidth, out ReadingPanePosition readingPanePosition)
        {
            FolderViewStates folderViewStates = userContext.GetFolderViewStates(folder);

            CalendarUtilities.GetCalendarViewParamsFromViewStates(folderViewStates, out viewWidth, ref viewType, out readingPanePosition);
            days = CalendarUtilities.GetViewDays(userContext, days, viewType, OwaStoreObjectId.CreateFromStoreObject(folder), folderViewStates);
        }
Beispiel #2
0
        internal CalendarAdapterCollection(UserContext userContext, OwaStoreObjectId[] folderIds, CalendarViewType viewType)
        {
            if (userContext == null)
            {
                throw new ArgumentNullException("userContext");
            }
            if (folderIds == null)
            {
                throw new ArgumentNullException("folderIds");
            }
            if (folderIds.Length == 0)
            {
                throw new ArgumentException("Length of folderIds cannot be 0");
            }
            this.userContext      = userContext;
            this.folderIds        = folderIds;
            this.PropertyFolderId = (folderIds[0].IsPublic ? folderIds[0] : userContext.CalendarFolderOwaId);
            this.propertyFolder   = Utilities.GetFolderForContent <CalendarFolder>(userContext, this.PropertyFolderId, CalendarUtilities.FolderViewProperties);
            this.folderViewStates = userContext.GetFolderViewStates(this.propertyFolder);
            int viewWidth;
            ReadingPanePosition readingPanePosition;

            CalendarUtilities.GetCalendarViewParamsFromViewStates(this.folderViewStates, out viewWidth, ref viewType, out readingPanePosition);
            this.ViewWidth           = viewWidth;
            this.ViewType            = viewType;
            this.ReadingPanePosition = readingPanePosition;
        }
Beispiel #3
0
        public static bool BodyChanged(string newBodyText, CalendarItemBase origionalCalendarItemBase)
        {
            int    num             = string.IsNullOrEmpty(newBodyText) ? 0 : newBodyText.Length;
            string partialTextBody = origionalCalendarItemBase.Body.GetPartialTextBody(num + 1);

            return(!CalendarUtilities.StringsEqualNullEmpty(newBodyText, partialTextBody, StringComparison.CurrentCulture));
        }
Beispiel #4
0
        private static SanitizedHtmlString BuildCancelRecurringTable(CalendarItemType type, ExDateTime cancelFromDate)
        {
            SanitizingStringBuilder <OwaHtml> sanitizingStringBuilder = new SanitizingStringBuilder <OwaHtml>("<table class=\"caltm\" cellpadding=\"0\" cellspacing=\"0\">");

            if (type == CalendarItemType.Single)
            {
                throw new ArgumentException("Unhandled calendar item type.");
            }
            bool flag = true;

            if (type == CalendarItemType.Exception || type == CalendarItemType.Occurrence)
            {
                sanitizingStringBuilder.Append("<tr><td class=\"rb\"><input class=\"rb\" type=\"radio\" name=\"delprompt\" checked=\"checked\" id=\"delocc\" value=\"0\" />\n<label class=\"lb\" for=\"delocc\">");
                sanitizingStringBuilder.Append(LocalizedStrings.GetNonEncoded(-673339501));
                sanitizingStringBuilder.Append("</label></td></tr>");
                flag = false;
            }
            sanitizingStringBuilder.Append("<tr><td><input class=\"rb\" type=\"radio\" name=\"delprompt\" ");
            sanitizingStringBuilder.Append(flag ? "checked " : string.Empty);
            sanitizingStringBuilder.Append("id=\"delfwd\" value=\"1\" />\n<label class=\"lb\" for=\"delfwd\">");
            sanitizingStringBuilder.Append(string.Format(LocalizedStrings.GetNonEncoded(-1062918861), string.Empty));
            sanitizingStringBuilder.Append("</label></td>");
            using (SanitizingStringWriter <OwaHtml> sanitizingStringWriter = new SanitizingStringWriter <OwaHtml>())
            {
                CalendarUtilities.RenderDateTimeTable(sanitizingStringWriter, "seldel", cancelFromDate, DateTimeUtilities.GetLocalTime().Year, null, string.Empty, "onSelDelTm(this);", null);
                sanitizingStringBuilder.Append("<td>");
                sanitizingStringBuilder.Append <SanitizedHtmlString>(sanitizingStringWriter.ToSanitizedString <SanitizedHtmlString>());
                sanitizingStringBuilder.Append("</td></tr>");
            }
            sanitizingStringBuilder.Append("<tr><td><input class=\"rb\" type=\"radio\" name=\"delprompt\" id=\"delall\" value=\"2\" />\n<label class=\"lb\" for=\"delall\">");
            sanitizingStringBuilder.Append(LocalizedStrings.GetNonEncoded(1631668395));
            sanitizingStringBuilder.Append("</label></td></tr></table>");
            return(sanitizingStringBuilder.ToSanitizedString <SanitizedHtmlString>());
        }
        // Token: 0x060000C8 RID: 200 RVA: 0x00007634 File Offset: 0x00005834
        internal override IEnumerator <Participant> GetRecipientCollection(RecipientWellType type)
        {
            if (this.calendarItemBase != null)
            {
                AttendeeType attendeeType;
                switch (type)
                {
                case RecipientWellType.Cc:
                    attendeeType = AttendeeType.Optional;
                    goto IL_69;

                case RecipientWellType.Bcc:
                    attendeeType = AttendeeType.Resource;
                    goto IL_69;
                }
                attendeeType = AttendeeType.Required;
IL_69:
                foreach (Attendee attendee in this.calendarItemBase.AttendeeCollection)
                {
                    if (CalendarUtilities.IsExpectedTypeAttendee(attendee, attendeeType))
                    {
                        yield return(attendee.Participant);
                    }
                }
            }
            yield break;
        }
Beispiel #6
0
 private static bool ParseDateTimeRange(HttpRequest request, CalendarItemBase calendarItem, bool isAllDayEvent, bool autoFixEndDate, out string errorMessage, out EditCalendarItemHelper.CalendarItemUpdateFlags updateFlags, UserContext userContext)
 {
     updateFlags  = EditCalendarItemHelper.CalendarItemUpdateFlags.None;
     errorMessage = null;
     if (!string.IsNullOrEmpty(Utilities.GetFormParameter(request, "selSM", false)))
     {
         ExDateTime exDateTime  = CalendarUtilities.ParseDateTimeFromForm(request, "selSY", "selSM", "selSD", isAllDayEvent ? null : "selST", userContext);
         ExDateTime exDateTime2 = CalendarUtilities.ParseDateTimeFromForm(request, "selEY", "selEM", "selED", isAllDayEvent ? null : "selET", userContext);
         if (isAllDayEvent)
         {
             exDateTime2 = exDateTime2.IncrementDays(1);
         }
         if (exDateTime > exDateTime2)
         {
             if (!autoFixEndDate)
             {
                 errorMessage = LocalizedStrings.GetNonEncoded(107113300);
                 return(false);
             }
             exDateTime2 = exDateTime.AddMinutes(60.0);
         }
         if (!exDateTime.Equals(calendarItem.StartTime))
         {
             updateFlags           |= EditCalendarItemHelper.CalendarItemUpdateFlags.TimeChanged;
             calendarItem.StartTime = exDateTime;
         }
         if (!exDateTime2.Equals(calendarItem.EndTime))
         {
             updateFlags         |= EditCalendarItemHelper.CalendarItemUpdateFlags.TimeChanged;
             calendarItem.EndTime = exDateTime2;
         }
     }
     return(true);
 }
Beispiel #7
0
 // Token: 0x06000568 RID: 1384 RVA: 0x0002AD25 File Offset: 0x00028F25
 public void RenderRangeEndByControls(TextWriter writer)
 {
     if (writer == null)
     {
         throw new ArgumentNullException("writer");
     }
     CalendarUtilities.RenderDateTimeTable(writer, "selE", this.EndRangeDateTime, this.lastAccessedYear, null, string.Empty, "onChg();", string.Empty);
 }
Beispiel #8
0
 // Token: 0x060004C0 RID: 1216 RVA: 0x00027850 File Offset: 0x00025A50
 public void RenderStartDateTime(TextWriter writer)
 {
     if (writer == null)
     {
         throw new ArgumentNullException("writer");
     }
     CalendarUtilities.RenderDateTimeTable(writer, "selS", this.CalendarItemBase.StartTime, this.lastAccessedYear, base.UserContext.UserOptions.TimeFormat, string.Empty, "dtrpOnChange(this);", string.Empty);
 }
Beispiel #9
0
 // Token: 0x06000567 RID: 1383 RVA: 0x0002ACD4 File Offset: 0x00028ED4
 public void RenderRangeStartDateControls(TextWriter writer)
 {
     if (writer == null)
     {
         throw new ArgumentNullException("writer");
     }
     CalendarUtilities.RenderDateTimeTable(writer, "selS", this.calendarItemData.Recurrence.Range.StartDate, this.lastAccessedYear, null, string.Empty, "onChg();", string.Empty);
 }
Beispiel #10
0
 // Token: 0x06002388 RID: 9096 RVA: 0x000CC62A File Offset: 0x000CA82A
 public override bool HasRecipients(RecipientWellType type)
 {
     if (this.meetingRequest.IsDelegated())
     {
         return(!string.IsNullOrEmpty(CalendarUtilities.GetDisplayAttendees(this.meetingRequest, type)));
     }
     return(base.HasRecipients(type));
 }
Beispiel #11
0
        internal static bool CancelCalendarItem(UserContext userContext, CalendarItemBase calendarItemBase, EditCalendarItemHelper.CancelRangeType cancelRange, ExDateTime cancelFromDateTime, out InfobarMessage infobarMessage)
        {
            bool result = true;

            infobarMessage = null;
            CalendarItem calendarItem = calendarItemBase as CalendarItem;

            try
            {
                if (calendarItem == null)
                {
                    StoreObjectId masterStoreObjectId = CalendarUtilities.GetMasterStoreObjectId(calendarItemBase);
                    calendarItem = Utilities.GetItem <CalendarItem>(userContext, masterStoreObjectId, new PropertyDefinition[0]);
                    if (calendarItem != null)
                    {
                        calendarItem.OpenAsReadWrite();
                    }
                }
                if (cancelRange == EditCalendarItemHelper.CancelRangeType.Occurrence || cancelRange == EditCalendarItemHelper.CancelRangeType.None)
                {
                    EditCalendarItemHelper.CancelCalendarItem(userContext, calendarItemBase);
                }
                else if (cancelRange == EditCalendarItemHelper.CancelRangeType.All)
                {
                    EditCalendarItemHelper.CancelCalendarItem(userContext, calendarItem);
                }
                else if (cancelRange == EditCalendarItemHelper.CancelRangeType.FromDate)
                {
                    int cancelRecurrenceCount = CalendarItemUtilities.GetCancelRecurrenceCount(calendarItem, cancelFromDateTime);
                    if (cancelRecurrenceCount == 0)
                    {
                        EditCalendarItemHelper.CancelCalendarItem(userContext, calendarItem);
                    }
                    else if (cancelRecurrenceCount > 0)
                    {
                        calendarItem.Recurrence = new Recurrence(calendarItem.Recurrence.Pattern, new EndDateRecurrenceRange(calendarItem.Recurrence.Range.StartDate, cancelFromDateTime.IncrementDays(-1)));
                        if (calendarItem.IsMeeting && calendarItem.MeetingRequestWasSent)
                        {
                            result = CalendarUtilities.SendMeetingMessages(userContext, calendarItem, true, out infobarMessage);
                        }
                        else
                        {
                            result = CalendarUtilities.SaveCalendarItem(calendarItem, userContext, out infobarMessage);
                        }
                    }
                }
            }
            finally
            {
                if (calendarItem != null && calendarItem != calendarItemBase)
                {
                    calendarItem.Dispose();
                }
            }
            return(result);
        }
        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)
Beispiel #13
0
        public void RenderView(TextWriter writer, bool visible)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }
            writer.Write("<div id=\"divMV\"");
            if (!visible)
            {
                writer.Write(" style=\"display:none;\"");
            }
            writer.Write(">");
            writer.Write("<div id=\"divMVH\">");
            CalendarUtilities.RenderPreviousNextButtons(base.SessionContext, writer);
            writer.Write("<div id=\"divPrevMonth\"></div><div id=\"divCurrMonth\"></div><div id=\"divNextMonth\"></div>");
            writer.Write("</div>");
            for (int i = 0; i < 6; i++)
            {
                writer.Write("<div class=\"weekSelector\" id=\"divWeekSelector");
                writer.Write(i.ToString(CultureInfo.InvariantCulture));
                writer.Write("\"><div id=\"divWeekNumber\"></div></div>");
            }
            writer.Write("<div id=\"divMVContainer");
            writer.Write(Utilities.SanitizeHtmlEncode(base.CalendarAdapter.IdentityString));
            writer.Write("\" class=\"calContainer\">");
            writer.Write("<div id=\"divMVTab\"></div>");
            writer.Write("<div id=\"divMVBody\">");
            ThemeFileId themeFileId = base.SessionContext.IsRtl ? ThemeFileId.MonthlyViewExpandOverflowRtl : ThemeFileId.MonthlyViewExpandOverflow;

            for (int j = 0; j < 6; j++)
            {
                writer.Write("<div class=\"monthlyViewWeek\" id=\"divWeek");
                writer.Write(j.ToString(CultureInfo.InvariantCulture));
                writer.Write("\">");
                for (int k = 0; k < 7; k++)
                {
                    writer.Write("<div class=\"monthlyViewCell\" id=\"divDay");
                    writer.Write(k.ToString(CultureInfo.InvariantCulture));
                    writer.Write("\">");
                    writer.Write("<div id=\"divDayHeader\"><div id=\"divOI\">");
                    base.SessionContext.RenderThemeImage(writer, themeFileId);
                    writer.Write("</div></div>");
                    writer.Write("<div id=\"divMonthlyViewDateName\"></div></div>");
                }
                writer.Write("</div>");
            }
            writer.Write("<div id=\"divWeekHeader\" class=\"abs\">");
            for (int l = 0; l < 7; l++)
            {
                writer.Write("<div class=\"weekdayHeader\" id=\"divDay");
                writer.Write(l.ToString(CultureInfo.InvariantCulture));
                writer.Write("\"></div>");
            }
            writer.Write("</div>");
            writer.Write("</div></div></div>");
        }
Beispiel #14
0
 // Token: 0x0600056C RID: 1388 RVA: 0x0002AEE0 File Offset: 0x000290E0
 private bool GetIsDaySelected(DayOfWeek dayOfWeek)
 {
     if (this.calendarItemData.Recurrence.Pattern is WeeklyRecurrencePattern)
     {
         DaysOfWeek daysOfWeek = CalendarUtilities.ConvertDayOfWeekToDaysOfWeek(dayOfWeek);
         WeeklyRecurrencePattern weeklyRecurrencePattern = (WeeklyRecurrencePattern)this.calendarItemData.Recurrence.Pattern;
         return((weeklyRecurrencePattern.DaysOfWeek & daysOfWeek) != DaysOfWeek.None);
     }
     return(false);
 }
Beispiel #15
0
 public void RenderHeadersAndEventArea(TextWriter output, bool visible)
 {
     if (output == null)
     {
         throw new ArgumentNullException("output");
     }
     output.Write("<div id=\"divTop\"");
     if (!visible)
     {
         output.Write(" style=\"display:none;\"");
     }
     output.Write(">");
     output.Write("<div id=\"divGAP\">");
     CalendarUtilities.RenderPreviousNextButtons(base.SessionContext, output);
     output.Write("</div>");
     output.Write("<div id=\"divEAContainer");
     output.Write(Utilities.SanitizeHtmlEncode(base.CalendarAdapter.IdentityString));
     output.Write("\" class=\"calContainer\">");
     output.Write("<div id=\"divDVTab\"></div>");
     output.Write("<div id=\"divDVEventBack\">");
     for (int i = 0; i < base.DateRanges.Length; i++)
     {
         output.Write("<div class=\"abs\" id=\"divDay");
         output.Write(i.ToString(CultureInfo.InvariantCulture));
         output.Write("\"><div id=\"divDVEventAreaGradient\"></div></div>");
     }
     output.Write("</div>");
     output.Write("<div id=\"divDVHeader\">");
     if (DateTimeUtilities.GetDaysFormat(base.SessionContext.DateFormat) == null)
     {
     }
     for (int j = 0; j < base.DateRanges.Length; j++)
     {
         DateTimeUtilities.IsToday(base.DateRanges[j].Start);
         output.Write("<div id=\"divDay");
         output.Write(j.ToString(CultureInfo.InvariantCulture));
         output.Write("\" class=\"calHD\">");
         output.Write("<span id=\"spanDayName\"></span><span id=\"spanWeekDayName\"></span>");
         output.Write("</div>");
     }
     output.Write("</div>");
     output.Write("</div>");
     base.SessionContext.RenderThemeImage(output, ThemeFileId.Clear1x1, "calScr", new object[]
     {
         "id=\"imgSACT\", style=\"display:none\""
     });
     base.SessionContext.RenderThemeImage(output, ThemeFileId.Clear1x1, "calScr", new object[]
     {
         "id=\"imgSACB\", style=\"display:none\""
     });
     output.Write("</div>");
     output.Write("<div id=\"divDVEventContainer\"><div id=\"divDVEventBody");
     output.Write(Utilities.SanitizeHtmlEncode(base.CalendarAdapter.IdentityString));
     output.Write("\" class=\"calContainer\"></div></div>");
 }
Beispiel #16
0
        // Token: 0x060004BA RID: 1210 RVA: 0x00027480 File Offset: 0x00025680
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            string action = this.Action;

            if (Utilities.IsPostRequest(base.Request) && string.Equals(action, "Delete", StringComparison.Ordinal))
            {
                this.isBeingCanceled = true;
            }
            CalendarItemBase calendarItemBase = base.OwaContext.PreFormActionData as CalendarItemBase;

            this.folderId = EditCalendarItemHelper.GetCalendarFolderId(base.Request, base.UserContext);
            if (calendarItemBase != null)
            {
                this.CalendarItemBase             = calendarItemBase;
                base.OwaContext.PreFormActionData = null;
            }
            else
            {
                this.LoadCalendarItem(this.folderId);
                bool flag = string.Equals(action, "New", StringComparison.Ordinal) && string.IsNullOrEmpty(Utilities.GetQueryStringParameter(base.Request, "id", false));
                if (flag)
                {
                    bool isMeeting = Utilities.GetQueryStringParameter(base.Request, "mr", false) != null;
                    this.CalendarItemBase.IsMeeting = isMeeting;
                }
            }
            if (Utilities.GetQueryStringParameter(base.Request, "sndpt", false) != null)
            {
                CalendarItemUtilities.BuildSendConfirmDialogPrompt(this.calendarItemBase, out this.sendIssuesPrompt);
            }
            if (!this.IsUnsaved && !this.isBeingCanceled)
            {
                CalendarUtilities.AddCalendarInfobarMessages(base.Infobar, this.CalendarItemBase, null, base.UserContext);
            }
            if (!this.IsUnsaved && this.IsOccurrence && !this.isBeingCanceled && this.CalendarItemBase.IsOrganizer())
            {
                SanitizedHtmlString messageHtml = SanitizedHtmlString.Format(LocalizedStrings.GetHtmlEncoded(538626087), new object[]
                {
                    "<a href=\"#\" onClick=\"return onClkES()\">",
                    "</a>"
                });
                base.Infobar.AddMessageHtml(messageHtml, InfobarMessageType.Informational);
            }
            this.recipientWell = new CalendarItemRecipientWell(base.UserContext, this.CalendarItemBase);
            this.toolbar       = new EditCalendarItemToolbar(this.IsUnsaved, this.IsMeeting, this.CalendarItemBase.MeetingRequestWasSent, this.CalendarItemBase.Importance, this.CalendarItemBase.CalendarItemType, base.Response.Output, true, this.isBeingCanceled);
            base.CreateAttachmentHelpers(AttachmentWellType.ReadWrite);
            CalendarModuleViewState calendarModuleViewState = base.UserContext.LastClientViewState as CalendarModuleViewState;

            if (calendarModuleViewState != null)
            {
                this.lastAccessedYear = calendarModuleViewState.DateTime.Year;
            }
        }
Beispiel #17
0
 protected override void RenderButtons()
 {
     if (CalendarUtilities.CanSubscribeInternetCalendar())
     {
         base.RenderButton(ToolbarButtons.SubscribeToThisCalendar, this.disableSubscribeButton ? ToolbarButtonFlags.Disabled : ToolbarButtonFlags.None);
     }
     if (!this.hideViewButton)
     {
         base.RenderButton(ToolbarButtons.ViewThisCalendar);
     }
 }
        public static CultureInfo GetCultureForLang(string lang)
        {
            string culture = lang;

            switch (culture.ToLower())
            {
            case GX_LANG_SPA:
                culture = "es-UY";
                break;

            case GX_LANG_POR:
                culture = "pt-BR";
                break;

            case GX_LANG_ITA:
                culture = "it-IT";
                break;

            case GX_LANG_ENG:
                culture = "en-US";
                break;

            case GX_LANG_CHS:
                culture = "zh-CN";
                break;

            case GX_LANG_CHT:
                culture = "zh-HK";
                break;

            case GX_LANG_JAP:
                culture = "ja-JP";
                break;

            default:
                culture = Config.GetLanguageProperty(lang, "culture");
                break;
            }
            try
            {
                CultureInfo ci = new CultureInfo(culture);
                if (!CalendarUtilities.IsGregorian(ci.DateTimeFormat.Calendar))
                {
                    CalendarUtilities.ChangeCalendar(ci, new GregorianCalendar());
                }
                return(ci);
            }
            catch (ArgumentNullException ex)
            {
                GXLogging.Error(log, "Invalid language", lang, ex);
                return(new CultureInfo(CultureInfo.CurrentCulture.Name));
            }
        }
        // Token: 0x060001CA RID: 458 RVA: 0x000111AC File Offset: 0x0000F3AC
        private static CalendarItemData CreateCalendarItemDataFromRequest(HttpRequest request, UserContext userContext)
        {
            CalendarItemData calendarItemData = new CalendarItemData();
            string           formParameter    = Utilities.GetFormParameter(request, "hidid");
            string           formParameter2   = Utilities.GetFormParameter(request, "hidfid");

            try
            {
                if (!string.IsNullOrEmpty(formParameter))
                {
                    calendarItemData.Id = StoreObjectId.Deserialize(formParameter);
                }
                else
                {
                    calendarItemData.Id = null;
                }
                if (!string.IsNullOrEmpty(formParameter2))
                {
                    calendarItemData.FolderId = StoreObjectId.Deserialize(formParameter2);
                }
                else
                {
                    calendarItemData.FolderId = null;
                }
            }
            catch (ArgumentException)
            {
                throw new OwaInvalidRequestException("Invalid store object id");
            }
            catch (FormatException)
            {
                throw new OwaInvalidRequestException("Invalid store object id");
            }
            ExDateTime startDate        = CalendarUtilities.ParseDateTimeFromForm(request, "selSY", "selSM", "selSD", null, userContext);
            TimeSpan   value            = CalendarUtilities.ParseTimeFromForm(request, "sttm");
            int        intValueFromForm = RequestParser.GetIntValueFromForm(request, "drtn");

            calendarItemData.StartTime = startDate.Add(value);
            calendarItemData.EndTime   = calendarItemData.StartTime.AddMinutes((double)intValueFromForm);
            if (calendarItemData.EndTime < calendarItemData.StartTime)
            {
                calendarItemData.EndTime = calendarItemData.StartTime.AddHours(1.0);
            }
            calendarItemData.Subject    = Utilities.GetFormParameter(request, "hidsubj", false);
            calendarItemData.Location   = Utilities.GetFormParameter(request, "hidloc", false);
            calendarItemData.Recurrence = EditRecurrencePreFormAction.CreateRecurrenceFromRequest(request, startDate, userContext);
            if (calendarItemData.Recurrence != null)
            {
                calendarItemData.IsAllDayEvent = Utilities.IsAllDayEvent(calendarItemData.StartTime, calendarItemData.EndTime);
            }
            return(calendarItemData);
        }
 public PrintMonthlyView(ISessionContext sessionContext, CalendarAdapterBase calendarAdapter, bool workingDayOnly) : base(sessionContext, calendarAdapter)
 {
     this.showWeekNumbers = sessionContext.ShowWeekNumbers;
     this.calendar        = new GregorianCalendar();
     this.daysFormat      = (DateTimeUtilities.GetDaysFormat(sessionContext.DateFormat) ?? "%d");
     this.firstDayFormat  = "MMM %d";
     if (CalendarUtilities.FullMonthNameRequired(sessionContext.UserCulture))
     {
         this.firstDayFormat = string.Format("MMMM {0}", this.daysFormat);
     }
     this.workingDayOnly = workingDayOnly;
     this.sessionContext = sessionContext;
     this.workDays       = PrintMonthlyView.GetWorkingDays(calendarAdapter, sessionContext);
 }
Beispiel #21
0
    public static void ChangeCalendar(CultureInfo ci, Calendar cal)
    {
        CalendarUtilities util = new CalendarUtilities(cal);

        // Is the new calendar already the current calendar?
        if (util.CalendarExists(ci.DateTimeFormat.Calendar))
        {
            return;
        }

        // Is the new calendar supported?
        if (Array.Exists(ci.OptionalCalendars, util.CalendarExists))
        {
            ci.DateTimeFormat.Calendar = cal;
        }
    }
 internal EditCalendarItemToolbar(CalendarItemBase calendarItemBase, bool isMeeting, Markup currentMarkup, bool isPublicItem)
 {
     this.isNew                 = (calendarItemBase == null);
     this.isMeeting             = isMeeting;
     this.meetingRequestWasSent = (!this.isNew && calendarItemBase.MeetingRequestWasSent);
     this.initialMarkup         = currentMarkup;
     this.importance            = (this.isNew ? Importance.Normal : calendarItemBase.Importance);
     this.calendarItemType      = (this.isNew ? CalendarItemType.Single : calendarItemBase.CalendarItemType);
     this.isPublicItem          = isPublicItem;
     this.canEdit               = (this.isNew || ItemUtility.UserCanEditItem(calendarItemBase));
     if (this.isNew || CalendarUtilities.UserCanDeleteCalendarItem(calendarItemBase) || (calendarItemBase.CalendarItemType == CalendarItemType.RecurringMaster && this.canEdit))
     {
         this.canDelete = true;
         return;
     }
     this.canDelete = false;
 }
Beispiel #23
0
        // Token: 0x0600056F RID: 1391 RVA: 0x0002B098 File Offset: 0x00029298
        protected void RenderYearlyRecurrence()
        {
            YearlyRecurrencePattern yearlyRecurrencePattern;

            if (this.calendarItemData.Recurrence.Pattern is YearlyRecurrencePattern)
            {
                yearlyRecurrencePattern = (YearlyRecurrencePattern)this.calendarItemData.Recurrence.Pattern;
            }
            else
            {
                yearlyRecurrencePattern = (YearlyRecurrencePattern)CalendarUtilities.CreateDefaultRecurrencePattern(OwaRecurrenceType.Yearly, this.calendarItemData.StartTime);
            }
            string arg  = CalendarUtilities.BuildMonthDropdownList(yearlyRecurrencePattern.Month, "selRcrYM", null, "onChg(this);");
            string arg2 = CalendarUtilities.BuildDayIndexDropdownList(yearlyRecurrencePattern.DayOfMonth, "selRcrYD", null, "onChg(this);");

            base.Response.Write(string.Format(LocalizedStrings.GetHtmlEncoded(-642038370), arg, arg2));
        }
Beispiel #24
0
        // Token: 0x0600056D RID: 1389 RVA: 0x0002AF34 File Offset: 0x00029134
        protected void RenderMonthlyRecurrence()
        {
            MonthlyRecurrencePattern monthlyRecurrencePattern;

            if (this.calendarItemData.Recurrence.Pattern is MonthlyRecurrencePattern)
            {
                monthlyRecurrencePattern = (MonthlyRecurrencePattern)this.calendarItemData.Recurrence.Pattern;
            }
            else
            {
                monthlyRecurrencePattern = (MonthlyRecurrencePattern)CalendarUtilities.CreateDefaultRecurrencePattern(OwaRecurrenceType.Monthly, this.calendarItemData.StartTime);
            }
            string arg  = "<input type=text onchange=\"onChg(this);\" maxlength=2 size=2 name=\"txtRcrMM\" value=\"" + monthlyRecurrencePattern.RecurrenceInterval + "\">";
            string arg2 = CalendarUtilities.BuildDayIndexDropdownList(monthlyRecurrencePattern.DayOfMonth, "txtRcrMD", null, "onChg(this);");

            base.Response.Write(string.Format(LocalizedStrings.GetHtmlEncoded(2088839449), arg2, arg));
        }
Beispiel #25
0
 // Token: 0x06002387 RID: 9095 RVA: 0x000CC5D4 File Offset: 0x000CA7D4
 internal override void RenderContents(TextWriter writer, UserContext userContext, RecipientWellType type, RecipientWellNode.RenderFlags flags, RenderRecipientWellNode wellNode)
 {
     if (writer == null)
     {
         throw new ArgumentNullException("writer");
     }
     if (userContext == null)
     {
         throw new ArgumentNullException("userContext");
     }
     if (this.meetingRequest.IsDelegated())
     {
         Utilities.SanitizeHtmlEncode(CalendarUtilities.GetDisplayAttendees(this.meetingRequest, type), writer);
         return;
     }
     base.RenderContents(writer, userContext, type, flags, wellNode);
 }
Beispiel #26
0
 public void LoadData(PropertyDefinition[] queryProperties, ExDateTime[] days, bool addOwaConditionAdvisor, int startHour, int endHour, ref CalendarViewType viewType, out int viewWidth, out ReadingPanePosition readingPanePosition)
 {
     if (queryProperties == null)
     {
         throw new ArgumentNullException("queryProperties");
     }
     if (queryProperties.Length == 0)
     {
         throw new ArgumentException("Length of queryProperties cannot be 0");
     }
     viewWidth           = 0;
     readingPanePosition = ReadingPanePosition.Min;
     if (this.folder == null)
     {
         try
         {
             this.folder = this.OpenFolder(false);
         }
         catch (OwaSharedFromOlderVersionException)
         {
         }
         catch (OwaLoadSharedCalendarFailedException)
         {
             return;
         }
     }
     this.GetDataAndUpdateCommonViewIfNecessary(true);
     if (this.folder != null && CalendarUtilities.UserHasRightToLoad(this.folder))
     {
         this.LoadFolderViewStates(this.folder, ref days, ref viewType, out viewWidth, out readingPanePosition);
         base.DateRanges = CalendarAdapterBase.ConvertDateTimeArrayToDateRangeArray(days, startHour, endHour);
         base.DataSource = new CalendarDataSource(this.UserContext, this.folder, base.DateRanges, queryProperties);
         if (addOwaConditionAdvisor)
         {
             this.AddOwaConditionAdvisorIfNecessary(this.folder);
         }
     }
     else if (this.IsGSCalendar || (this.isFromOlderVersion && this.olderExchangeCalendarTypeInNode != NavigationNodeFolder.OlderExchangeCalendarType.Secondary))
     {
         this.LoadFolderViewStates(null, ref days, ref viewType, out viewWidth, out readingPanePosition);
         base.DateRanges = CalendarAdapterBase.ConvertDateTimeArrayToDateRangeArray(days, startHour, endHour);
         base.DataSource = new AvailabilityDataSource(this.UserContext, this.SmtpAddress, (!this.IsGSCalendar && this.olderExchangeCalendarTypeInNode == NavigationNodeFolder.OlderExchangeCalendarType.Unknown) ? this.FolderId.StoreObjectId : null, base.DateRanges, false);
     }
     this.dataLoaded = true;
 }
Beispiel #27
0
 // Token: 0x06002536 RID: 9526 RVA: 0x000D75E4 File Offset: 0x000D57E4
 public void LoadData(PropertyDefinition[] queryProperties, ExDateTime[] days, int startHour, int endHour, CalendarViewType viewType, ExTimeZone preferredTimeZone)
 {
     if (queryProperties == null || queryProperties.Length == 0)
     {
         throw new ArgumentNullException("queryProperties");
     }
     days = CalendarUtilities.GetViewDaysForPublishedView(this.SessionContext, days, viewType);
     try
     {
         this.publishedFolder = (PublishedCalendar)PublishedFolder.Create(this.SessionContext.PublishingUrl);
     }
     catch (PublishedFolderAccessDeniedException innerException)
     {
         throw new OwaInvalidRequestException("Cannot open published folder", innerException);
     }
     catch (NotSupportedException innerException2)
     {
         throw new OwaInvalidRequestException("Cannot open published folder", innerException2);
     }
     if (preferredTimeZone != null)
     {
         this.SessionContext.TimeZone  = preferredTimeZone;
         this.publishedFolder.TimeZone = preferredTimeZone;
         CalendarUtilities.AdjustTimesWithTimeZone(days, preferredTimeZone);
     }
     else if (this.SessionContext.IsTimeZoneFromCookie)
     {
         this.publishedFolder.TimeZone = this.SessionContext.TimeZone;
     }
     else
     {
         this.SessionContext.TimeZone = this.publishedFolder.TimeZone;
         CalendarUtilities.AdjustTimesWithTimeZone(days, this.SessionContext.TimeZone);
     }
     base.DateRanges = CalendarAdapterBase.ConvertDateTimeArrayToDateRangeArray(days, startHour, endHour);
     try
     {
         base.DataSource = new PublishedCalendarDataSource(this.SessionContext, this.publishedFolder, base.DateRanges, queryProperties);
     }
     catch (FolderNotPublishedException)
     {
         Utilities.EndResponse(OwaContext.Current.HttpContext, HttpStatusCode.NotFound);
     }
     base.CalendarTitle = string.Format("{0} ({1})", this.publishedFolder.DisplayName, this.publishedFolder.OwnerDisplayName);
 }
Beispiel #28
0
        // Token: 0x06000570 RID: 1392 RVA: 0x0002B138 File Offset: 0x00029338
        protected void RenderYearlyThRecurrence()
        {
            YearlyThRecurrencePattern yearlyThRecurrencePattern;

            if (this.calendarItemData.Recurrence.Pattern is YearlyThRecurrencePattern)
            {
                yearlyThRecurrencePattern = (YearlyThRecurrencePattern)this.calendarItemData.Recurrence.Pattern;
            }
            else
            {
                yearlyThRecurrencePattern = (YearlyThRecurrencePattern)CalendarUtilities.CreateDefaultRecurrencePattern(OwaRecurrenceType.YearlyTh, this.calendarItemData.StartTime);
            }
            string arg  = "&nbsp;&nbsp;&nbsp;" + CalendarUtilities.BuildNthDropdownList((int)yearlyThRecurrencePattern.Order, "selRcrYTI", null, "onChg(this);");
            string arg2 = CalendarUtilities.BuildDayDropdownList(yearlyThRecurrencePattern.DaysOfWeek, "selRcrThD", null, "onChg(this);");
            string arg3 = CalendarUtilities.BuildMonthDropdownList(yearlyThRecurrencePattern.Month, "selRcrYTM", null, "onChg(this);");

            base.Response.Write(string.Format(LocalizedStrings.GetHtmlEncoded(-1599607980), arg, arg2, arg3));
        }
Beispiel #29
0
        // Token: 0x0600056E RID: 1390 RVA: 0x0002AFD8 File Offset: 0x000291D8
        protected void RenderMonthlyThRecurrence()
        {
            MonthlyThRecurrencePattern monthlyThRecurrencePattern;

            if (this.calendarItemData.Recurrence.Pattern is MonthlyThRecurrencePattern)
            {
                monthlyThRecurrencePattern = (MonthlyThRecurrencePattern)this.calendarItemData.Recurrence.Pattern;
            }
            else
            {
                monthlyThRecurrencePattern = (MonthlyThRecurrencePattern)CalendarUtilities.CreateDefaultRecurrencePattern(OwaRecurrenceType.MonthlyTh, this.calendarItemData.StartTime);
            }
            string arg  = "<input type=text onchange=\"onChg(this);\" maxlength=2 size=2 name=\"txtRcrMThM\" value=\"" + monthlyThRecurrencePattern.RecurrenceInterval + "\">";
            string arg2 = CalendarUtilities.BuildNthDropdownList((int)monthlyThRecurrencePattern.Order, "selRcrYTI", null, "onChg(this);");
            string arg3 = CalendarUtilities.BuildDayDropdownList(monthlyThRecurrencePattern.DaysOfWeek, "selRcrThD", null, "onChg(this);");

            base.Response.Write(string.Format(LocalizedStrings.GetHtmlEncoded(153081917), arg2, arg3, arg));
        }
Beispiel #30
0
        // Token: 0x060004C1 RID: 1217 RVA: 0x000278A8 File Offset: 0x00025AA8
        public void RenderEndDateTime(TextWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }
            ExDateTime dateTime;

            if (this.CalendarItemBase.IsAllDayEvent)
            {
                dateTime = this.CalendarItemBase.EndTime.IncrementDays(-1);
            }
            else
            {
                dateTime = this.CalendarItemBase.EndTime;
            }
            CalendarUtilities.RenderDateTimeTable(writer, "selE", dateTime, this.lastAccessedYear, base.UserContext.UserOptions.TimeFormat, string.Empty, "dtrpOnChange(this);", string.Empty);
        }