Example #1
0
 // Token: 0x06002531 RID: 9521 RVA: 0x000D757C File Offset: 0x000D577C
 public PublishedCalendarAdapter(AnonymousSessionContext sessionContext)
 {
     if (sessionContext == null)
     {
         throw new ArgumentNullException("sessionContext");
     }
     this.SessionContext = sessionContext;
 }
Example #2
0
 public PublishedCalendarDataSource(AnonymousSessionContext sessionContext, PublishedCalendar folder, DateRange[] dateRanges, PropertyDefinition[] properties) : base(dateRanges, properties)
 {
     if (sessionContext == null)
     {
         throw new ArgumentNullException("sessionContext");
     }
     if (folder == null)
     {
         throw new ArgumentNullException("folder");
     }
     this.sessionContext = sessionContext;
     this.folder         = folder;
     base.Load((ExDateTime start, ExDateTime end) => folder.GetCalendarView(start, end, properties));
 }
        protected override void OnLoad(EventArgs e)
        {
            ExTraceGlobals.CalendarCallTracer.TraceDebug(0L, "PublishedCalendarView.OnLoad");
            AnonymousSessionContext anonymousSessionContext = base.SessionContext as AnonymousSessionContext;

            if (anonymousSessionContext == null)
            {
                throw new OwaInvalidRequestException("This request can only be sent to Calendar VDir");
            }
            this.calendarAdapter = new PublishedCalendarAdapter(anonymousSessionContext);
            this.calendarAdapter.LoadData(CalendarUtilities.QueryProperties, null, CalendarViewType.Monthly);
            if (!this.calendarAdapter.UserCanReadItem)
            {
                throw new OwaInvalidRequestException("The calendar you requested is not existing or not published.");
            }
            this.monthlyView = new MonthlyView(anonymousSessionContext, this.calendarAdapter);
            base.OnLoad(e);
        }
Example #4
0
        public void GetEventListForPublishedCalendar()
        {
            ExDateTime[]     days     = (ExDateTime[])base.GetParameter("days");
            CalendarViewType viewType = (CalendarViewType)base.GetParameter("vt");
            int startHour             = (int)base.GetParameter("SH");
            int endHour = (int)base.GetParameter("EH");
            AnonymousSessionContext anonymousSessionContext = base.SessionContext as AnonymousSessionContext;

            if (anonymousSessionContext == null)
            {
                throw new OwaInvalidRequestException("This request can only be sent to Calendar VDir");
            }
            using (PublishedCalendarAdapter publishedCalendarAdapter = new PublishedCalendarAdapter(anonymousSessionContext))
            {
                publishedCalendarAdapter.LoadData(CalendarUtilities.QueryProperties, days, startHour, endHour, viewType);
                if (!publishedCalendarAdapter.UserCanReadItem)
                {
                    throw new OwaInvalidRequestException("no read access to the calendar");
                }
                PrintEventList printEventList = new PrintEventList(base.SessionContext, publishedCalendarAdapter, viewType, false);
                printEventList.RenderView(this.SanitizingWriter);
            }
        }
Example #5
0
        public void GetPublishedViewPayload()
        {
            ExTraceGlobals.CalendarCallTracer.TraceDebug((long)this.GetHashCode(), "CalendarViewEventHandler.GetPublishedViewPayload");
            AnonymousSessionContext anonymousSessionContext = base.SessionContext as AnonymousSessionContext;

            if (anonymousSessionContext == null)
            {
                throw new OwaInvalidRequestException("This request can only be sent to Calendar VDir");
            }
            CalendarViewType calendarViewType = (CalendarViewType)base.GetParameter("vt");

            ExDateTime[] array = (ExDateTime[])base.GetParameter("days");
            if (array == null)
            {
                array = new ExDateTime[]
                {
                    DateTimeUtilities.GetLocalTime().Date
                };
            }
            int num = 0;

            if (base.IsParameterSet("dir"))
            {
                num = (int)base.GetParameter("dir");
            }
            if (num != 0)
            {
                CalendarViewEventHandler.MoveDates(array, calendarViewType, num);
            }
            this.ValidateDays(array, calendarViewType, num);
            ExTimeZone exTimeZone = null;

            if (base.IsParameterSet("tz"))
            {
                string text = (string)base.GetParameter("tz");
                if (ExTimeZoneEnumerator.Instance.TryGetTimeZoneByName(text, out exTimeZone))
                {
                    anonymousSessionContext.TimeZone = exTimeZone;
                    this.HttpContext.Response.Cookies["timezone"].Value   = text;
                    this.HttpContext.Response.Cookies["timezone"].Expires = (DateTime)ExDateTime.Now.AddYears(1);
                }
            }
            using (PublishedCalendarAdapter publishedCalendarAdapter = new PublishedCalendarAdapter(anonymousSessionContext))
            {
                publishedCalendarAdapter.LoadData(CalendarUtilities.QueryProperties, array, calendarViewType, exTimeZone);
                CalendarViewPayloadWriter calendarViewPayloadWriter;
                if (calendarViewType == CalendarViewType.Monthly)
                {
                    calendarViewPayloadWriter = new MonthlyViewPayloadWriter(base.SessionContext, this.Writer, array, new CalendarAdapterBase[]
                    {
                        publishedCalendarAdapter
                    });
                }
                else
                {
                    calendarViewPayloadWriter = new DailyViewPayloadWriter(base.SessionContext, this.Writer, array, new CalendarAdapterBase[]
                    {
                        publishedCalendarAdapter
                    });
                }
                base.ResponseContentType = OwaEventContentType.Javascript;
                calendarViewPayloadWriter.Render(0, calendarViewType, Microsoft.Exchange.Clients.Owa.Core.ReadingPanePosition.Off, Microsoft.Exchange.Clients.Owa.Core.ReadingPanePosition.Off);
            }
            if (Globals.ArePerfCountersEnabled)
            {
                OwaSingleCounters.CalendarViewsRefreshed.Increment();
            }
        }