/// <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);
        }
Exemple #2
0
        /// <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;
                }
            }
        }