Пример #1
0
        private void BuildScriptDescriptor(ScriptComponentDescriptor descriptor)
        {
            descriptor.AddElementProperty("SearchButton", this.searchButton.ClientID, true);
            descriptor.AddElementProperty("ClearButton", this.clearButton.ClientID, true);
            descriptor.AddComponentProperty("FromEditor", this.senderMatches.ClientID, true);
            descriptor.AddComponentProperty("ToEditor", this.recipientMatches.ClientID, true);
            descriptor.AddElementProperty("MessageIDTextBox", this.messageIDTextBox.ClientID, true);
            descriptor.AddComponentProperty("ListView", this.listViewSearchResults.ClientID, true);
            descriptor.AddComponentProperty("ListViewDataSource", this.messageTraceDataSource.ClientID, true);
            descriptor.AddComponentProperty("ListViewRefreshMethod", this.messageTraceDataSource.RefreshWebServiceMethod.ClientID, true);
            descriptor.AddElementProperty("DdMessageTimeFrame", this.ddMessageTimeframe.ClientID, true);
            descriptor.AddElementProperty("DdDeliveryStatus", this.ddDeliveryStatus.ClientID, true);
            descriptor.AddElementProperty("CustomLink", this.customLink.ClientID, true);
            ExDateTime dateTimeValue = ExDateTime.UtcNow.ToUserExDateTime();

            dateTimeValue = dateTimeValue.AddMinutes((double)((60 - dateTimeValue.Minute) % 30));
            descriptor.AddProperty("StartDate", dateTimeValue.AddHours(-48.0).ToUserDateTimeGeneralFormatString(), true);
            descriptor.AddProperty("EndDate", dateTimeValue.ToUserDateTimeGeneralFormatString(), true);
            ExTimeZone exTimeZone;

            if (RbacPrincipal.Current.UserTimeZone != null)
            {
                exTimeZone = RbacPrincipal.Current.UserTimeZone;
            }
            else if (!ExTimeZoneEnumerator.Instance.TryGetTimeZoneByName("UTC", out exTimeZone))
            {
                exTimeZone = ExTimeZone.UtcTimeZone;
            }
            descriptor.AddProperty("TimeZone", exTimeZone.Id, true);
            descriptor.AddUrlProperty("PickerFormUrl", "~/Pickers/CustomDateRangePicker.aspx", this);
        }
