Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CalendarViewFormat"/> class.
        /// </summary>
        /// <param name="viewType">Type of the view.</param>
        /// <param name="showday">The showday.</param>
        /// <param name="weekStartDay">The week start day.</param>
        public CalendarViewFormat(CalendarViewType viewType, DateTime showday,DayOfWeek weekStartDay)
        {
            int index, w;
            switch (viewType)
            { 
                case CalendarViewType.day: //日
                    StartDate = showday.Date;
                    EndDate = showday.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                    break;
                case CalendarViewType.week: // 周            
                    index = weekStartDay.GetHashCode();//0                  
                    w = index - showday.DayOfWeek.GetHashCode();//0-1
                    if (w > 0) w = w - 7;
                    StartDate = showday.AddDays(w).Date;
                    EndDate = StartDate.AddDays(6).AddHours(23).AddMinutes(59).AddSeconds(59);
                    break;
                case CalendarViewType.month: // 月         
                    DateTime firstdate = new DateTime(showday.Year, showday.Month,1);
                    index = weekStartDay.GetHashCode();//0
                    w = index - firstdate.DayOfWeek.GetHashCode();//0-1
                    if (w > 0){
                        w -= 7;
                    }
                    StartDate = firstdate.AddDays(w).Date;
                    EndDate = StartDate.AddDays(34);

                    if (EndDate.Year == showday.Year && EndDate.Month == showday.Month && EndDate.AddDays(1).Month == EndDate.Month)
                    {
                        EndDate = EndDate.AddDays(7);                      
                    }
                    EndDate.AddHours(23).AddMinutes(59).AddSeconds(59);
                    break;
            }
        }
Пример #2
0
        public void GetEventList()
        {
            OwaStoreObjectId folderId = (OwaStoreObjectId)base.GetParameter("fId");

            ExDateTime[]     days     = (ExDateTime[])base.GetParameter("days");
            CalendarViewType viewType = (CalendarViewType)base.GetParameter("vt");
            int  startHour            = (int)base.GetParameter("SH");
            int  endHour        = (int)base.GetParameter("EH");
            bool workingDayOnly = false;

            if (base.IsParameterSet("wo"))
            {
                workingDayOnly = (bool)base.GetParameter("wo");
            }
            using (CalendarAdapter calendarAdapter = new CalendarAdapter(base.UserContext, folderId))
            {
                int num;
                ReadingPanePosition readingPanePosition;
                calendarAdapter.LoadData(CalendarUtilities.PrintQueryProperties, days, false, startHour, endHour, ref viewType, out num, out readingPanePosition);
                if (!calendarAdapter.UserCanReadItem)
                {
                    throw new OwaInvalidRequestException("no read access to the calendar");
                }
                PrintEventList printEventList = new PrintEventList(base.UserContext, calendarAdapter, viewType, workingDayOnly);
                printEventList.RenderView(this.SanitizingWriter);
            }
        }
Пример #3
0
 private static void MoveDates(ExDateTime[] days, CalendarViewType viewType, int direction)
 {
     if (CalendarViewType.Min == viewType)
     {
         if (days.Length == 1)
         {
             days[0] = days[0].IncrementDays(direction);
             return;
         }
         for (int i = 0; i < days.Length; i++)
         {
             days[i] = days[i].IncrementDays(7 * direction);
         }
         return;
     }
     else
     {
         if (CalendarViewType.WorkWeek == viewType || CalendarViewType.Weekly == viewType)
         {
             for (int j = 0; j < days.Length; j++)
             {
                 days[j] = days[j].IncrementDays(7 * direction);
             }
             return;
         }
         if (viewType == CalendarViewType.Monthly)
         {
             days[0] = days[0].AddMonths(direction);
         }
         return;
     }
 }
Пример #4
0
        public async Task <string> GetPersonalCalViewData(FormCollection form)
        {
            CalendarViewType viewType   = (CalendarViewType)Enum.Parse(typeof(CalendarViewType), form["viewtype"]);
            string           strshowday = form["showdate"];
            DateTime         showdate;
            int  clientzone = Convert.ToInt32(form["timezone"]);
            int  serverzone = TimeHelper.GetTimeZone();
            var  zonediff   = serverzone - clientzone;
            bool b          = DateTime.TryParse(strshowday, out showdate);
            var  jss        = new JavaScriptSerializer();

            jss.MaxJsonLength = Int32.MaxValue;//增加最大长度
            if (!b)
            {
                var ret = new JsonCalendarViewData(new JsonError("NotVolidDateTimeFormat", "错误的时间格式"));
                return(jss.Serialize(ret));
            }
            var format = new CalendarViewFormat(viewType, showdate, DayOfWeek.Monday);
            var qstart = format.StartDate.AddHours(zonediff);
            var qend   = format.EndDate.AddHours(zonediff);
            List <SystemCalendar> list = (await _calendarLogic.QueryCalendars(qstart, qend, CurrentUser.UserId)).ToList();
            var data = new JsonCalendarViewData(ConvertToStringArray(list), format.StartDate, format.EndDate);

            return(jss.Serialize(data));
        }
Пример #5
0
        public override void Render(int viewWidth, CalendarViewType viewType, ReadingPanePosition readingPanePosition, ReadingPanePosition requestReadingPanePosition)
        {
            SanitizedHtmlString sharedData = null;

            base.Output.Write("{\"rgCalendar\":[");
            if (this.dailyView != null)
            {
                this.RenderCalendar(0, this.dailyView);
                sharedData = this.GetSharedDataString(this.dailyView, viewWidth, viewType, readingPanePosition, requestReadingPanePosition);
            }
            else
            {
                base.RenderCalendars(this.adapters, this.days, delegate(CalendarAdapterBase calendarAdapter, int index)
                {
                    if (index > 0)
                    {
                        this.Output.Write(",");
                    }
                    DailyView view = new DailyView(this.SessionContext, calendarAdapter);
                    if (sharedData == null)
                    {
                        sharedData = this.GetSharedDataString(view, viewWidth, viewType, readingPanePosition, requestReadingPanePosition);
                    }
                    this.RenderCalendar(index, view);
                });
            }
            base.Output.Write("]");
            if (sharedData != null)
            {
                base.Output.Write(",");
                base.Output.Write(sharedData);
            }
            base.Output.Write("}");
        }
