Ejemplo n.º 1
0
        public static string ValidateDate(string day, string month, string year)
        {
            ExDateTime localTime     = DateTimeUtilities.GetLocalTime();
            int        datePartValue = WebPartUtilities.GetDatePartValue(day, localTime.Day);

            if (datePartValue == -1)
            {
                return(null);
            }
            int datePartValue2 = WebPartUtilities.GetDatePartValue(month, localTime.Month);

            if (datePartValue2 == -1)
            {
                return(null);
            }
            int datePartValue3 = WebPartUtilities.GetDatePartValue(year, localTime.Year);

            if (datePartValue3 <= 1 || datePartValue3 >= 9999)
            {
                return(null);
            }
            string result;

            try
            {
                ExDateTime date = new ExDateTime(UserContextManager.GetUserContext().TimeZone, datePartValue3, datePartValue2, datePartValue);
                result = DateTimeUtilities.GetIsoDateFormat(date);
            }
            catch (ArgumentOutOfRangeException)
            {
                ExTraceGlobals.CalendarTracer.TraceDebug <int, int, int>(0L, "Invalid date parameters for day: {1} month: {2}, year: {3}", datePartValue, datePartValue2, datePartValue3);
                result = null;
            }
            return(result);
        }
Ejemplo n.º 2
0
        internal static bool IsCalendarItemEndTimeInPast(CalendarItemBase calendarItemBase)
        {
            if (calendarItemBase == null)
            {
                throw new ArgumentNullException("calendarItemBase");
            }
            ExDateTime localTime = DateTimeUtilities.GetLocalTime();
            bool       result    = false;

            if (calendarItemBase.CalendarItemType == CalendarItemType.RecurringMaster)
            {
                CalendarItem calendarItem = (CalendarItem)calendarItemBase;
                if (!(calendarItem.Recurrence.Range is NoEndRecurrenceRange))
                {
                    OccurrenceInfo lastOccurrence = calendarItem.Recurrence.GetLastOccurrence();
                    if (lastOccurrence != null && lastOccurrence.EndTime < localTime)
                    {
                        result = true;
                    }
                }
            }
            else if (calendarItemBase.EndTime < localTime)
            {
                result = true;
            }
            return(result);
        }
        // Token: 0x06001999 RID: 6553 RVA: 0x000958BC File Offset: 0x00093ABC
        private uint CurrentDosDateTime()
        {
            ExDateTime localTime = DateTimeUtilities.GetLocalTime();
            int        num       = localTime.Year - 1980 & 127;

            num = (num << 4) + localTime.Month;
            num = (num << 5) + localTime.Day;
            num = (num << 5) + localTime.Hour;
            num = (num << 6) + localTime.Minute;
            return((uint)((num << 5) + localTime.Second / 2));
        }
Ejemplo n.º 4
0
        public static void ProcessReminders(UserContext userContext, TextWriter writer)
        {
            ExDateTime localTime = DateTimeUtilities.GetLocalTime(userContext);
            int        num       = (int)localTime.Bias.TotalMinutes;

            if (num != userContext.RemindersTimeZoneOffset)
            {
                userContext.RemindersTimeZoneOffset = num;
            }
            writer.Write("rmNotfy(");
            writer.Write(num);
            writer.Write(", 1, \"");
            Utilities.JavascriptEncode(DateTimeUtilities.GetJavascriptDate(localTime), writer);
            writer.Write("\", \"");
            bool reminderItems = RemindersRenderingUtilities.GetReminderItems(userContext, localTime, writer);

            if (reminderItems)
            {
                writer.Write("\", \"");
                Utilities.JavascriptEncode(LocalizedStrings.GetHtmlEncoded(-1707229168), writer);
            }
            writer.Write("\");");
        }
        // Token: 0x0600079A RID: 1946 RVA: 0x00039FA8 File Offset: 0x000381A8
        public static bool BuildSendConfirmDialogPrompt(CalendarItemBase calendarItemBase, out string prompt)
        {
            if (calendarItemBase == null)
            {
                throw new ArgumentNullException("calendarItemBase");
            }
            prompt = null;
            StringBuilder stringBuilder = null;
            ExDateTime    localTime     = DateTimeUtilities.GetLocalTime();

            if (calendarItemBase.CalendarItemType == CalendarItemType.RecurringMaster)
            {
                CalendarItem calendarItem = calendarItemBase as CalendarItem;
                if (!(calendarItem.Recurrence.Range is NoEndRecurrenceRange))
                {
                    OccurrenceInfo lastOccurrence = calendarItem.Recurrence.GetLastOccurrence();
                    if (lastOccurrence != null && lastOccurrence.EndTime < localTime)
                    {
                        if (stringBuilder == null)
                        {
                            stringBuilder = new StringBuilder();
                        }
                        stringBuilder.Append("\n\t");
                        stringBuilder.Append(LocalizedStrings.GetNonEncoded(2056979915));
                    }
                }
            }
            else if (calendarItemBase.EndTime < localTime)
            {
                if (stringBuilder == null)
                {
                    stringBuilder = new StringBuilder();
                }
                stringBuilder.Append("\n\t");
                stringBuilder.Append(LocalizedStrings.GetNonEncoded(839442440));
            }
            if (string.IsNullOrEmpty(calendarItemBase.Subject))
            {
                if (stringBuilder == null)
                {
                    stringBuilder = new StringBuilder();
                }
                stringBuilder.Append("\n\t");
                stringBuilder.Append(LocalizedStrings.GetNonEncoded(-25858033));
            }
            if (string.IsNullOrEmpty(calendarItemBase.Location))
            {
                if (stringBuilder == null)
                {
                    stringBuilder = new StringBuilder();
                }
                stringBuilder.Append("\n\t");
                stringBuilder.Append(LocalizedStrings.GetNonEncoded(-1681723506));
            }
            if (stringBuilder != null)
            {
                stringBuilder.Insert(0, "\n");
                stringBuilder.Insert(0, LocalizedStrings.GetNonEncoded(1040416023));
                stringBuilder.Append("\n\n");
                stringBuilder.Append(LocalizedStrings.GetNonEncoded(105464887));
                prompt = stringBuilder.ToString();
                return(true);
            }
            return(false);
        }
