private Page <FormulateSubmission> GetPagedResults(GetStoredDataRequest request, Guid formId) { using (var scope = ScopeProvider.CreateScope()) { var dbResults = scope.Database.Page <FormulateSubmission>(request.Page, request.ItemsPerPage, "WHERE FormId = @0 ORDER BY SequenceId DESC", formId); return(dbResults); } }
public object GetSubmissions([FromUri] GetStoredDataRequest request) { // Variables. var formId = GuidHelper.GetGuid(request.FormId); var form = Forms.Retrieve(formId); var fieldsById = form.Fields.ToDictionary(x => x.Id, x => x); var db = ApplicationContext.DatabaseContext.Database; var dbResults = db.Page <FormulateSubmission>(request.Page, request.ItemsPerPage, "WHERE FormId = @0 ORDER BY SequenceId DESC", formId); var items = dbResults.Items; // If the form was not found, indicate an error. if (form == null) { return(new { Success = false //TODO: Failure message? }); } // Return form submissions. return(new { Success = true, Total = (int)dbResults.TotalItems, Submissions = items.Select(x => new { GeneratedId = GuidHelper.GetString(x.GeneratedId), CreationDate = x.CreationDate.AddMinutes(-request.TimezoneOffset).ToString(), Url = x.Url, PageId = x.PageId, Fields = GetDataForFields(x.DataValues, fieldsById, form), Files = GetDataForFiles(x.FileValues, fieldsById, form) }).ToArray() }); }