public FormResponseDetail CreateResponseDocument(IResponseContext responseContext, PageDigest[] pageDigests) { int numberOfPages = pageDigests.Length; var firstPageDigest = pageDigests.First(); var formId = firstPageDigest.FormId; var formName = firstPageDigest.FormName; FormResponseDetail formResponseDetail = responseContext.ToFormResponseDetail(); formResponseDetail.LastPageVisited = 1; foreach (var pageDigest in pageDigests) { var fieldNames = pageDigest.FieldNames; var pageResponseDetail = new PageResponseDetail { PageId = pageDigest.PageId, PageNumber = pageDigest.PageNumber, ResponseQA = fieldNames.Select(x => new { Key = x.ToLower(), Value = string.Empty }).ToDictionary(n => n.Key, v => v.Value) }; SetRequiredList(pageDigest.Fields); formResponseDetail.AddPageResponseDetail(pageResponseDetail); } return(formResponseDetail); }
public static SurveyAnswerDTO ToSurveyAnswerDTOLite(this IResponseContext responseContext, SurveyAnswerDTO surveyAnswerDTO = null, int?recStatus = null) { if (surveyAnswerDTO == null) { surveyAnswerDTO = new SurveyAnswerDTO(); } surveyAnswerDTO.ResponseDetail = responseContext.ToFormResponseDetail(); if (recStatus.HasValue) { surveyAnswerDTO.RecStatus = recStatus.Value; } surveyAnswerDTO.LastActiveUserId = responseContext.UserId; surveyAnswerDTO.LastActiveOrgId = responseContext.UserOrgId; return(surveyAnswerDTO); }
/// <summary> /// Creates the first survey response in the response table /// </summary> /// <param name="responseContext"></param> /// <param name="surveyAnswerRequest1"></param> /// <param name="surveyAnswerDTO"></param> /// <param name="surveyResponseBuilder"></param> /// <param name="dataEntryService"></param> /// <param name="isEditMode"></param> /// <param name="currentOrgId"></param> /// <returns></returns> public static SurveyAnswerDTO CreateSurveyResponse(IResponseContext responseContext, SurveyAnswerRequest surveyAnswerRequest1, SurveyAnswerDTO surveyAnswerDTO, SurveyResponseBuilder surveyResponseBuilder, IDataEntryService dataEntryService) { SurveyAnswerRequest surveyAnswerRequest = new SurveyAnswerRequest(); surveyAnswerRequest.ResponseContext = responseContext; FormResponseDetail responseDetail = responseContext.ToFormResponseDetail(); surveyAnswerDTO.ResponseDetail = responseDetail; responseContext.ToSurveyAnswerDTOLite(surveyAnswerDTO); surveyAnswerDTO.DateCreated = DateTime.UtcNow; surveyAnswerDTO.SurveyId = responseContext.FormId; surveyAnswerDTO.Status = RecordStatus.InProcess; surveyAnswerDTO.LastActiveOrgId = responseContext.UserOrgId; surveyAnswerDTO.LastActiveUserId = responseContext.UserId; surveyAnswerDTO.LoggedInUserOrgId = responseContext.UserOrgId; surveyAnswerDTO.LoggedInUserId = responseContext.UserId; surveyAnswerDTO.RecordSourceId = RecordSource.CloudEnter; surveyAnswerDTO.ParentResponseId = responseContext.ParentResponseId; surveyAnswerRequest.Criteria.UserOrganizationId = responseContext.UserOrgId; surveyAnswerRequest.Criteria.UserId = responseContext.UserId; surveyAnswerRequest.Criteria.UserName = responseContext.UserName; surveyAnswerRequest.SurveyAnswerList.Add(surveyAnswerDTO); surveyAnswerRequest.Action = responseContext.IsChildResponse ? RequestAction.CreateChild : RequestAction.Create; dataEntryService.SetSurveyAnswer(surveyAnswerRequest); return(surveyAnswerDTO); }