/// <summary> /// Generate Data /// </summary> /// <returns></returns> private SPCalendarItemCollection DataSource() { SPCalendarItemCollection items = new SPCalendarItemCollection(); foreach (SPSCalendarItem item in Items) { SPCalendarItem calItem = new SPCalendarItem { CalendarType = item.CalendarType, StartDate = item.StartDate, EndDate = item.EndDate, IsAllDayEvent = item.IsAllDayEvent, Title = item.Title, Description = item.Description, Location = item.Location, IsRecurrence = item.IsRecurrence, DisplayFormUrl = item.DisplayFormUrl, ItemID = item.ItemID }; if (item.BackgroundColorClassName != null) { calItem.BackgroundColorClassName = item.BackgroundColorClassName; } items.Add(calItem); } return(items); }
/// <summary> /// Generate Data /// </summary> /// <returns></returns> private SPCalendarItemCollection DataSource() { SPCalendarItemCollection items = new SPCalendarItemCollection(); Array.Sort(Items); foreach (SPSCalendarItem item in Items) { SPCalendarItem calItem = new SPCalendarItem { CalendarType = item.CalendarType, StartDate = item.StartDate, EndDate = item.EndDate, IsAllDayEvent = item.IsAllDayEvent, Title = item.Title, Description = item.Description, Location = item.Location, IsRecurrence = item.IsRecurrence, DisplayFormUrl = item.DisplayFormUrl, ItemID = item.ItemID, }; if (item.BackgroundColorClassName != null) { calItem.BackgroundColorClassName = item.BackgroundColorClassName; } #if (DEBUG) XmlSerializer s = new XmlSerializer(typeof(SPSCalendarItem)); StringWriter sw = new StringWriter(); s.Serialize(sw, item); Debug.WriteLine("*" + sw); sw.Close(); #endif items.Add(calItem); } #if (DEBUG) foreach (SPCalendarItem item in items) { SPSDebug.DumpObject(item); } //SPCalendarItem calItem1 = new SPCalendarItem // { // StartDate = new DateTime(2009, 1, 14, 11, 00, 00), // EndDate = new DateTime(2009, 1, 21, 11, 00, 00), // Title = "TEST" // }; //items.Add(calItem1); #endif return(items); }
/// <summary> /// Adds a <see cref="CPCalendarItem"/> object to a <see cref="SPCalendarItemCollection"/> collection. /// </summary> /// <typeparam name="T">The type of item to add.</typeparam> /// <param name="calItems">The collection to add to.</param> /// <param name="item">The item to add.</param> public static void AddItem <T>(this SPCalendarItemCollection calItems, T item) where T : CPCalendarItem { if (item == null) { return; } SPCalendarItem calItem = item.ToSPCalendarItem(); if (calItem != null) { calItems.Add(calItem); } }
//</Snippet3> //<Snippet4> protected void Button1_Click(object sender, EventArgs e) { SPCalendarItemCollection items = new SPCalendarItemCollection(); SPWeb thisWeb = SPControl.GetContextWeb(Context); foreach (ListItem item in CheckBoxList1.Items) { if (item.Selected == true) { SPList calendarList = thisWeb.Lists[item.Text]; DateTime dtStart = DateTime.Now.AddDays(-7); DateTime dtEnd = dtStart.AddMonths(1).AddDays(7); SPQuery query = new SPQuery(); query.Query = String.Format( "<Query>" + "<Where><And>" + "<Geq><FieldRef Name=\"{0}\" />" + "<Value Type=\"DateTime\">{1}</Value></Geq>" + "<Leq><FieldRef Name=\"{0}\" />" + "<Value Type=\"DateTime\">{2}</Value></Leq>" + "</And></Where><OrderBy><FieldRef Name=\"{0}\" /></OrderBy>" + "</Query>", "Start Time", dtStart.ToShortDateString(), dtEnd.ToShortDateString()); foreach (SPListItem listItem in calendarList.GetItems(query)) { SPCalendarItem calItem = new SPCalendarItem(); calItem.ItemID = listItem["ID"].ToString(); calItem.Title = listItem["Title"].ToString(); calItem.CalendarType = Convert.ToInt32(SPCalendarType.Gregorian); calItem.StartDate = (DateTime)listItem["Start Time"]; calItem.ItemID = listItem.ID.ToString(); calItem.WorkSpaceLink = String.Format( "/Lists/{0}/DispForm.aspx", calendarList.Title); calItem.DisplayFormUrl = String.Format( "/Lists/{0}/DispForm.aspx", calendarList.Title); calItem.EndDate = (DateTime)listItem["End Time"]; calItem.Description = listItem["Description"].ToString(); if (listItem["Location"] != null) { calItem.Location = listItem["Location"].ToString(); } items.Add(calItem); } MonthlyCalendarView1.DataSource = items; } } }