Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 7
0
        /// <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));
            }
        }
Esempio n. 8
0
        /// <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));
            }
        }
Esempio n. 9
0
        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);
        }