Пример #6
0
        public void RenderCalendarView()
        {
            CalendarViewType calendarViewType = this.viewType;

            if (calendarViewType != CalendarViewType.Min)
            {
                return;
            }
            this.RenderDailyView();
        }
Пример #7
0
 public CalendarViewToolbar(CalendarViewType viewType, bool isPublicFolder, bool userCanCreateItem, bool userHasRightToLoad, bool isWebPartRequest, ReadingPanePosition readingPanePosition, SanitizedHtmlString folderInfo) : base("divTBL")
 {
     this.viewType             = viewType;
     this.folderInfo           = folderInfo;
     this.isPublicFolder       = isPublicFolder;
     this.flagsForNewButton    = (userCanCreateItem ? ToolbarButtonFlags.None : ToolbarButtonFlags.Disabled);
     this.flagsForNonNewButton = (userHasRightToLoad ? ToolbarButtonFlags.None : ToolbarButtonFlags.Disabled);
     this.readingPanePosition  = readingPanePosition;
     this.isWebPartRequest     = isWebPartRequest;
 }
Пример #8
0
 private void Year_selectionChanegd(object sender, SelectionChangedEventArgs e)
 {
     if (e.CurrentSelection.Count > 0)
     {
         _year = (e.CurrentSelection[0] as Year).year;
     }
     YearsGrid.IsVisible = false;
     MonthGrid.IsVisible = true;
     calendarViewType    = CalendarViewType.Months;
 }
Пример #9
0
        private void Month_Clicked(object sender, EventArgs e)
        {
            DatesGrid.IsVisible = true;
            MonthGrid.IsVisible = false;
            calendarViewType    = CalendarViewType.Dates;
            leftArrow.IsVisible = rightArrow.IsVisible = true;

            _month         = monthToInt((sender as Button).Text);
            HeaderLbl.Text = $"{DateTimeFormatInfo.CurrentInfo.MonthNames[_month - 1]}, {_year}";
            var firstDateForSelectedMonth = new DateTime(_year, _month, 1);

            MapDatesForMonth(firstDateForSelectedMonth);
        }
Пример #10
0
        public NewCalendarView()
        {
            InitializeComponent();

            _year            = DateTime.Now.Year;
            _month           = DateTime.Now.Month;
            calendarViewType = CalendarViewType.Dates;

            initMonthGrid();
            initDatesGrid();
            initYears();
            yearsCollectioview.ItemsSource = years;
            MapDatesForMonth(new DateTime(_year, _month, 1));
        }
Пример #11
0
 private void ValidateDays(ExDateTime[] days, CalendarViewType viewType, int direction)
 {
     if (viewType != CalendarViewType.Monthly && days.Length > 7)
     {
         throw new OwaInvalidRequestException("There are too many days in the request for OWA to process.");
     }
     foreach (ExDateTime exDateTime in days)
     {
         if ((exDateTime.Year <= 1 && direction < 0) || (exDateTime.Year >= 9999 && direction > 0))
         {
             throw new OwaInvalidRequestException(string.Format("The specified date \"{0}\" is out of range", exDateTime.ToLongDateString()));
         }
     }
 }
        public static int GetNumberOfDays(this CalendarViewType calendarViewType, DateTime dateTime)
        {
            switch (calendarViewType)
            {
            case CalendarViewType.Today:
                return(1);

            case CalendarViewType.ThisWeek:
                return(7);

            case CalendarViewType.ThisMonth:
                return(DateTime.DaysInMonth(dateTime.Year, dateTime.Month));
            }

            throw new NotImplementedException();
        }
Пример #13
0
        public static DateTime GetStartDate(this DateTime dateTime, CalendarViewType calendarViewType)
        {
            switch (calendarViewType)
            {
            case CalendarViewType.Today:
                return(dateTime);

            case CalendarViewType.ThisWeek:
                return(dateTime.GetStartOfTheWeek());

            case CalendarViewType.ThisMonth:
                return(new DateTime(dateTime.Year, dateTime.Month, 1));
            }

            throw new NotImplementedException();
        }
Пример #14
0
        protected void RenderDay(TextWriter writer, DateRange[] ranges, CalendarViewType viewType)
        {
            string format = DateTimeUtilities.GetDaysFormat(this.SessionContext.DateFormat) ?? "%d";
            string format2;

            if (CalendarUtilities.FullMonthNameRequired(this.SessionContext.UserCulture))
            {
                format2 = "MMMM";
            }
            else
            {
                format2 = "MMM";
            }
            for (int i = 0; i < ranges.Length; i++)
            {
                if (i > 0)
                {
                    writer.Write(",");
                }
                ExDateTime start = ranges[i].Start;
                writer.Write("new Day(\"");
                if (start.Day == 1 && viewType == CalendarViewType.Monthly)
                {
                    writer.Write("<span class='divMonthlyViewMonthName'>");
                    writer.Write(Utilities.JavascriptEncode(start.ToString(format2, this.SessionContext.UserCulture)));
                    writer.Write("</span>&nbsp;");
                }
                writer.Write(Utilities.JavascriptEncode(start.ToString(format, this.SessionContext.UserCulture)));
                writer.Write("\",\"");
                if (viewType != CalendarViewType.Monthly)
                {
                    writer.Write(Utilities.JavascriptEncode(start.ToString("dddd", this.SessionContext.UserCulture)));
                }
                writer.Write("\",");
                writer.Write(start.Day);
                writer.Write(",");
                writer.Write(start.Month);
                writer.Write(",");
                writer.Write(start.Year);
                writer.Write(DateTimeUtilities.IsToday(start) ? ",1" : ",0");
                writer.Write(")");
            }
        }
Пример #15
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CalendarViewFormat"/> class.
        /// </summary>
        /// <param name="viewType">Type of the view.</param>
        /// <param name="showday">The showday.</param>
        /// <param name="weekStartDay">The week start day.</param>
        public CalendarViewFormat(CalendarViewType viewType, DateTime showday, DayOfWeek weekStartDay)
        {
            int index, w;

            switch (viewType)
            {
            case CalendarViewType.day:     //ÈÕ
                StartDate = showday.Date;
                EndDate   = showday.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
                break;

            case CalendarViewType.week:                          // ÖÜ
                index = weekStartDay.GetHashCode();              //0
                w     = index - showday.DayOfWeek.GetHashCode(); //0-1
                if (w > 0)
                {
                    w = w - 7;
                }
                StartDate = showday.AddDays(w).Date;
                EndDate   = StartDate.AddDays(6).AddHours(23).AddMinutes(59).AddSeconds(59);
                break;

            case CalendarViewType.month:                           // ÔÂ
                DateTime firstdate = new DateTime(showday.Year, showday.Month, 1);
                index = weekStartDay.GetHashCode();                //0
                w     = index - firstdate.DayOfWeek.GetHashCode(); //0-1
                if (w > 0)
                {
                    w -= 7;
                }
                //w = 0;
                StartDate = firstdate.AddDays(w).Date;
                EndDate   = StartDate.AddDays(34);

                if (EndDate.Year == showday.Year && EndDate.Month == showday.Month && EndDate.AddDays(1).Month == EndDate.Month)
                {
                    EndDate = EndDate.AddDays(7);
                }
                EndDate.AddHours(23).AddMinutes(59).AddSeconds(59);
                break;
            }
        }
Пример #16
0
        public static void Init(this DateEdit edit, CalendarViewType viewType = CalendarViewType.DayView)
        {
            edit.Properties.AllowMouseWheel = false;
            edit.Properties.Mask.MaskType   = MaskType.DateTimeAdvancingCaret;
            edit.Properties.ShowClear       = true;
            edit.Properties.ShowToday       = true;

            if (viewType == CalendarViewType.DayView)
            {
                edit.Properties.CalendarView                = CalendarView.Classic;
                edit.Properties.Mask.MaskType               = MaskType.DateTimeAdvancingCaret;
                edit.Properties.VistaDisplayMode            = DefaultBoolean.False;
                edit.Properties.Mask.EditMask               = "d";
                edit.Properties.Mask.UseMaskAsDisplayFormat = false;
                edit.Properties.ShowWeekNumbers             = true;
            }
            else
            {
                if (viewType == CalendarViewType.MonthView)
                {
                    edit.Properties.CalendarView           = CalendarView.Vista;
                    edit.Properties.VistaCalendarViewStyle = VistaCalendarViewStyle.YearView | VistaCalendarViewStyle.YearsGroupView | VistaCalendarViewStyle.CenturyView;

                    edit.Properties.Mask.EditMask = "y";
                    edit.Properties.Mask.UseMaskAsDisplayFormat = true;
                    edit.Properties.VistaDisplayMode            = DefaultBoolean.True;
                }
                else
                {
                    if (viewType == CalendarViewType.YearView)
                    {
                        edit.Properties.CalendarView           = CalendarView.Vista;
                        edit.Properties.VistaCalendarViewStyle = VistaCalendarViewStyle.YearsGroupView | VistaCalendarViewStyle.CenturyView;

                        edit.Properties.Mask.EditMask = "yyyy";
                        edit.Properties.Mask.UseMaskAsDisplayFormat = true;
                        edit.Properties.VistaDisplayMode            = DefaultBoolean.True;
                    }
                }
            }
            edit.EditValue = DateTime.Now;
        }
Пример #17
0
        public void GetItems(DataGridView dgvCalendar, DateTime date, CalendarViewType calendarViewType)
        {
            var startDate = date.GetStartDate(calendarViewType);

            dgvCalendar.ColumnCount = calendarViewType.GetNumberOfDays(date);

            SetRowHeaderCells(dgvCalendar);
            SetColumnHeaderCells(dgvCalendar, startDate);

            // ToDo: Fix performance issue. GetAll should be called with a predicate.
            var allMeetings = meetingRepository.GetAll();
            var allEvents   = eventRepository.GetAll();

            for (int dayIndex = 0; dayIndex < dgvCalendar.ColumnCount; dayIndex++)
            {
                var actualDate = startDate.AddDays(dayIndex);
                var meetings   = allMeetings.Where(meeting => meeting.MeetingDate.IsRepeatedOnDate(actualDate, (RepetitionType)meeting.RepetitionType, meeting.RepetitionValue, meeting.ExpirationDate)).ToList();
                var events     = allEvents.Where(myEvent => myEvent.EventDate.IsRepeatedOnDate(actualDate, (RepetitionType)myEvent.RepetitionType, myEvent.RepetitionValue, myEvent.ExpirationDate)).ToList();

                var slotStartTime = new TimeSpan(0, 0, 0);

                for (int i = 0; i < 48; i++)
                {
                    var slotEndTime = slotStartTime.Add(HalfAnHour);

                    var slotMeetings = meetings
                                       .Where(meeting => DateTimeExtensions.AreDatesTimeBetweenTimeSpans(meeting.MeetingDate, meeting.MeetingEndDate, slotStartTime, slotEndTime))
                                       .Select(meeting => meeting.Title);
                    var slotEvents = events
                                     .Where(myEvent => DateTimeExtensions.AreDatesTimeBetweenTimeSpans(myEvent.EventDate, myEvent.EventEndDate, slotStartTime, slotEndTime))
                                     .Select(myEvent => myEvent.Title);

                    var meetingsText = String.Join(", ", slotMeetings);
                    var eventsText   = String.Join(", ", slotEvents);

                    var slotText = $"{meetingsText};{eventsText}".Trim(';');
                    dgvCalendar.Rows[i].Cells[dayIndex].Value = slotText;

                    slotStartTime = slotEndTime;
                }
            }
        }
Пример #18
0
        private void Header_Tapped(object sender, EventArgs e)
        {
            if (calendarViewType == CalendarViewType.Dates)
            {
                MonthGrid.IsVisible  = true;
                DatesGrid.IsVisible  = false;
                leftArrow.IsVisible  = false;
                rightArrow.IsVisible = false;
                calendarViewType     = CalendarViewType.Months;

                HeaderLbl.Text = $"{_year}";
            }
            else if (calendarViewType == CalendarViewType.Months)
            {
                YearsGrid.IsVisible = true;
                MonthGrid.IsVisible = false;
                calendarViewType    = CalendarViewType.Years;

                HeaderLbl.Text = $"Years";
                yearsCollectioview.ScrollTo(years.Find(x => x.year == _year));
            }
        }
Пример #19
0
        public JsonResult GetPersonalCalViewData(FormCollection form)
        {
            CalendarViewType viewType   = (CalendarViewType)Enum.Parse(typeof(CalendarViewType), form["viewtype"]);
            string           strshowday = form["showdate"];
            DateTime         showdate;
            int  clientzone = Convert.ToInt32(form["timezone"]);
            int  serverzone = TimeHelper.GetTimeZone();
            var  zonediff   = serverzone - clientzone;
            bool b          = DateTime.TryParse(strshowday, out showdate);

            if (!b)
            {
                var ret = new JsonCalendarViewData(new JsonError("NotVolidDateTimeFormat", this.Resource("lang,notvoliddatetimeformat")));
                return(Json(ret));
            }
            var             format = new CalendarViewFormat(viewType, showdate, DayOfWeek.Monday);
            var             qstart = format.StartDate.AddHours(zonediff);
            var             qend   = format.EndDate.AddHours(zonediff);
            List <Calendar> list   = _service.QueryCalendars(qstart, qend, UserId);
            var             data   = new JsonCalendarViewData(ConvertToStringArray(list), format.StartDate, format.EndDate);

            return(Json(data));
        }
Пример #20
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);
            }
        }
Пример #21
0
 // Token: 0x06002FE0 RID: 12256 RVA: 0x001176C7 File Offset: 0x001158C7
 public static void GetCalendarViewParamsFromViewStates(FolderViewStates states, out int viewWidth, ref CalendarViewType viewType, out ReadingPanePosition readingPanePosition)
 {
     if (viewType == CalendarViewType.None)
     {
         viewType = states.CalendarViewType;
     }
     viewWidth = states.GetViewWidth(450);
     if (viewType == CalendarViewType.Monthly)
     {
         readingPanePosition = ReadingPanePosition.Off;
         return;
     }
     if (viewType == CalendarViewType.Min)
     {
         readingPanePosition = states.ReadingPanePosition;
         return;
     }
     readingPanePosition = states.ReadingPanePositionMultiDay;
 }
Пример #22
0
        // Token: 0x06002FDB RID: 12251 RVA: 0x00117464 File Offset: 0x00115664
        public static ExDateTime[] GetViewDays(UserContext userContext, ExDateTime[] days, CalendarViewType viewType, OwaStoreObjectId folderId, FolderViewStates viewStates)
        {
            ExDateTime exDateTime = (days == null || days.Length == 0) ? DateTimeUtilities.GetLocalTime().Date : days[0];

            switch (viewType)
            {
            case CalendarViewType.Min:
                if (days == null || days.Length == 0)
                {
                    int dailyViewDays = viewStates.DailyViewDays;
                    days = new ExDateTime[dailyViewDays];
                    for (int i = 0; i < dailyViewDays; i++)
                    {
                        days[i]    = exDateTime;
                        exDateTime = exDateTime.IncrementDays(1);
                    }
                }
                break;

            case CalendarViewType.Weekly:
                days = DateTimeUtilities.GetWeekFromDay(exDateTime, userContext.UserOptions.WeekStartDay, 0, false);
                break;

            case CalendarViewType.WorkWeek:
                days = DateTimeUtilities.GetWeekFromDay(exDateTime, userContext.UserOptions.WeekStartDay, CalendarUtilities.GetWorkDays(userContext, folderId), true);
                break;

            case CalendarViewType.Monthly:
                days = CalendarUtilities.GetViewDaysForMonthlyView(userContext, exDateTime);
                break;

            case CalendarViewType.WeeklyAgenda:
            case CalendarViewType.WorkWeeklyAgenda:
            {
                ExDateTime firstDay = CalendarUtilities.GetWeekDays(folderId, userContext, exDateTime, false)[0];
                int        workDays = CalendarUtilities.GetWorkDays(userContext, folderId);
                days = CalendarUtilities.GetViewDaysForWeeklyAgenda(workDays, firstDay, viewType == CalendarViewType.WorkWeeklyAgenda);
                break;
            }
            }
            return(days);
        }
Пример #23
0
        // Token: 0x06002FDA RID: 12250 RVA: 0x0011739C File Offset: 0x0011559C
        public static ExDateTime[] GetViewDaysForPublishedView(ISessionContext sessionContext, ExDateTime[] days, CalendarViewType viewType)
        {
            ExDateTime exDateTime = (days == null || days.Length == 0) ? DateTimeUtilities.GetLocalTime().Date : days[0];

            switch (viewType)
            {
            case CalendarViewType.Min:
                if (days == null || days.Length == 0)
                {
                    days = new ExDateTime[]
                    {
                        exDateTime
                    };
                }
                break;

            case CalendarViewType.Weekly:
            case CalendarViewType.WorkWeek:
                days = DateTimeUtilities.GetWeekFromDay(exDateTime, sessionContext.WeekStartDay, 62, viewType == CalendarViewType.WorkWeek);
                break;

            case CalendarViewType.Monthly:
                days = CalendarUtilities.GetViewDaysForMonthlyView(sessionContext, exDateTime);
                break;

            case CalendarViewType.WeeklyAgenda:
            case CalendarViewType.WorkWeeklyAgenda:
            {
                bool       flag     = viewType == CalendarViewType.WorkWeeklyAgenda;
                ExDateTime firstDay = DateTimeUtilities.GetWeekFromDay(exDateTime, sessionContext.WeekStartDay, 62, flag)[0];
                days = CalendarUtilities.GetViewDaysForWeeklyAgenda(62, firstDay, flag);
                break;
            }
            }
            return(days);
        }
