private List <FormResponseProperties> ReadAllChildResponses(ResponseGridQueryCriteria responseGridQueryCriteria, bool includeChildrenOfChild = false) { try { List <FormResponseProperties> childResponses = new List <FormResponseProperties>(); var responseContext = responseGridQueryCriteria.ResponseContext; var rootFormName = responseContext.RootFormName; var rootResponseResource = ReadRootResponseResource(responseContext, false); var formResponsePropertiesList = rootResponseResource.GetChildResponseList(responseContext) .Where(r => r.RecStatus != RecordStatus.Deleted).ToList(); if (formResponsePropertiesList != null && formResponsePropertiesList.Count > 0) { childResponses = formResponsePropertiesList .OrderByDescending(r => r.LastSaveTime) .ToList(); var pageSize = responseGridQueryCriteria.DisplayPageSize; if (pageSize > 0) { var pageNumber = responseGridQueryCriteria.DisplayPageNumber; childResponses = childResponses.Skip((pageNumber * pageSize) - pageSize).Take(pageSize).ToList(); } } return(childResponses); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } return(null); }
private ResponseGridQueryPropertiesResult ReadAllRootResponses(ResponseGridQueryCriteria responseGridQueryCriteria, bool includeChildren = false) { try { var responseContext = responseGridQueryCriteria.ResponseContext; var accessRuleContext = responseGridQueryCriteria.ResponseAccessRuleContext; var rootFormName = responseContext.RootFormName ?? this.GetRootFormName(responseContext.RootFormId); string query; var collectionAlias = rootFormName; var rootFormCollectionUri = GetCollectionUri(rootFormName); List <string> formProperties = new List <string> { "FormId", "FirstSaveTime", "LastSaveTime", "ResponseId", "UserName", "IsDraftMode" }; query = GenerateResponseGridQuery(collectionAlias, responseContext.FormId, formProperties, responseGridQueryCriteria.TrueCaseFieldNames, responseGridQueryCriteria.SearchFieldNameValueQualifiers, accessRuleContext != null && accessRuleContext.IsSharable ? accessRuleContext : null, responseGridQueryCriteria.QuerySetToken); var responseGridQueryPropertiesResult = GetAllRootResponses(responseGridQueryCriteria, query, responseGridQueryCriteria.DisplayPageNumber, responseGridQueryCriteria.DisplayPageSize, responseGridQueryCriteria.QuerySetToken).Result; return(responseGridQueryPropertiesResult); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } return(null); }
/// <summary> /// GetAllResponsesWithCriteria /// </summary> /// <param name="responseGridQueryCriteria"></param> /// <returns></returns> public ResponseGridQueryPropertiesResult GetAllResponsesWithCriteria(ResponseGridQueryCriteria responseGridQueryCriteria) { ResponseGridQueryPropertiesResult responseGridQueryPropertiesResult = null; try { responseGridQueryPropertiesResult = ReadAllResponsesWithCriteria(responseGridQueryCriteria); } catch (DocumentQueryException ex) { Console.WriteLine(ex.ToString()); } return(responseGridQueryPropertiesResult); }
/// <summary> /// Execute DB SP-Get all records by FormName (aka: collectionId) /// </summary> /// <param name="collectionId"></param> /// <param name="spId"></param> /// <param name="udfWildCardCompareId"></param> /// <param name="query"></param> /// <returns></returns> private async Task <ResponseGridQueryPropertiesResult> GetAllRootResponses(ResponseGridQueryCriteria responseGridQueryCriteria, string query, int pageNumber, int responsesPerPage, string querySetToken) { string collectionId = responseGridQueryCriteria.ResponseContext.RootFormName; string sortKey = responseGridQueryCriteria.SortByField.ToLowerInvariant(); bool isSortAscending = responseGridQueryCriteria.IsSortedAscending; var queryResult = await ExecuteSPAsync(collectionId, spGetGridContent, udfSharingRules, udfWildCardCompare, query, sortKey, isSortAscending, pageNumber, responsesPerPage, querySetToken); return(queryResult); }
public ResponseGridQueryResult GetAllResponsesWithCriteria(ResponseGridQueryCriteria responseGridQueryCriteria) { ResponseGridQueryPropertiesResult responseGridQueryPropertiesResult = _formResponseCRUD.GetAllResponsesWithCriteria(responseGridQueryCriteria); var formResponseDetailList = responseGridQueryPropertiesResult.ResponsePropertiesList.ToFormResponseDetailList(); var result = new ResponseGridQueryResult { FormResponseDetailList = responseGridQueryPropertiesResult.ResponsePropertiesList.ToFormResponseDetailList(), QuerySetToken = responseGridQueryPropertiesResult.QuerySetToken, NumberOfResponsesReturnedByQuery = responseGridQueryPropertiesResult.NumberOfResponsesReturnedByQuery, NumberOfResponsesPerPage = responseGridQueryPropertiesResult.NumberOfResponsesPerPage, NumberOfResponsesOnSelectedPage = responseGridQueryPropertiesResult.NumberOfResponsesOnSelectedPage, PageNumber = responseGridQueryPropertiesResult.PageNumber, NumberOfPages = responseGridQueryPropertiesResult.NumberOfPages, PostProcessingWasRequired = responseGridQueryPropertiesResult.IsPostProcessingRequired }; return(result); }
private ResponseGridQueryPropertiesResult ReadAllResponsesWithCriteria(ResponseGridQueryCriteria responseGridQueryCriteria) { ResponseGridQueryPropertiesResult responseGridQueryPropertiesResult = new ResponseGridQueryPropertiesResult(); if (responseGridQueryCriteria.ResponseContext.IsChildResponse) { //if (responseGridQueryCriteria.SearchQualifiers != null && responseGridQueryCriteria.SearchQualifiers.Count > 0) // throw new ArgumentException("Search not available on child forms"); responseGridQueryPropertiesResult.ResponsePropertiesList = ReadAllChildResponses(responseGridQueryCriteria, /*includeChildrenOfChild*/ false); } else { try { responseGridQueryPropertiesResult = ReadAllRootResponses(responseGridQueryCriteria, false); } catch (DocumentQueryException ex) { Console.WriteLine(ex.ToString()); } } return(responseGridQueryPropertiesResult); }