/// <summary>Retrieves a collection of calendars by role.</summary> /// <param name="roleName">The name of the role.</param> /// <returns>A collection of calendars.</returns> public CalendarCollection GetCalendarByRole(string roleName) { CalendarCollection collection = new CalendarCollection(); string listName; string url = ParseSiteUrl(m_calendarsListURL, out listName); using (SPSite site = new SPSite(url)) { using (SPWeb web = site.OpenWeb()) { SPList list = web.Lists[HttpContext.Current.Server.HtmlDecode(listName)]; SPQuery query = new SPQuery(); query.Query = "<Where><Contains><FieldRef Name='Role'/><Value Type='Text'>" + roleName + "</Value></Contains></Where>"; SPListItemCollection items = list.GetItems(query); if (items.Count > 0) { foreach (SPListItem item in items) { Calendar calendar = CalendarFromListItem(item, true); calendar.IsUserSelected = false; collection.Add(calendar); } } } } return(collection); }
/// <summary>Gets a collection of user calendars.</summary> /// <param name="calendarsIdList">A list of calendars.</param> /// <returns>A <see cref="CalendarCollection"/>.</returns> public CalendarCollection GetUserCalendars(string calendarsIdList) { CalendarCollection collection = new CalendarCollection(); if (calendarsIdList.Length > 0) { string listName; string url = ParseSiteUrl(m_calendarsListURL, out listName); using (SPSite site = new SPSite(url)) { using (SPWeb web = site.OpenWeb()) { SPList list = web.Lists[listName.Replace("%20", " ")]; string[] idslist = calendarsIdList.Split(','); SPQuery query = new SPQuery(); query.Query = "<Where><Or>"; foreach (string tmp in idslist) { query.Query += "<Eq><FieldRef Name='ID'/><Value>" + tmp; query.Query += "</value></Eq>"; } query.Query += "</Or></Where>"; SPListItemCollection items = list.GetItems(query); if (items.Count > 0) { foreach (SPListItem item in items) { collection.Add(CalendarFromListItem(item, false)); } } } } } return(collection); }