Пример #24
0
        public void AddProgressAttributes(HtmlTextWriter writer, CalendarViewType span, DateTime now)
        {
            if(!ParentCalendar.EventBarShow)
                return;

            const int spanPeriod = 1; // span period in minutes

            int fullSpan = 0; // Full span, from beginning to the end
            int startSpan = 0; // Empty span in the beginning
            int midSpan = 0; // Actual time span
            int endSpan = 0; // Tail span

            int cols = 0;
            String color = "black";

            //bool IsAllDay = IsAllDayEvent(now);
            switch(span)
            {
                case CalendarViewType.WorkWeekView:
                    if(
                        ((StartDate.Date >= _RenderedDate.Date && StartDate.Date <= _RenderedDate.AddDays(5).Date)||
                        (EndDate.Date >= _RenderedDate.Date && EndDate.Date <= _RenderedDate.AddDays(5).Date))
                        && EndDate.Date != StartDate.Date)
                        IsAllDay = true;
                    goto case CalendarViewType.DayView;
                case CalendarViewType.DayView:
                    // Don't render items spanning from previous days, we use all day section for that
                    if(!IsAllDay)
                    {
                        const int periodHeight = 20; // height in pixels

                        // Calculate total minutes
                        TimeSpan spanTime = Helper.GetHourDate(EndDate) - Helper.GetHourStartDate(StartDate);//.AddMinutes(-30);
                        fullSpan = (int)System.Math.Ceiling((spanTime.TotalMinutes /*+ 1*/)/spanPeriod);

                        startSpan = StartDate.Minute >=30 ? (StartDate.Minute-30)/spanPeriod : StartDate.Minute/spanPeriod;
                        //endSpan = EndDate.Minute >=30 ? (60-EndDate.Minute)/spanPeriod : (30-EndDate.Minute)/spanPeriod;
                        endSpan = (EndDate.Minute > 0 ? ((EndDate.Minute > 30 ? 60-EndDate.Minute : 30-EndDate.Minute ))/spanPeriod : 0);
                        midSpan = fullSpan - startSpan - endSpan;

                        // detect if events spans from previous day
                        if(StartDate.Date<now.Date)
                        {
                            // Calculate span from current date
                            TimeSpan spanTime2 = Helper.GetHourDate(EndDate) - now;
                            fullSpan = (int)(((UInt16)spanTime2.TotalMinutes/* + 1*/))/spanPeriod;
                            midSpan = fullSpan;
                            startSpan = 0;
                            //endSpan = fullSpan - midSpan;
                        }

                        // detect if event spans to next day
                        if(EndDate.Date>now.Date)
                        {
                            fullSpan = (int)(24*60 - (now.Minute + now.Hour * 60))/spanPeriod;
                            midSpan = fullSpan - startSpan;
                            endSpan = 0;
                        }

                        // Add border to td
                        color = ParentCalendar.getPaletteColorString(CalendarColorConstants.DefaultBackColor);
                        if(!ParentCalendar.ControlStyle.BorderColor.IsEmpty)
                            color = ColorTranslator.ToHtml(ParentCalendar.ControlStyle.BorderColor);
                        if(!ParentCalendar.ControlStyle.BorderColor.IsEmpty)
                            color = ColorTranslator.ToHtml(ParentCalendar.ControlStyle.BorderColor);
                        writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;BORDER-BOTTOM:{0} 1px Solid;BORDER-TOP:{0} 1px Solid;BORDER-LEFT:{0} 1px Solid;width:2px", color));

                        // Add color
                        //if(ParentCalendar.EventBarEmptyColor.IsEmpty)
                        //	writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ParentCalendar.getPaletteColorString(CalendarColorConstants.EventBarEmptyColor));
                        //else
                        writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ColorTranslator.ToHtml(EventBarEmptyColor));

                        writer.RenderBeginTag(HtmlTextWriterTag.Td);

                        // Render output
                        // ADD Table
                        //<table cellpadding="0" width="100%" height="100%" cellspacing="0">

                        writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0");
                        writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
                        writer.AddAttribute(HtmlTextWriterAttribute.Width, "100%");
                        writer.AddAttribute(HtmlTextWriterAttribute.Height, "100%");
                        writer.RenderBeginTag(HtmlTextWriterTag.Table);

                        //<td width="6" style="text-align:center;BORDER-TOP:Black 1px Solid;BORDER-LEFT:Black 1px Solid;background-color:blue;height:25%;width:2px">&nbsp;</td>

                        // Render Space at the beginning
                        if(startSpan>0)
                        {
                            writer.RenderBeginTag(HtmlTextWriterTag.Tr);
                            writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;BORDER-BOTTOM:{1} 1px Solid;height:{0};width:2px", ((int)System.Math.Round((decimal)periodHeight*startSpan/30, 0)), color));
                            writer.RenderBeginTag(HtmlTextWriterTag.Td);
                            this.ParentCalendar.AddSpaceImage(writer, 5, ((int)System.Math.Round((decimal)periodHeight*startSpan/30, 0)));
                            writer.RenderEndTag();
                            writer.RenderEndTag();
                        }

                        // Render Actual data at the middle
                        if(midSpan>0)
                        {
                            writer.RenderBeginTag(HtmlTextWriterTag.Tr);
                            writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;height:{0};width:2px", /*"100%"*/((int)System.Math.Round((decimal)periodHeight*midSpan/30, 0))));

                            // Add color
                            //if(ParentCalendar.EventBarFilledColor.IsEmpty)
                            //	writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ParentCalendar.getPaletteColorString(CalendarColorConstants.EventBarFilledColor));
                            //else
                            writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ColorTranslator.ToHtml(EventBarFilledColor));

                            // Add popup description about task length
                            TimeSpan spanTime3 = EndDate - StartDate;
                            string titleFormat = String.Format("{0}{1}{2}", spanTime3.Days == 0 ? "" : String.Format(ParentCalendar.EventBarDaysString, spanTime3.Days), spanTime3.Hours == 0 ? "" : String.Format(ParentCalendar.EventBarHoursString, spanTime3.Hours), spanTime3.Minutes == 0 ? "" : String.Format(ParentCalendar.EventBarMinutesString, spanTime3.Minutes));
                            writer.AddAttribute(HtmlTextWriterAttribute.Title, titleFormat);
                            writer.RenderBeginTag(HtmlTextWriterTag.Td);

                            this.ParentCalendar.AddSpaceImage(writer, 5, ((int)System.Math.Round((decimal)periodHeight*midSpan/30, 0)));
                            //RenderText(writer, "&nbsp&nbsp");

                            writer.RenderEndTag();
                            writer.RenderEndTag();
                        }

                        // Render Space at the end
                        if(endSpan>0 || (endSpan==0 && midSpan==0 && startSpan==0))
                        {
                            writer.RenderBeginTag(HtmlTextWriterTag.Tr);
                            writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;BORDER-TOP:{1} 1px Solid;height:{0};width:5px", ((int)System.Math.Round((decimal)periodHeight*endSpan/30, 0)), color));

                            writer.RenderBeginTag(HtmlTextWriterTag.Td);
                            this.ParentCalendar.AddSpaceImage(writer, 5, ((int)System.Math.Round((decimal)periodHeight*endSpan/30, 0)));
                            writer.RenderEndTag();
                            writer.RenderEndTag();
                        }

                        writer.RenderEndTag(); // </table>
                        writer.RenderEndTag(); // td
                    }
                    break;
                case CalendarViewType.TaskView:
                    cols = (Helper.GetDaySpan(StartDate, AdjustedEndDate) + 1);
                    startSpan = StartDate.Hour;
                    endSpan = 23 - AdjustedEndDate.Hour;

                    // detect if events spans from out of the boundaries
                    if(StartDate.Date<now.Date)
                    {
                        // Calculate span from current date
                        cols = (Helper.GetDaySpan(now.Date, AdjustedEndDate) + 1);
                        startSpan = 0;
                    }

                    if(EndDate.Date>ParentCalendar.TimescaleEndDate)
                    {
                        cols = (int)((TimeSpan)(ParentCalendar.TimescaleEndDate - ParentCalendar.TimescaleStartDate)).TotalDays;
                        endSpan = 0;
                    }

                    // Calculate total 1 hour spans
                    fullSpan = cols * 24;
                    midSpan = fullSpan - startSpan - endSpan;

                    writer.RenderBeginTag(HtmlTextWriterTag.Tr);

                    // Add border to td
                    color = ParentCalendar.getPaletteColorString(CalendarColorConstants.DefaultBackColor);
                    if(!ParentCalendar.ControlStyle.BorderColor.IsEmpty)
                        color = ColorTranslator.ToHtml(ParentCalendar.ControlStyle.BorderColor);
                    if(!ParentCalendar.ControlStyle.BorderColor.IsEmpty)
                        color = ColorTranslator.ToHtml(ParentCalendar.ControlStyle.BorderColor);
                    writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;BORDER-RIGHT:{0} 1px Solid;BORDER-TOP:{0} 1px Solid;BORDER-LEFT:{0} 1px Solid;width:100%;height:5px;overflow:hidden;", color));

                    // Add color
                    //if(ParentCalendar.EventBarEmptyColor.IsEmpty)
                    //	writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ParentCalendar.getPaletteColorString(CalendarColorConstants.EventBarEmptyColor));
                    //else
                    writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ColorTranslator.ToHtml(EventBarEmptyColor));

                    writer.AddAttribute(HtmlTextWriterAttribute.Height, "5px");
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    // Render output
                    // ADD Table
                    //<table cellpadding="0" width="100%" height="100%" cellspacing="0">

                    writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0");
                    writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
                    writer.AddAttribute(HtmlTextWriterAttribute.Width, "100%");
                    writer.AddAttribute(HtmlTextWriterAttribute.Height, "100%");
                    writer.RenderBeginTag(HtmlTextWriterTag.Table);

                    //<td width="6" style="text-align:center;BORDER-TOP:Black 1px Solid;BORDER-LEFT:Black 1px Solid;background-color:blue;height:25%;width:2px">&nbsp;</td>

                    // Render Space at the beginning
                    if(startSpan>0)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;BORDER-RIGHT:{1} 1px Solid;width:{0}%;height:2px", ((int)System.Math.Round((decimal)100*startSpan/fullSpan, 0)), color));
                        writer.RenderBeginTag(HtmlTextWriterTag.Td);
                        writer.RenderEndTag();
                    }

                    // Render Actual data at the middle
                    if(midSpan>0)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;width:{0}%;height:5px", ((int)System.Math.Round((decimal)100*midSpan/fullSpan, 0))));

                        // Add color
                        //if(ParentCalendar.EventBarFilledColor.IsEmpty)
                        //	writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ParentCalendar.getPaletteColorString(CalendarColorConstants.EventBarFilledColor));
                        //else
                        writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ColorTranslator.ToHtml(EventBarFilledColor));

                        // Add popup description about task length
                        TimeSpan spanTime3 = EndDate - StartDate;
                        string titleFormat = String.Format("{0}{1}{2}", spanTime3.Days == 0 ? "" : String.Format(ParentCalendar.EventBarDaysString, spanTime3.Days), spanTime3.Hours == 0 ? "" : String.Format(ParentCalendar.EventBarHoursString, spanTime3.Hours), spanTime3.Minutes == 0 ? "" : String.Format(ParentCalendar.EventBarMinutesString, spanTime3.Minutes));
                        writer.AddAttribute(HtmlTextWriterAttribute.Title, titleFormat);
                        writer.RenderBeginTag(HtmlTextWriterTag.Td);
                        //RenderText(writer, "&nbsp&nbsp");

                        writer.RenderEndTag();
                    }

                    // Render Space at the end
                    if(endSpan>0)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;BORDER-LEFT:{1} 1px Solid;width:{0}%;height:2px", ((int)System.Math.Round((decimal)100*endSpan/fullSpan, 0)), color));
                        writer.RenderBeginTag(HtmlTextWriterTag.Td);
                        writer.RenderEndTag();
                    }

                    writer.RenderEndTag(); // </table>
                    writer.RenderEndTag(); // td
                    writer.RenderEndTag(); // tr
                    break;
                case CalendarViewType.WeekView2:
                case CalendarViewType.MonthView:

                    cols = (Helper.GetDaySpan(StartDate, AdjustedEndDate) + 1);
                    startSpan = StartDate.Hour;
                    endSpan = 23 - AdjustedEndDate.Hour;

                    // detect if events spans from previous week
                    if(StartDate.Date<now.Date)
                    {
                        // Calculate span from current date
                        cols = (Helper.GetDaySpan(now.Date, AdjustedEndDate) + 1);
                        startSpan = 0;
                    }

                    // detect if event spans to next week
                    if(span == CalendarViewType.MonthView)
                    {
                        if(cols>(7 - Helper.LocalizedDayOfWeek(now.DayOfWeek, ParentCalendar.FirstDayOfWeek)))
                        {
                            cols = (7 - Helper.LocalizedDayOfWeek(now.DayOfWeek, ParentCalendar.FirstDayOfWeek));
                            endSpan = 0;
                        }
                    }
                    else
                    {
                        if(cols>1)
                        {
                            cols = 1; //(7 - Helper.LocalizedDayOfWeek(now.DayOfWeek));
                            endSpan = 0;
                        }
                    }

                    // Calculate total minutes
                    fullSpan = cols * 24;
                    midSpan = fullSpan - startSpan - endSpan;

                    writer.RenderBeginTag(HtmlTextWriterTag.Tr);

                    // Add border to td
                    color = ParentCalendar.getPaletteColorString(CalendarColorConstants.DefaultBackColor);
                    if(!ParentCalendar.ControlStyle.BorderColor.IsEmpty)
                        color = ColorTranslator.ToHtml(ParentCalendar.ControlStyle.BorderColor);
                    if(!ParentCalendar.ControlStyle.BorderColor.IsEmpty)
                        color = ColorTranslator.ToHtml(ParentCalendar.ControlStyle.BorderColor);
                    writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;BORDER-RIGHT:{0} 1px Solid;BORDER-TOP:{0} 1px Solid;BORDER-LEFT:{0} 1px Solid;width:100%;height:5px;overflow:hidden;", color));

                    // Add color
                    //if(ParentCalendar.EventBarEmptyColor.IsEmpty)
                    //	writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ParentCalendar.getPaletteColorString(CalendarColorConstants.EventBarEmptyColor));
                    //else
                    writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ColorTranslator.ToHtml(EventBarEmptyColor));

                    writer.AddAttribute(HtmlTextWriterAttribute.Height, "5px");
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    // Render output
                    // ADD Table
                    //<table cellpadding="0" width="100%" height="100%" cellspacing="0">

                    writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0");
                    writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
                    writer.AddAttribute(HtmlTextWriterAttribute.Width, "100%");
                    writer.AddAttribute(HtmlTextWriterAttribute.Height, "100%");
                    writer.RenderBeginTag(HtmlTextWriterTag.Table);

                    //<td width="6" style="text-align:center;BORDER-TOP:Black 1px Solid;BORDER-LEFT:Black 1px Solid;background-color:blue;height:25%;width:2px">&nbsp;</td>

                    // Render Space at the beginning
                    if(startSpan>0)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;BORDER-RIGHT:{1} 1px Solid;width:{0}%;height:2px", ((int)System.Math.Round((decimal)100*startSpan/fullSpan, 0)), color));
                        writer.RenderBeginTag(HtmlTextWriterTag.Td);
                        writer.RenderEndTag();
                    }

                    // Render Actual data at the middle
                    if(midSpan>0)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;width:{0}%;height:5px", ((int)System.Math.Round((decimal)100*midSpan/fullSpan, 0))));

                        // Add color
                        //if(ParentCalendar.EventBarFilledColor.IsEmpty)
                        //	writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ParentCalendar.getPaletteColorString(CalendarColorConstants.EventBarFilledColor));
                        //else
                        writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ColorTranslator.ToHtml(EventBarFilledColor));

                        // Add popup description about task length
                        TimeSpan spanTime3 = EndDate - StartDate;
                        string titleFormat = String.Format("{0}{1}{2}", spanTime3.Days == 0 ? "" : String.Format(ParentCalendar.EventBarDaysString, spanTime3.Days), spanTime3.Hours == 0 ? "" : String.Format(ParentCalendar.EventBarHoursString, spanTime3.Hours), spanTime3.Minutes == 0 ? "" : String.Format(ParentCalendar.EventBarMinutesString, spanTime3.Minutes));
                        writer.AddAttribute(HtmlTextWriterAttribute.Title, titleFormat);
                        writer.RenderBeginTag(HtmlTextWriterTag.Td);
                        //RenderText(writer, "&nbsp&nbsp");

                        writer.RenderEndTag();
                    }

                    // Render Space at the end
                    if(endSpan>0)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Style, String.Format("text-align:center;BORDER-LEFT:{1} 1px Solid;width:{0}%;height:2px", ((int)System.Math.Round((decimal)100*endSpan/fullSpan, 0)), color));
                        writer.RenderBeginTag(HtmlTextWriterTag.Td);
                        writer.RenderEndTag();
                    }

                    writer.RenderEndTag(); // </table>
                    writer.RenderEndTag(); // td
                    writer.RenderEndTag(); // tr
                    break;
                case CalendarViewType.YearView:
                    break;
            }
        }