Пример #2
0
        private void CommitAndLoad()
        {
            this.oofSettings = UserOofSettings.GetUserOofSettings(this.userContext.MailboxSession);
            this.Load();
            bool flag = false;

            if (Utilities.IsPostRequest(this.request) && !string.IsNullOrEmpty(base.Command))
            {
                string formParameter = Utilities.GetFormParameter(this.request, "rdoOof", false);
                if (!string.IsNullOrEmpty(formParameter))
                {
                    bool flag2 = formParameter == 1.ToString();
                    bool flag3 = Utilities.GetFormParameter(this.request, "chkTmd", false) != null;
                    if (!flag2)
                    {
                        if (this.oofSettings.OofState != OofState.Disabled)
                        {
                            this.oofSettings.OofState = OofState.Disabled;
                            flag = true;
                        }
                    }
                    else if (flag3)
                    {
                        if (this.oofSettings.OofState != OofState.Scheduled)
                        {
                            this.oofSettings.OofState = OofState.Scheduled;
                            flag = true;
                        }
                        string formParameter2 = Utilities.GetFormParameter(this.request, "selSM", false);
                        string formParameter3 = Utilities.GetFormParameter(this.request, "selSD", false);
                        string formParameter4 = Utilities.GetFormParameter(this.request, "selSY", false);
                        string formParameter5 = Utilities.GetFormParameter(this.request, "selST", false);
                        string formParameter6 = Utilities.GetFormParameter(this.request, "selEM", false);
                        string formParameter7 = Utilities.GetFormParameter(this.request, "selED", false);
                        string formParameter8 = Utilities.GetFormParameter(this.request, "selEY", false);
                        string formParameter9 = Utilities.GetFormParameter(this.request, "selET", false);
                        if (string.IsNullOrEmpty(formParameter2) || string.IsNullOrEmpty(formParameter3) || string.IsNullOrEmpty(formParameter4) || string.IsNullOrEmpty(formParameter5) || string.IsNullOrEmpty(formParameter6) || string.IsNullOrEmpty(formParameter7) || string.IsNullOrEmpty(formParameter8) || string.IsNullOrEmpty(formParameter9))
                        {
                            base.SetInfobarMessage(string.Format(LocalizedStrings.GetNonEncoded(1140546334), this.userContext.UserOptions.DateFormat), InfobarMessageType.Error);
                            return;
                        }
                        int num = int.Parse(formParameter3);
                        if (num > ExDateTime.DaysInMonth(int.Parse(formParameter4), int.Parse(formParameter2)))
                        {
                            num = ExDateTime.DaysInMonth(int.Parse(formParameter4), int.Parse(formParameter2));
                        }
                        ExDateTime t = new ExDateTime(this.userContext.TimeZone, int.Parse(formParameter4), int.Parse(formParameter2), num);
                        num = int.Parse(formParameter7);
                        if (num > ExDateTime.DaysInMonth(int.Parse(formParameter8), int.Parse(formParameter6)))
                        {
                            num = ExDateTime.DaysInMonth(int.Parse(formParameter8), int.Parse(formParameter6));
                        }
                        ExDateTime t2 = new ExDateTime(this.userContext.TimeZone, int.Parse(formParameter8), int.Parse(formParameter6), num);
                        t  = t.AddHours((double)int.Parse(formParameter5));
                        t2 = t2.AddHours((double)int.Parse(formParameter9));
                        if (t > t2)
                        {
                            base.SetInfobarMessage(LocalizedStrings.GetNonEncoded(107113300), InfobarMessageType.Error);
                            this.isInvalidDuration = true;
                        }
                        if (this.oofSettings.Duration == null)
                        {
                            this.oofSettings.Duration = new Duration();
                        }
                        if (this.oofSettings.Duration.StartTime != (DateTime)t.ToUtc())
                        {
                            this.oofSettings.Duration.StartTime = (DateTime)t.ToUtc();
                            flag = true;
                        }
                        if (this.oofSettings.Duration.EndTime != (DateTime)t2.ToUtc())
                        {
                            this.oofSettings.Duration.EndTime = (DateTime)t2.ToUtc();
                            flag = true;
                        }
                    }
                    else if (this.oofSettings.OofState != OofState.Enabled)
                    {
                        this.oofSettings.OofState = OofState.Enabled;
                        flag = true;
                    }
                    string formParameter10 = Utilities.GetFormParameter(this.request, "txtInt", false);
                    string formParameter11 = Utilities.GetFormParameter(this.request, "chkInt", false);
                    if (((formParameter11 == null && string.IsNullOrEmpty(this.oofToInternal)) || !string.IsNullOrEmpty(formParameter11)) && !Utilities.WhiteSpaceOnlyOrNullEmpty(formParameter10))
                    {
                        this.oofSettings.InternalReply.Message = BodyConversionUtilities.ConvertTextToHtml(formParameter10);
                        flag = true;
                    }
                    string formParameter12 = Utilities.GetFormParameter(this.request, "txtExt", false);
                    string formParameter13 = Utilities.GetFormParameter(this.request, "chkExt", false);
                    if (((formParameter13 == null && string.IsNullOrEmpty(this.oofToExternal)) || !string.IsNullOrEmpty(formParameter13)) && !Utilities.WhiteSpaceOnlyOrNullEmpty(formParameter12))
                    {
                        this.oofSettings.ExternalReply.Message = BodyConversionUtilities.ConvertTextToHtml(formParameter12);
                        flag = true;
                    }
                    if (Utilities.GetFormParameter(this.request, "chkExtSnd", false) != null)
                    {
                        string formParameter14 = Utilities.GetFormParameter(this.request, "rdoAll", false);
                        if (!string.IsNullOrEmpty(formParameter14))
                        {
                            if (formParameter14 == 3.ToString())
                            {
                                if (this.oofSettings.ExternalAudience != ExternalAudience.All)
                                {
                                    this.oofSettings.ExternalAudience = ExternalAudience.All;
                                    flag = true;
                                }
                            }
                            else if (this.oofSettings.ExternalAudience != ExternalAudience.Known)
                            {
                                this.oofSettings.ExternalAudience = ExternalAudience.Known;
                                flag = true;
                            }
                        }
                    }
                    else if (this.oofSettings.ExternalAudience != ExternalAudience.None)
                    {
                        this.oofSettings.ExternalAudience = ExternalAudience.None;
                        flag = true;
                    }
                    if (flag)
                    {
                        try
                        {
                            this.oofSettings.Save(this.userContext.MailboxSession);
                            base.SetSavedSuccessfully(true);
                        }
                        catch (InvalidScheduledOofDuration)
                        {
                            base.SetInfobarMessage(LocalizedStrings.GetNonEncoded(-561991348), InfobarMessageType.Error);
                            this.isInvalidDuration = true;
                        }
                        this.Load();
                    }
                }
            }
        }
