public SurveyAnswerResponse DeleteResponse(SurveyAnswerRequest surveyAnswerRequest) { try { SurveyAnswerResponse result = new SurveyAnswerResponse(surveyAnswerRequest.RequestId); SurveyResponseProvider surveyResponseImplementation = new SurveyResponseProvider(_surveyResponseDao); foreach (var response in surveyAnswerRequest.SurveyAnswerList) { if (surveyAnswerRequest.Criteria.IsEditMode) { surveyResponseImplementation.DeleteSurveyResponseInEditMode(response.ToSurveyResponseBO(surveyAnswerRequest.Criteria.UserId), RecordStatus.RecoverLastRecordVersion); } else { if (surveyAnswerRequest.Action != null && surveyAnswerRequest.Action.Equals(RequestAction.DontSave, StringComparison.OrdinalIgnoreCase)) { surveyResponseImplementation.DeleteSurveyResponseInEditMode(response.ToSurveyResponseBO(surveyAnswerRequest.Criteria.UserId), RecordStatus.RecoverLastRecordVersion); } else { surveyResponseImplementation.DeleteSurveyResponse(response.ToSurveyResponseBO(surveyAnswerRequest.Criteria.UserId)); } } } return(result); } catch (Exception ex) { throw new FaultException <CustomFaultException>(new CustomFaultException(ex)); } }
public UserAuthenticationResponse SetPassCode(UserAuthenticationRequest request) { var response = new UserAuthenticationResponse(); SurveyResponseProvider surveyResponseImplementation = new SurveyResponseProvider(_surveyResponseDao); Epi.Cloud.Common.BusinessObjects.UserAuthenticationRequestBO PassCodeBO = request.ToPassCodeBO(); surveyResponseImplementation.SavePassCode(PassCodeBO); return(response); }
public DataEntryService( ISurveyInfoService surveyInfoService, ISecurityDataService securityDataService, IFormInfoDao formInfoDao, ISurveyInfoDao surveyInfoDao, SurveyResponseProvider surveyResponseProvider, ISurveyResponseDao surveyResponseDao) { _surveyInfoService = surveyInfoService; _securityDataService = securityDataService; _formInfoDao = formInfoDao; _surveyInfoDao = surveyInfoDao; _surveyResponseDao = surveyResponseDao; _surveyResponseProvider = surveyResponseProvider; }
public SurveyAnswerResponse UpdateResponseStatus(SurveyAnswerRequest surveyAnswerRequest) { SurveyAnswerResponse surveyAnswerResponse = new SurveyAnswerResponse(); try { SurveyResponseProvider surveyResponseImplementation = new SurveyResponseProvider(_surveyResponseDao); var responseContext = surveyAnswerRequest.ResponseContext; List <SurveyResponseBO> surveyResponseBOList = surveyResponseImplementation.GetSurveyResponseById(responseContext, surveyAnswerRequest.Criteria); foreach (var surveyResponseBO in surveyResponseBOList) { try { if (surveyAnswerRequest.IsChildResponse) { surveyResponseBO.ActiveChildResponseDetail = surveyResponseBO.ResponseDetail.FindFormResponseDetail(surveyAnswerRequest.ResponseId); } surveyResponseBO.IsNewRecord = surveyAnswerRequest.IsNewRecord; surveyResponseBO.UserOrgId = surveyAnswerRequest.Criteria.UserOrganizationId; surveyResponseBO.CurrentOrgId = surveyAnswerRequest.Criteria.UserOrganizationId; surveyResponseBO.UserId = surveyAnswerRequest.Criteria.UserId; surveyResponseBO.UserName = surveyAnswerRequest.Criteria.UserName; surveyResponseBO.LastSaveLogonName = surveyAnswerRequest.Criteria.UserName; surveyResponseBO.LastSaveTime = DateTime.UtcNow; surveyResponseBO.RecStatus = surveyAnswerRequest.Criteria.StatusId; surveyResponseBO.ReasonForStatusChange = surveyAnswerRequest.Criteria.StatusChangeReason; } finally { surveyResponseBO.ActiveChildResponseDetail = null; } } List <SurveyResponseBO> resultList = surveyResponseImplementation.UpdateSurveyResponse(surveyResponseBOList, surveyAnswerRequest.Criteria.StatusId, surveyAnswerRequest.Criteria.StatusChangeReason); surveyAnswerResponse.SurveyResponseList = resultList.Select(bo => bo.ToSurveyAnswerDTO()).ToList(); surveyAnswerResponse.NumberOfResponses = surveyAnswerResponse.SurveyResponseList.Count(); } catch (Exception ex) { throw new FaultException <CustomFaultException>(new CustomFaultException(ex)); } return(surveyAnswerResponse); }
public FormsHierarchyResponse GetFormsHierarchy(FormsHierarchyRequest formsHierarchyRequest) { try { var rootFormId = formsHierarchyRequest.SurveyInfo.FormId; var metadatAccessor = new MetadataAccessor(); var viewId = metadatAccessor.GetFormDigest(rootFormId).ViewId; var formIdHierarchy = metadatAccessor.GetFormIdHierarchyByRootFormId(rootFormId); var formDigests = metadatAccessor.FormDigests.Where(fd => formIdHierarchy.Contains(fd.FormId)).ToArray(); var formInfoDTO = formsHierarchyRequest.SurveyInfo; var surveyInfoBO = formInfoDTO.ToSurveyInfoBO(viewId); var formsHierarchyBOList = formDigests.ToFormsHierarchyBOList(surveyInfoBO); FormsHierarchyResponse formsHierarchyResponse = new FormsHierarchyResponse(); List <SurveyResponseBO> allResponsesIDsList = new List <SurveyResponseBO>(); //1- Get All form ID's List <FormsHierarchyBO> relatedFormIDsList = _surveyInfoService.GetFormsHierarchyIdsByRootFormId(rootFormId); //2- Get all Responses ID's Epi.Cloud.DataEntryServices.SurveyResponseProvider surveyResponseProvider = new SurveyResponseProvider(_surveyResponseDao); if (!string.IsNullOrEmpty(formsHierarchyRequest.SurveyResponseInfo.ResponseId)) { IResponseContext responseContext = formsHierarchyRequest.SurveyResponseInfo.ResponseContext.ResolveMetadataDependencies(); allResponsesIDsList = surveyResponseProvider.GetResponsesHierarchyIdsByRootId(responseContext); } else { allResponsesIDsList = null; } //3 Combining the lists. List <FormsHierarchyBO> combinedList = CombineLists(relatedFormIDsList, allResponsesIDsList); formsHierarchyResponse.FormsHierarchy = combinedList.ToFormsHierarchyDTOList(); return(formsHierarchyResponse); } catch (Exception ex) { throw; } }
public SurveyAnswerResponse GetFormResponseList(SurveyAnswerRequest surveyAnswerRequest) { try { SurveyAnswerResponse result = new SurveyAnswerResponse(surveyAnswerRequest.RequestId); SurveyResponseProvider surveyResponseImplementation = new SurveyResponseProvider(_surveyResponseDao); SurveyAnswerCriteria criteria = surveyAnswerRequest.Criteria; criteria.GridPageSize = AppSettings.GetIntValue(criteria.IsMobile ? AppSettings.Key.MobileResponsePageSize : AppSettings.Key.ResponsePageSize); ResponseGridQueryResultBO responseGridQueryResultBO = surveyResponseImplementation.GetFormResponseListByFormId(surveyAnswerRequest.ResponseContext, criteria); //Query The number of records result.NumberOfResponses = responseGridQueryResultBO.NumberOfResponsesReturnedByQuery; result.NumberOfPages = responseGridQueryResultBO.NumberOfPages; result.NumberOfResponsesPerPage = responseGridQueryResultBO.NumberOfResponsesPerPage; result.QuerySetToken = responseGridQueryResultBO.QuerySetToken; var surveyResponseList = responseGridQueryResultBO.SurveyResponseBOList; result.SurveyResponseList = surveyResponseList.ToSurveyAnswerDTOList(); surveyAnswerRequest.Criteria.FormResponseCount = result.NumberOfResponses; //Query The number of records //result.NumberOfPages = surveyResponseImplementation.GetNumberOfPages(surveyAnswerRequest.Criteria); //Get form info Epi.Cloud.BLL.FormInfo formInfoImplementation = new Epi.Cloud.BLL.FormInfo(_formInfoDao); var formInfoBO = formInfoImplementation.GetFormInfoByFormId(surveyAnswerRequest.Criteria.SurveyId, surveyAnswerRequest.Criteria.UserId); result.FormInfo = formInfoBO.ToFormInfoDTO(); return(result); } catch (Exception ex) { CustomFaultException customFaultException = new CustomFaultException(); customFaultException.CustomMessage = ex.Message; customFaultException.Source = ex.Source; customFaultException.StackTrace = ex.StackTrace; customFaultException.HelpLink = ex.HelpLink; return(null); } }
/// <summary> /// /// </summary> /// <param name="request"></param> /// <returns></returns> public SurveyAnswerStateDTO GetSurveyAnswerState(SurveyAnswerRequest request) { try { SurveyAnswerResponse result = new SurveyAnswerResponse(); SurveyResponseProvider surveyResponseImplementation = new SurveyResponseProvider(_surveyResponseDao); var responseContext = request.ResponseContext; int loggedInUserId = request.UserId; SurveyResponseBO surveyResponseBO = surveyResponseImplementation.GetSurveyResponseStateById(responseContext); SurveyAnswerStateDTO surveyAnswerStateDTO = surveyResponseBO != null?surveyResponseBO.ToSurveyAnswerStateDTO(loggedInUserId) : null; return(surveyAnswerStateDTO); } catch (Exception ex) { throw new FaultException <CustomFaultException>(new CustomFaultException(ex)); } }
/// <summary> /// /// </summary> /// <param name="request"></param> /// <returns></returns> public SurveyAnswerResponse GetSurveyAnswer(SurveyAnswerRequest request) { try { SurveyAnswerResponse result = new SurveyAnswerResponse(request.RequestId); Epi.Cloud.DataEntryServices.SurveyResponseProvider surveyResponseProvider = new SurveyResponseProvider(_surveyResponseDao); var responseContext = request.ResponseContext; var criteria = request.Criteria as SurveyAnswerCriteria; List <SurveyResponseBO> surveyResponseList = surveyResponseProvider.GetSurveyResponseById(responseContext, request.Criteria); result.SurveyResponseList = surveyResponseList.ToSurveyAnswerDTOList(); SurveyInfoBO surveyInfoBO = _surveyInfoService.GetSurveyInfoByFormId(request.FormId ?? request.RootFormId); result.FormInfo = surveyInfoBO.ToFormInfoDTO(); return(result); } catch (Exception ex) { throw new FaultException <CustomFaultException>(new CustomFaultException(ex)); } }
public UserAuthenticationResponse PassCodeLogin(UserAuthenticationRequest request) { var response = new UserAuthenticationResponse(); SurveyResponseProvider surveyResponseImplementation = new SurveyResponseProvider(_surveyResponseDao); UserAuthenticationRequestBO passCodeBO = request.ToPassCodeBO(); bool result = surveyResponseImplementation.ValidateUser(passCodeBO); if (result) { response.Message = "Invalid Pass Code."; response.UserIsValid = true; } else { response.UserIsValid = false; } return(response); }