Пример #25
0
        private void LoadFolderViewStates(CalendarFolder advicedFolder, ref ExDateTime[] days, ref CalendarViewType viewType, out int viewWidth, out ReadingPanePosition readingPanePosition)
        {
            OwaStoreObjectId owaStoreObjectId = null;

            if (advicedFolder != null)
            {
                owaStoreObjectId = OwaStoreObjectId.CreateFromStoreObject(advicedFolder);
            }
            if (owaStoreObjectId != null && (owaStoreObjectId.Equals(this.UserContext.CalendarFolderOwaId) || owaStoreObjectId.IsPublic))
            {
                CalendarAdapter.InternalGetFolderViewStates(this.UserContext, advicedFolder, ref days, ref viewType, out viewWidth, out readingPanePosition);
                return;
            }
            using (CalendarFolder folderForContent = Utilities.GetFolderForContent <CalendarFolder>(this.UserContext, this.UserContext.CalendarFolderOwaId, CalendarUtilities.FolderViewProperties))
            {
                CalendarAdapter.InternalGetFolderViewStates(this.UserContext, folderForContent, ref days, ref viewType, out viewWidth, out readingPanePosition);
            }
        }
Пример #26
0
 // Token: 0x06002535 RID: 9525 RVA: 0x000D75D4 File Offset: 0x000D57D4
 public void LoadData(PropertyDefinition[] queryProperties, ExDateTime[] days, int startHour, int endHour, CalendarViewType viewType)
 {
     this.LoadData(queryProperties, days, startHour, endHour, viewType, null);
 }
