/// <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; } }
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); } }
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; } }
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)); }
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("}"); }
public void RenderCalendarView() { CalendarViewType calendarViewType = this.viewType; if (calendarViewType != CalendarViewType.Min) { return; } this.RenderDailyView(); }
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; }
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; }
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); }
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)); }
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(); }
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(); }
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> "); } 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(")"); } }
/// <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; } }
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; }
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; } } }
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)); } }
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)); }
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); } }
// 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; }
// 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); }
// 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); }
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"> </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, "  "); 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"> </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, "  "); 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"> </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, "  "); 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; } }
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); } }
// 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); }
/// <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); }
public abstract void Render(int viewWidth, CalendarViewType viewType, ReadingPanePosition readingPanePosition, ReadingPanePosition requestReadingPanePosition);
/// <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; }
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); }
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; }
public static CalendarViewType CreateCalendarViewType(int calendarViewTypeID) { CalendarViewType calendarViewType = new CalendarViewType(); calendarViewType.CalendarViewTypeID = calendarViewTypeID; return calendarViewType; }
// 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); }
public void AddToCalendarViewTypes(CalendarViewType calendarViewType) { base.AddObject("CalendarViewTypes", calendarViewType); }
// 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); }
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); }