Пример #3
0
        // Token: 0x06000153 RID: 339 RVA: 0x0000AA30 File Offset: 0x00008C30
        private void RenderSchedulingArea(TextWriter writer, SchedulingAreaVisualContainer day)
        {
            int[,] array = this.MapSchedulingAreaData(day, this.totalNumberOfColumns);
            string text = DateTimeUtilities.GetHoursFormat(this.UserContext.UserOptions.TimeFormat);
            string arg  = "00";

            if (text == null)
            {
                text = "%h";
            }
            int num  = this.renderDayStartTime / 30;
            int num2 = this.renderDayEndTime / 30;
            int num3 = this.userDayStartTime / 30;
            int num4 = this.userDayEndTime / 30;
            ICalendarDataSource dataSource = base.CalendarAdapter.DataSource;
            ExDateTime          exDateTime = new ExDateTime(this.UserContext.TimeZone, 2000, 1, 1, num / 2, 0, 0);

            for (int i = num; i < num2; i++)
            {
                writer.Write("<tr><td class=\"");
                if (i == num)
                {
                    writer.Write("frst ");
                }
                if (i % 2 == 0)
                {
                    if (text[1] == 'h')
                    {
                        if (exDateTime.Hour >= 0 && exDateTime.Hour < 12)
                        {
                            arg = Utilities.HtmlEncode(Culture.AMDesignator);
                        }
                        else if (exDateTime.Hour >= 12)
                        {
                            arg = Utilities.HtmlEncode(Culture.PMDesignator);
                        }
                    }
                    writer.Write("tm\" align=\"right\">{0}&nbsp;<span>{1}</span>", exDateTime.ToString(text), arg);
                    exDateTime = exDateTime.AddHours(1.0);
                }
                else
                {
                    writer.Write("tme\">&nbsp;");
                }
                writer.Write("</td>");
                for (int j = 0; j < this.totalNumberOfColumns; j++)
                {
                    if (array[i, j] >= 0 && array[i, j] >= 0)
                    {
                        int num5 = j + 1;
                        int num6 = 1;
                        while (num5 < this.totalNumberOfColumns && array[i, num5] == array[i, j])
                        {
                            array[i, num5] = -1;
                            num5++;
                        }
                        int num7 = num5 - j;
                        if (array[i, j] != 0)
                        {
                            num6 = 1;
                            int num8 = i + 1;
                            while (num8 < num2 && array[num8, j] == array[i, j])
                            {
                                num6++;
                                for (int k = 0; k < num7; k++)
                                {
                                    array[num8, j + k] = -1;
                                }
                                num8++;
                            }
                        }
                        string freeBusyStylePrefix = DailyView.GetFreeBusyStylePrefix(base.RowFreeBusy[0][i]);
                        writer.Write("<td class=\"");
                        if (array[i, j] == 0)
                        {
                            writer.Write(freeBusyStylePrefix);
                            if (i % 2 == 0)
                            {
                                writer.Write("d ");
                            }
                            else
                            {
                                writer.Write("l ");
                            }
                            writer.Write(freeBusyStylePrefix);
                            if (num3 <= num4 && i >= num3 && i < num4)
                            {
                                writer.Write("w");
                            }
                            else if (num3 > num4 && (i >= num3 || i < num4))
                            {
                                writer.Write("w");
                            }
                            else
                            {
                                writer.Write("n");
                            }
                        }
                        else if (array[i, j] > 0)
                        {
                            writer.Write("v");
                            int        index     = array[i, j] - 1;
                            ExDateTime startTime = dataSource.GetStartTime(index);
                            ExDateTime endTime   = dataSource.GetEndTime(index);
                            if (startTime.Date < day.DateRange.Start.Date)
                            {
                                writer.Write(" ntp");
                            }
                            else if (endTime.Date > day.DateRange.Start.Date)
                            {
                                writer.Write(" nbtm");
                            }
                        }
                        writer.Write("\"");
                        if (num6 > 1)
                        {
                            writer.Write(" rowspan={0}", num6);
                        }
                        if (num7 > 1)
                        {
                            writer.Write(" colspan={0}", num7);
                        }
                        if (num7 < this.totalNumberOfColumns)
                        {
                            writer.Write(" width=\"{0:f}%\"", num7 * 100 / this.totalNumberOfColumns);
                        }
                        if (array[i, j] > 0)
                        {
                            writer.Write(" nowrap");
                        }
                        writer.Write(">");
                        if (array[i, j] == 0)
                        {
                            writer.Write("&nbsp;</td>");
                        }
                        else if (array[i, j] > 0)
                        {
                            int                     index2          = array[i, j] - 1;
                            ExDateTime              startTime2      = dataSource.GetStartTime(index2);
                            ExDateTime              endTime2        = dataSource.GetEndTime(index2);
                            string                  subject         = dataSource.GetSubject(index2);
                            string                  location        = dataSource.GetLocation(index2);
                            OwaStoreObjectId        itemId          = dataSource.GetItemId(index2);
                            bool                    isPrivate       = dataSource.IsPrivate(index2);
                            CalendarItemTypeWrapper wrappedItemType = dataSource.GetWrappedItemType(index2);
                            bool                    flag            = dataSource.IsMeeting(index2);
                            string                  text2           = string.Empty;
                            if (flag)
                            {
                                text2 = dataSource.GetOrganizerDisplayName(index2);
                            }
                            bool hasAttachment = dataSource.HasAttachment(index2);
                            int  num9          = 64;
                            int  num10         = 3;
                            this.ComputeMaxCharactersAndIcons(num6, num7, out num9, out num10);
                            writer.Write("<table cellspacing=0 cellpadding=0 class=\"vis\"><tr>");
                            BusyTypeWrapper wrappedBusyType = dataSource.GetWrappedBusyType(index2);
                            if (wrappedBusyType != BusyTypeWrapper.Busy)
                            {
                                writer.Write("<td class=\"");
                                switch (wrappedBusyType)
                                {
                                case BusyTypeWrapper.Free:
                                    writer.Write("f\"><img src=\"");
                                    this.UserContext.RenderThemeFileUrl(writer, ThemeFileId.Clear);
                                    writer.Write("\" alt=\"\"></td>");
                                    break;

                                case BusyTypeWrapper.Tentative:
                                    writer.Write("t\"></td>");
                                    break;

                                case BusyTypeWrapper.OOF:
                                    writer.Write("o\"></td>");
                                    break;

                                case BusyTypeWrapper.Unknown:
                                    writer.Write("u\"></td>");
                                    break;
                                }
                            }
                            writer.Write("<td class=\"txt\">");
                            switch (num6)
                            {
                            case 1:
                                this.RenderSubject(writer, subject, num9, startTime2, endTime2, location, false, flag, itemId);
                                if (!string.IsNullOrEmpty(subject))
                                {
                                    num9 -= subject.Length;
                                }
                                else if (flag)
                                {
                                    num9 -= LocalizedStrings.GetNonEncoded(-1500721828).Length;
                                }
                                else
                                {
                                    num9 -= LocalizedStrings.GetNonEncoded(-1178892512).Length;
                                }
                                if (!string.IsNullOrEmpty(location) && (location.Length + 2 <= num9 || num9 >= 5))
                                {
                                    writer.Write("; ");
                                    Utilities.CropAndRenderText(writer, location, num9 - 2);
                                }
                                break;

                            case 2:
                                this.RenderSubject(writer, subject, num9, startTime2, endTime2, location, false, flag, itemId);
                                if (!string.IsNullOrEmpty(location))
                                {
                                    writer.Write("<br>");
                                    Utilities.CropAndRenderText(writer, location, num9);
                                    num9 -= location.Length;
                                }
                                if (!string.IsNullOrEmpty(text2) && flag && num9 > 3)
                                {
                                    writer.Write("; ");
                                    Utilities.CropAndRenderText(writer, text2, num9);
                                }
                                break;

                            default:
                                this.RenderSubject(writer, subject, num9, startTime2, endTime2, location, false, flag, itemId);
                                if (!string.IsNullOrEmpty(location))
                                {
                                    writer.Write("<br>");
                                    Utilities.CropAndRenderText(writer, location, num9);
                                }
                                if (!string.IsNullOrEmpty(text2) && flag)
                                {
                                    writer.Write("<br>");
                                    Utilities.CropAndRenderText(writer, text2, num9);
                                }
                                break;
                            }
                            writer.Write("</td>");
                            if (num10 > 0)
                            {
                                writer.Write("<td class=\"icn\" align=\"right\">");
                                this.RenderIcons(writer, num10, isPrivate, wrappedItemType, hasAttachment);
                                writer.Write("</td>");
                            }
                            writer.Write("</tr></table></td>");
                        }
                    }
                }
                writer.Write("</tr>");
            }
            int    num11 = base.RowFreeBusy[0].Length - 1;
            string freeBusyStylePrefix2 = DailyView.GetFreeBusyStylePrefix(base.RowFreeBusy[0][num11]);

            writer.Write("<tr><td class=\"tm\"><img src=\"");
            this.UserContext.RenderThemeFileUrl(writer, ThemeFileId.Clear);
            writer.Write("\" alt=\"\"></td><td colspan=\"{0}\" class=\"{1}d {1}n\"><img src=\"", this.totalNumberOfColumns, freeBusyStylePrefix2);
            this.UserContext.RenderThemeFileUrl(writer, ThemeFileId.Clear);
            writer.Write("\" alt=\"\"></td></tr>");
            writer.Write("<tr><td class=\"tme h100\"><img src=\"");
            this.UserContext.RenderThemeFileUrl(writer, ThemeFileId.Clear);
            writer.Write("\" alt=\"\"></td><td colspan=\"{0}\" class=\"{1}n\"></td></tr>", this.totalNumberOfColumns, freeBusyStylePrefix2);
        }
        public static List <object[]> QueryReminders(ExDateTime actualizationTime, UserContext userContext)
        {
            List <object[]> list = new List <object[]>();

            object[][]       array            = null;
            ComparisonFilter comparisonFilter = new ComparisonFilter(ComparisonOperator.LessThan, ItemSchema.ReminderNextTime, actualizationTime.AddHours(24.0));

            if (userContext.IsPushNotificationsEnabled)
            {
                array = userContext.MapiNotificationManager.GetReminderRows(comparisonFilter, 100);
            }
            else
            {
                using (SearchFolder searchFolder = SearchFolder.Bind(userContext.MailboxSession, DefaultFolderType.Reminders))
                {
                    SortBy[] sortColumns = new SortBy[]
                    {
                        new SortBy(ItemSchema.ReminderIsSet, SortOrder.Descending),
                        new SortBy(ItemSchema.ReminderNextTime, SortOrder.Descending)
                    };
                    using (QueryResult queryResult = searchFolder.ItemQuery(ItemQueryType.None, null, sortColumns, RemindersRenderingUtilities.QueryProperties))
                    {
                        queryResult.SeekToCondition(SeekReference.OriginBeginning, comparisonFilter);
                        array = queryResult.GetRows(100);
                    }
                }
            }
            if (array == null)
            {
                return(list);
            }
            for (int i = 0; i < array.Length; i++)
            {
                bool itemProperty = RemindersRenderingUtilities.GetItemProperty <bool>(array[i], ItemSchema.ReminderIsSet, false);
                if (!itemProperty)
                {
                    break;
                }
                list.Add(array[i]);
                if (list.Count == 100)
                {
                    break;
                }
            }
            return(list);
        }