Пример #27
0
        /// <summary>
        /// Initializes a new instance of a Calendar.
        /// </summary>
        public Calendar()
            : base()
        {
            #if (DEMO)
            IsDemoVersion = true;
            #endif

            // only check license in design time
            // we don't use runtime license check to make control easier to deploy
            //if(LicenseManager.CurrentContext.UsageMode == LicenseUsageMode.Designtime)
            //	license = LicenseManager.Validate(typeof(Calendar), this);

            _MaxDisplayedItems = 6;
            //_ShowTime = true;
            _AbbreviatedDayNames = true;
            _ViewType = CalendarViewType.MonthView;
            _SelectedDate = DateTime.Now.Date;
            _HighlightedDate = DateTime.Now.Date;
            _Items = new CalendarItemCollection(this);
            //_holidays = new HolidayCollection(this);

            _CalendarItemDefaultStyle = new CssTableItemStyle();
            _CalendarItemHoverStyle = new CssTableItemStyle();
            _CalendarItemSelectedStyle = new CssTableItemStyle();
            _CalendarItemInactiveStyle = new CssTableItemStyle();
            _CalendarItemHolidayStyle = new CssTableItemStyle();
            //_CalendarDefaultStyle = new TableStyle();
            _CalendarHeaderStyle = new CssTableItemStyle();

            _WorkWeek = CalendarDayOfWeek.Monday | CalendarDayOfWeek.Tuesday | CalendarDayOfWeek.Wednesday | CalendarDayOfWeek.Thursday | CalendarDayOfWeek.Friday;
            _FirstDayOfWeek = CalendarDayOfWeek.Sunday;

            _Dates = new DateCollection(this);
        }
