public FormsViewerResponse Detail([FromBody] FormViewRequest request) { var result = this.dataProvider.GetEntries(request.FormId, request.StartDate, request.EndDate); var response = new FormsViewerResponse { Headers = result.SelectMany(t => t.Fields).Select(t => t.FieldName).Distinct().ToList(), Entries = new List <List <string> >() }; foreach (var entry in result) { List <string> rowData = new List <string>(); // Add to the first place the created date. rowData.Add(entry.Created.ToString()); foreach (var header in response.Headers) { var field = entry.Fields.FirstOrDefault(t => t.FieldName == header); string value = string.Empty; if (field == null) { value = "-"; } else if (field.ValueType.Equals("System.Collections.Generic.List`1[Sitecore.ExperienceForms.Data.Entities.StoredFileInfo]", StringComparison.OrdinalIgnoreCase)) { if (field.Value.Contains(',')) { foreach (var file in field.Value.Split(',').Where(t => !string.IsNullOrEmpty(t))) { value += string.Format("<a target=\"_blank\" href=\"{0}\">Download</a><br>", Sitecore.Web.WebUtil.GetFullUrl(string.Format(FileDownloadPattern, file))); } } else { value = string.Format("<a target=\"_blank\" href=\"{0}\">Download</a>", Sitecore.Web.WebUtil.GetFullUrl(string.Format(FileDownloadPattern, field.Value))); } } else { value = field.Value; } rowData.Add(value); } response.Entries.Add(rowData); } // Insert created header response.Headers.Insert(0, "Created"); return(response); }
public FormStatistics Statistics([FromBody] FormViewRequest request) { return(this.statisticsProvider.GetFormStatistics(request.FormId, request.StartDate.HasValue ? request.StartDate.Value : DateTime.MinValue, request.EndDate.HasValue ? request.EndDate.Value : DateTime.MaxValue)); }