// Token: 0x06000B9F RID: 2975 RVA: 0x0004D740 File Offset: 0x0004B940
        internal void GenerateRecurringInPolicyResponse(RecurringAcceptType type, OccurrenceInfo last, ExDateTime bookingWindowLocal)
        {
            bookingWindowLocal = bookingWindowLocal.AddSeconds(-1.0);
            ExDateTime exDateTime;

            if (last == null || last.EndTime > bookingWindowLocal)
            {
                exDateTime = this.CalendarItemTz.ConvertDateTime(bookingWindowLocal);
            }
            else
            {
                exDateTime = this.CalendarItemTz.ConvertDateTime(last.EndTime);
            }
            string date = exDateTime.ToString(this.CultureInfo.DateTimeFormat.ShortDatePattern);

            this.GetResponseBody = delegate()
            {
                string result;
                if (type == RecurringAcceptType.Free)
                {
                    result = this.GenerateResponseWithTimeZoneInfo(Strings.descRecurringAccepted(date).ToString(this.CultureInfo));
                }
                else
                {
                    result = this.GenerateResponseWithTimeZoneInfo(Strings.descRecurringAccepted(date).ToString(this.CultureInfo) + this.GeneratingConflictingMeetingTable(Strings.descRecurringSomeAccepted));
                }
                return(result);
            };
            this.GetResponseSubjectPrefix = delegate()
            {
                string result;
                if (last == null || last.EndTime > bookingWindowLocal)
                {
                    result = Strings.descAcceptedThrough(date).ToString(this.CultureInfo);
                }
                else if (type == RecurringAcceptType.Free)
                {
                    result = Strings.descAcceptedAll.ToString(this.CultureInfo);
                }
                else
                {
                    result = Strings.descAccepted.ToString(this.CultureInfo);
                }
                return(result);
            };
            this.GetDelegateBody = (() => this.GenerateInPolicyDelegateResponse(Strings.descDelegateNoPerm.ToString(this.DelegateCultureInfo)));
        }
Exemplo n.º 2
0
        private void InternalStartTimer(ExDateTime startTime, uint timeout)
        {
            AirSyncDiagnostics.TraceDebug <uint, string>(ExTraceGlobals.ThreadingTracer, this, "Starting timer with {0} seconds for {1}.", timeout, this.uniqueId);
            uint       num        = (timeout > (uint)GlobalSettings.EarlyWakeupBufferTime) ? (timeout - (uint)GlobalSettings.EarlyWakeupBufferTime) : timeout;
            ExDateTime exDateTime = startTime.AddSeconds(num);
            ExDateTime utcNow     = ExDateTime.UtcNow;
            int        num2       = (int)exDateTime.Subtract(utcNow).TotalMilliseconds + 1;

            if (num2 < 0)
            {
                num2 = 0;
            }
            this.lastTargetTime = exDateTime.AddSeconds(-2.0);
            if (this.timer == null)
            {
                this.timer = new Timer(NotificationManager.timerCallback, this, num2, -1);
                return;
            }
            this.timer.Change(num2, -1);
        }
Exemplo n.º 3
0
        // Token: 0x060001AE RID: 430 RVA: 0x0000A9BC File Offset: 0x00008BBC
        internal void AmRefreshConfiguration(AmRefreshConfigurationFlags refreshFlags, int maxSecondsToWait)
        {
            ExDateTime now    = ExDateTime.Now;
            AmConfig   config = AmSystemManager.Instance.Config;

            Dependencies.ADConfig.Refresh("AmRefreshConfiguration");
            AmSystemManager.Instance.ConfigManager.TriggerRefresh(true);
            ExDateTime t = now.AddSeconds((double)maxSecondsToWait);

            if ((refreshFlags & AmRefreshConfigurationFlags.Wait) == AmRefreshConfigurationFlags.Wait)
            {
                while (object.ReferenceEquals(config, AmSystemManager.Instance.Config) && ExDateTime.Now < t)
                {
                    Thread.Sleep(2000);
                }
                if (object.ReferenceEquals(config, AmSystemManager.Instance.Config))
                {
                    throw new AmRefreshConfigTimeoutException(maxSecondsToWait);
                }
            }
        }
        protected override void MapVisualsX()
        {
            List <EventAreaVisual> list = new List <EventAreaVisual>();

            for (int i = 0; i < base.VisualContainer.Count; i++)
            {
                EventAreaVisual eventAreaVisual = (EventAreaVisual)base.VisualContainer[i];
                eventAreaVisual.Rect.Width = 0.0;
                ExDateTime  startTime  = base.DataSource.GetStartTime(eventAreaVisual.DataIndex);
                ExDateTime  endTime    = base.DataSource.GetEndTime(eventAreaVisual.DataIndex);
                TimeSpan    timeSpan   = endTime - startTime;
                DateRange[] dateRanges = base.ParentView.DateRanges;
                for (int j = 0; j < base.ParentView.DayCount; j++)
                {
                    if (dateRanges[j].Intersects(startTime, endTime))
                    {
                        eventAreaVisual.Rect.Width += 1.0;
                        if (eventAreaVisual.Rect.Width == 1.0)
                        {
                            eventAreaVisual.Rect.X = (double)j;
                            if (timeSpan.TotalSeconds > 0.0 && timeSpan.Days < 1 && startTime.Day != endTime.AddSeconds(-1.0).Day)
                            {
                                EventAreaVisual eventAreaVisual2 = new EventAreaVisual(eventAreaVisual.DataIndex);
                                if (startTime > dateRanges[j].Start.Date)
                                {
                                    eventAreaVisual2.Rect.X = eventAreaVisual.Rect.X + 1.0;
                                }
                                else
                                {
                                    eventAreaVisual2.Rect.X = eventAreaVisual.Rect.X - 1.0;
                                }
                                eventAreaVisual2.Rect.Width = 1.0;
                                list.Add(eventAreaVisual2);
                                break;
                            }
                            if (startTime < dateRanges[j].Start.Date)
                            {
                                eventAreaVisual.LeftBreak = true;
                            }
                        }
                    }
                }
                int num = (int)(eventAreaVisual.Rect.X + eventAreaVisual.Rect.Width - 1.0);
                if (dateRanges[num].End.Date < endTime)
                {
                    eventAreaVisual.RightBreak = true;
                }
            }
            foreach (EventAreaVisual visual in list)
            {
                base.VisualContainer.AddVisual(visual);
            }
        }