Пример #28
0
 public abstract void Render(int viewWidth, CalendarViewType viewType, ReadingPanePosition readingPanePosition, ReadingPanePosition requestReadingPanePosition);
Пример #29
0
 /// <summary>
 /// Initializes a new instance of a CalendarViewClickEventArgs object.
 /// </summary>
 /// <param name="date">new date, if any</param>
 /// <param name="view">new view if any</param>
 public CalendarViewSelectEventArgs(DateTime date, CalendarViewType view)
 {
     _newDate = date;
     _newView = view;
 }
Пример #30
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);
        }
Пример #31
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;
        }
Пример #32
0
 public static CalendarViewType CreateCalendarViewType(int calendarViewTypeID)
 {
     CalendarViewType calendarViewType = new CalendarViewType();
     calendarViewType.CalendarViewTypeID = calendarViewTypeID;
     return calendarViewType;
 }
Пример #33
0
 // Token: 0x06002534 RID: 9524 RVA: 0x000D75C4 File Offset: 0x000D57C4
 public void LoadData(PropertyDefinition[] queryProperties, ExDateTime[] days, CalendarViewType viewType, ExTimeZone preferredTimeZone)
 {
     this.LoadData(queryProperties, days, 0, 24, viewType, preferredTimeZone);
 }
Пример #34
0
 public void AddToCalendarViewTypes(CalendarViewType calendarViewType)
 {
     base.AddObject("CalendarViewTypes", calendarViewType);
 }
Пример #35
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);
 }
Пример #36
0
        private SanitizedHtmlString GetSharedDataString(DailyView view, int viewWidth, CalendarViewType viewType, ReadingPanePosition readingPanePosition, ReadingPanePosition requestReadingPanePosition)
        {
            SanitizedHtmlString result;

            using (SanitizingStringWriter <OwaHtml> sanitizingStringWriter = new SanitizingStringWriter <OwaHtml>())
            {
                base.RenderValue(sanitizingStringWriter, "sFId", base.SessionContext.CalendarFolderOwaIdString);
                base.RenderValue(sanitizingStringWriter, "sTimeZone", base.SessionContext.TimeZone.Id);
                base.RenderValue(sanitizingStringWriter, "iVT", (int)viewType);
                base.RenderValue(sanitizingStringWriter, "iVW", viewWidth);
                base.RenderValue(sanitizingStringWriter, "iRowH", 24);
                base.RenderValue(sanitizingStringWriter, "iRRP", (int)requestReadingPanePosition);
                base.RenderValue(sanitizingStringWriter, "iNRP", (int)readingPanePosition);
                this.RenderTimeSwoopVariables(sanitizingStringWriter, view);
                sanitizingStringWriter.Write("\"rgDay\":[");
                base.RenderDay(sanitizingStringWriter, view.DateRanges, viewType);
                sanitizingStringWriter.Write("]");
                result = sanitizingStringWriter.ToSanitizedString <SanitizedHtmlString>();
            }
            return(result);
        }