Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }