public ActionResult Download(Guid entityListId, Guid viewId, string from, string to, string filter, string search) { DateTime parsedFrom; var fromDate = DateTime.TryParseExact(from, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out parsedFrom) ? parsedFrom : DateTime.UtcNow.AddYears(-10); DateTime parsedTo; var toDate = DateTime.TryParseExact(to, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out parsedTo) ? parsedTo : DateTime.UtcNow.AddYears(10); var dataAdapter = new EntityListCalendarDataAdapter( new EntityReference("adx_entitylist", entityListId), new EntityReference("savedquery", viewId), new PortalConfigurationDataAdapterDependencies(requestContext: Request.RequestContext)); var events = dataAdapter.SelectEvents(fromDate, toDate, filter, search) .OrderBy(e => e.Start) .ThenBy(e => e.Summary); var vcalendar = new VCalendar(events.Select(GetVEvent)); return(new ContentResult { ContentType = "text/calendar", Content = vcalendar.ToString() }); }
public ActionResult Index(Guid entityListId, Guid viewId, string from, string to, string filter, string search) { DateTime fromDate; if (!DateTime.TryParseExact(from, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out fromDate)) { return(Error(@"Unable to parse ""from"" parameter in required date format.")); } DateTime toDate; if (!DateTime.TryParseExact(to, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out toDate)) { return(Error(@"Unable to parse ""to"" parameter in required date format.")); } var dataAdapter = new EntityListCalendarDataAdapter( new EntityReference("adx_entitylist", entityListId), new EntityReference("savedquery", viewId), new PortalConfigurationDataAdapterDependencies(requestContext: Request.RequestContext)); var events = dataAdapter.SelectEvents(fromDate, toDate, filter, search) .OrderBy(e => e.Start) .ThenBy(e => e.Summary); return(new JObjectResult(new JObject { { "success", 1 }, { "result", new JArray(events.Select(GetEventJson)) } })); }
public ActionResult Index(Guid entityListId, Guid viewId, string from, string to, string filter, string search) { DateTime fromDate; if (!DateTime.TryParseExact(from, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out fromDate)) { return(Error(ResourceManager.GetString("Unable_To_Parse_From_Parameter_Error"))); } DateTime toDate; if (!DateTime.TryParseExact(to, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out toDate)) { return(Error(ResourceManager.GetString("Unable_To_Parse_Parameter_In_Required_ToDate_Format_Exception"))); } try { var dataAdapter = new EntityListCalendarDataAdapter( new EntityReference("adx_entitylist", entityListId), new EntityReference("savedquery", viewId), new PortalConfigurationDataAdapterDependencies(requestContext: Request.RequestContext)); var events = dataAdapter.SelectEvents(fromDate, toDate, filter, search).OrderBy(e => e.Start).ThenBy(e => e.Summary); return(new JObjectResult(new JObject { { "success", 1 }, { "result", new JArray(events.Select(GetEventJson)) } })); } catch (LocalizedException ex) { return(Error(ex.Message)); } catch { return(Error(ResourceManager.GetString("CalendarControl_LoadingError"))); } }