Ejemplo n.º 6
0
 public static ExDateTime GetLocalTime()
 {
     return(DateTimeUtilities.GetLocalTime(OwaContext.Current.SessionContext));
 }
Ejemplo n.º 7
0
        public static bool IsToday(ExDateTime date)
        {
            ExDateTime localTime = DateTimeUtilities.GetLocalTime();

            return(date.Year == localTime.Year && date.Month == localTime.Month && date.Day == localTime.Day);
        }
Ejemplo n.º 8
0
        internal void HandlePendingGetTimerCallback(bool clearSearchFolderDeleteList)
        {
            string mailboxQuotaHtml = null;
            bool   flag             = false;
            bool   flag2            = false;
            bool   flag3            = false;

            try
            {
                this.userContext.Lock();
                OwaMapiNotificationHandler.UpdateMailboxSessionBeforeAccessing(this.mailboxSession, this.userContext);
                lock (this)
                {
                    if (this.isDisposed)
                    {
                        return;
                    }
                    flag3 = this.InitSubscriptions(ClientSubscriptionFlags.None);
                    if (this.missedNotifications)
                    {
                        flag3 = true;
                    }
                    if (clearSearchFolderDeleteList)
                    {
                        this.ClearSearchFolderDeleteList();
                    }
                    if (this.searchFolderIdCurrent == null)
                    {
                        this.ResetSearchFolderReferences(true);
                    }
                    this.missedNotifications = false;
                }
                long num = Globals.ApplicationTime - this.userContext.LastQuotaUpdateTime;
                if ((this.userContext.IsQuotaAboveWarning && num >= 900000L) || num >= 1800000L)
                {
                    using (StringWriter stringWriter = new StringWriter())
                    {
                        RenderingUtilities.RenderMailboxQuota(stringWriter, this.userContext);
                        mailboxQuotaHtml = stringWriter.ToString();
                    }
                    flag = true;
                }
                int num2 = (int)DateTimeUtilities.GetLocalTime(this.userContext).Bias.TotalMinutes;
                if (num2 != this.userContext.RemindersTimeZoneOffset)
                {
                    this.userContext.RemindersTimeZoneOffset = num2;
                    flag2 = true;
                }
                if (this.userContext.LockedByCurrentThread())
                {
                    Utilities.DisconnectStoreSession(this.mailboxSession);
                    this.userContext.Unlock();
                }
                if (flag3)
                {
                    this.emailPayload.AddRefreshPayload();
                }
                else
                {
                    if (flag)
                    {
                        this.emailPayload.AddQuotaPayload(mailboxQuotaHtml);
                    }
                    if (flag2)
                    {
                        this.emailPayload.AddReminderNotifyPayload(num2);
                    }
                }
                this.emailPayload.PickupData();
            }
            catch (OwaLockTimeoutException ex)
            {
                ExTraceGlobals.CoreCallTracer.TraceDebug <string>((long)this.GetHashCode(), "User context lock timed out in the pending GET timer callback. Exception: {0}", ex.Message);
            }
            catch (Exception ex2)
            {
                ExTraceGlobals.CoreCallTracer.TraceDebug <string>((long)this.GetHashCode(), "Unexpected exception in pending GET timer callback thread. Exception: {0}", ex2.Message);
            }
            finally
            {
                if (this.userContext.LockedByCurrentThread())
                {
                    Utilities.DisconnectStoreSessionSafe(this.mailboxSession);
                    this.userContext.Unlock();
                }
            }
        }