public string GetFirstFormSubmission(int formId, int pageLimt, int pageNumber, string customStartDateTicks, string customEndDateTicks, int?periodId) { DateTime startDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue, endDate = DateTime.UtcNow; startDate = startDate.AddYears(1); if (periodId == null) { periodId = 0; } List <DateTime> dates = GetDates(periodId, customStartDateTicks, customEndDateTicks); startDate = dates.FirstOrDefault(); endDate = dates.LastOrDefault(); var request = new GetFormSubmissionsRequest() { FormId = formId, StartDate = startDate, EndDate = endDate, PageLimit = 1, PageNumber = 1 }; var formSubmissions = formService.GetFormSubmissions(request); return(formSubmissions.FormSubmissions.IsAny() ? formSubmissions.FormSubmissions.FirstOrDefault().SubmittedData : string.Empty); }
public JsonResult GetFormSubmissions(int formId, int pageLimt, int pageNumber, string customStartDateTicks, string customEndDateTicks, int?periodId) { DateTime startDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue, endDate = DateTime.UtcNow; startDate = startDate.AddYears(1); if (periodId == null) { periodId = 0; } List <DateTime> dates = GetDates(periodId, customStartDateTicks, customEndDateTicks); startDate = dates.FirstOrDefault(); endDate = dates.LastOrDefault(); var request = new GetFormSubmissionsRequest() { FormId = formId, StartDate = startDate, EndDate = endDate, PageLimit = pageLimt, PageNumber = pageNumber }; var formSubmissions = formService.GetFormSubmissions(request); if (formSubmissions != null && formSubmissions.FormSubmissions.IsAny()) { formSubmissions.FormSubmissions.ToList().ForEach(f => f.SubmittedOn = f.SubmittedOn.ToUtc()); } return(Json(new { success = true, response = formSubmissions }, JsonRequestBehavior.AllowGet)); }
public ActionResult FormSubmissionsExprortAsFile(int formId, int pageLimt, int pageNumber, string customStartDateTicks, string customEndDateTicks, int?periodId) { DateTime startDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue, endDate = DateTime.UtcNow; startDate = startDate.AddYears(1); if (periodId == null) { periodId = 0; } List <DateTime> dates = GetDates(periodId, customStartDateTicks, customEndDateTicks); startDate = dates.FirstOrDefault(); endDate = dates.LastOrDefault(); var request = new GetFormSubmissionsRequest() { FormId = formId, StartDate = startDate, EndDate = endDate, PageLimit = pageLimt, PageNumber = pageNumber }; var formSubmissions = formService.GetFormSubmissions(request); var d = new Dictionary <int, Dictionary <string, string> >(); Func <JToken, string, string> getValue = (o, p) => { if (o is JObject) { foreach (KeyValuePair <string, JToken> keyValuePair in (JObject)o) { if (p == keyValuePair.Key) { return(keyValuePair.Value.ToString()); } } } else if (o.Type != JTokenType.Array) { return(o.ToString()); } return(string.Empty); }; Func <string, DateTime, Dictionary <string, string> > func = (s, submittedOn) => { var r = new Dictionary <string, string>(); r.Add("Submission Date", submittedOn.ToString()); var c = JsonConvert.DeserializeObject <Dictionary <string, JToken> >(s); foreach (var kv in c) { string value = (kv.Value != null) ? getValue(kv.Value, "NewValue") : string.Empty; try { r.Add(kv.Key, value); } catch { } } return(r); }; var sw = new System.Diagnostics.Stopwatch(); sw.Start(); foreach (var submission in formSubmissions.FormSubmissions) { d.Add(submission.FormSubmissionId, func(submission.SubmittedData, submission.SubmittedOn)); } sw.Stop(); var e = sw.ElapsedTicks; var dt = getDataTable(d); var excel = new ReadExcel(); string fileKey = Guid.NewGuid().ToString(); bool result = cachingService.StoreTemporaryFile(fileKey, excel.ConvertDataSetToExcel(dt, "")); return(Json(new { success = true, fileKey = fileKey, fileName = "FormSubmissions.xlsx" }, JsonRequestBehavior.AllowGet)); }