/// <summary> /// Injectinting ISurveyInfoRepository through Constructor /// </summary> /// <param name="iSurveyInfoRepository"></param> public TestSurveyFacade(ISurveyInfoRepository iSurveyInfoRepository, ISurveyAnswerRepository iSurveyResponseRepository, Epi.Web.Common.Message.SurveyInfoRequest surveyInfoRequest, Epi.Web.Common.Message.SurveyAnswerRequest surveyResponseRequest, Common.DTO.SurveyAnswerDTO surveyAnswerDTO, SurveyResponseXML surveyResponseXML) { _iSurveyInfoRepository = iSurveyInfoRepository; _iSurveyResponseRepository = iSurveyResponseRepository; _surveyInfoRequest = surveyInfoRequest; _surveyAnswerRequest = surveyResponseRequest; _surveyAnswerDTO = surveyAnswerDTO; _surveyResponseXML = surveyResponseXML; }
/// <summary> /// Injectinting ISurveyInfoRepository through Constructor /// </summary> /// <param name="iSurveyInfoRepository"></param> public SurveyFacade(ISurveyInfoRepository iSurveyInfoRepository, ISurveyAnswerRepository iSurveyResponseRepository, Epi.Web.Enter.Common.Message.SurveyInfoRequest surveyInfoRequest, Epi.Web.Enter.Common.Message.SurveyAnswerRequest surveyResponseRequest, Enter.Common.DTO.SurveyAnswerDTO surveyAnswerDTO, SurveyResponseXML surveyResponseXML, UserAuthenticationRequest surveyAuthenticationRequest, Epi.Web.Enter.Common.DTO.PassCodeDTO PassCodeDTO, FormInfoDTO FormInfoDTO) { _iSurveyInfoRepository = iSurveyInfoRepository; _iSurveyAnswerRepository = iSurveyResponseRepository; _surveyInfoRequest = surveyInfoRequest; _surveyAnswerRequest = surveyResponseRequest; _surveyAnswerDTO = surveyAnswerDTO; _surveyResponseXML = surveyResponseXML; _surveyAuthenticationRequest = surveyAuthenticationRequest; _PassCodeDTO = PassCodeDTO; _FormInfoDTO = FormInfoDTO; }
/// <summary> /// Injectinting ISurveyInfoRepository through Constructor /// </summary> /// <param name="iSurveyInfoRepository"></param> public SurveyFacade(ISurveyInfoRepository iSurveyInfoRepository, ISurveyAnswerRepository iSurveyResponseRepository, Epi.Web.Common.Message.SurveyInfoRequest surveyInfoRequest, Epi.Web.Common.Message.SurveyAnswerRequest surveyResponseRequest, Common.DTO.SurveyAnswerDTO surveyAnswerDTO, SurveyResponseXML surveyResponseXML, UserAuthenticationRequest surveyAuthenticationRequest, Epi.Web.Common.DTO.PassCodeDTO PassCodeDTO, IOrganizationAccountRepository iOrgAccountRepository) { _iSurveyInfoRepository = iSurveyInfoRepository; _iSurveyAnswerRepository = iSurveyResponseRepository; _surveyInfoRequest = surveyInfoRequest; _surveyAnswerRequest = surveyResponseRequest; _surveyAnswerDTO = surveyAnswerDTO; _surveyResponseXML = surveyResponseXML; _surveyAuthenticationRequest = surveyAuthenticationRequest; _PassCodeDTO = PassCodeDTO; _iOrgAccountRepository = iOrgAccountRepository; }
private string CreateResponseXml(Epi.Web.Enter.Common.Message.PreFilledAnswerRequest request, List <SurveyInfoBO> SurveyBOList) { string ResponseXml; XDocument SurveyXml = new XDocument(); foreach (var item in SurveyBOList) { SurveyXml = XDocument.Parse(item.XML); } SurveyResponseXML Implementation = new SurveyResponseXML(request, SurveyXml); ResponseXml = Implementation.CreateResponseDocument(SurveyXml).ToString(); return(ResponseXml); }
private Dictionary <string, string> ValidateResponse(List <SurveyInfoBO> SurveyBOList, PreFilledAnswerRequest request) { XDocument SurveyXml = new XDocument(); foreach (var item in SurveyBOList) { SurveyXml = XDocument.Parse(item.XML); } Dictionary <string, string> MessageList = new Dictionary <string, string>(); Dictionary <string, string> FieldNotFoundList = new Dictionary <string, string>(); Dictionary <string, string> WrongFieldTypeList = new Dictionary <string, string>(); SurveyResponseXML Implementation = new SurveyResponseXML(request, SurveyXml); FieldNotFoundList = Implementation.ValidateResponseFileds(); //WrongFieldTypeList = Implementation.ValidateResponseFiledTypes(); MessageList = MessageList.Union(FieldNotFoundList).Union(WrongFieldTypeList).ToDictionary(k => k.Key, v => v.Value); return(MessageList); }
public FormResponseInfoModel GetFormResponseInfoModel(string SurveyId, int PageNumber, string sort = "", string sortfield = "", int orgid = -1) { int UserId = SurveyHelper.GetDecryptUserId(Session["UserId"].ToString()); FormResponseInfoModel FormResponseInfoModel = new FormResponseInfoModel(); FormResponseInfoModel.SearchModel = new SearchBoxModel(); SurveyResponseXML SurveyResponseXML = new SurveyResponseXML(); if (!string.IsNullOrEmpty(SurveyId)) { SurveyAnswerRequest FormResponseReq = new SurveyAnswerRequest(); FormSettingRequest FormSettingReq = new Enter.Common.Message.FormSettingRequest(); //Populating the request FormSettingReq.FormInfo.FormId = SurveyId; FormSettingReq.FormInfo.UserId = UserId; //Getting Column Name List FormSettingReq.CurrentOrgId = orgid; FormSettingReq.FormInfoOnly = true; FormSettingResponse FormSettingResponse = _isurveyFacade.GetFormSettings(FormSettingReq); //Pain Point Columns = FormSettingResponse.FormSetting.ColumnNameList.ToList(); Columns.Sort(Compare); // Setting Column Name List FormResponseInfoModel.Columns = Columns; FormResponseInfoModel.FormInfoModel.IsShared = FormSettingResponse.FormInfo.IsShared; FormResponseInfoModel.FormInfoModel.IsShareable = FormSettingResponse.FormInfo.IsShareable; // Set User Role //if (FormResponseInfoModel.FormInfoModel.IsShared) //{ // SetUserRole(UserId, orgid); //} //else //{ //SetUserRole(UserId, FormSettingResponse.FormInfo.OrganizationId); //} SetUserRole(UserId, orgid); FormResponseReq.Criteria.SurveyId = SurveyId.ToString(); FormResponseReq.Criteria.PageNumber = PageNumber; FormResponseReq.Criteria.UserId = UserId; FormResponseReq.Criteria.IsSqlProject = FormSettingResponse.FormInfo.IsSQLProject; FormResponseReq.Criteria.IsShareable = FormSettingResponse.FormInfo.IsShareable; FormResponseReq.Criteria.UserOrganizationId = orgid; Session["IsSqlProject"] = FormSettingResponse.FormInfo.IsSQLProject; Session["IsOwner"] = FormSettingResponse.FormInfo.IsOwner; //if (Session["SearchCriteria"] != null) //{ // FormResponseInfoModel.SearchModel = (SearchBoxModel)Session["SearchCriteria"]; //} // Following code retain search starts if (Session["SearchCriteria"] != null && !string.IsNullOrEmpty(Session["SearchCriteria"].ToString()) && (Request.QueryString["col1"] == null || Request.QueryString["col1"] == "undefined")) { FormResponseReq.Criteria.SearchCriteria = Session["SearchCriteria"].ToString(); FormResponseInfoModel.SearchModel = (SearchBoxModel)Session["SearchModel"]; } else { FormResponseReq.Criteria.SearchCriteria = CreateSearchCriteria(Request.QueryString, FormResponseInfoModel.SearchModel, FormResponseInfoModel); Session["SearchModel"] = FormResponseInfoModel.SearchModel; Session["SearchCriteria"] = FormResponseReq.Criteria.SearchCriteria; } // Following code retain search ends PopulateDropDownlists(FormResponseInfoModel, FormSettingResponse.FormSetting.FormControlNameList.ToList()); if (sort.Length > 0) { FormResponseReq.Criteria.SortOrder = sort; } if (sortfield.Length > 0) { FormResponseReq.Criteria.Sortfield = sortfield; } SurveyAnswerResponse FormResponseList = _isurveyFacade.GetFormResponseList(FormResponseReq);//Pain Point //var ResponseTableList ; //= FormSettingResponse.FormSetting.DataRows; //Setting Resposes List List <ResponseModel> ResponseList = new List <ResponseModel>(); foreach (var item in FormResponseList.SurveyResponseList) { if (item.SqlData != null) { ResponseList.Add(ConvertRowToModel(item, Columns)); } else { ResponseList.Add(SurveyResponseXML.ConvertXMLToModel(item, Columns)); } } //foreach (var item in FormResponseList.SurveyResponseList) //{ // ResponseList.Add(SurveyResponseXML.ConvertXMLToModel(item, Columns)); //} FormResponseInfoModel.ResponsesList = ResponseList; //Setting Form Info FormResponseInfoModel.FormInfoModel = Mapper.ToFormInfoModel(FormResponseList.FormInfo); //Setting Additional Data FormResponseInfoModel.NumberOfPages = FormResponseList.NumberOfPages; FormResponseInfoModel.PageSize = ReadPageSize(); FormResponseInfoModel.NumberOfResponses = FormResponseList.NumberOfResponses; FormResponseInfoModel.sortfield = sortfield; FormResponseInfoModel.sortOrder = sort; FormResponseInfoModel.CurrentPage = PageNumber; } return(FormResponseInfoModel); }
public ActionResult Index(string surveyid, string AddNewFormId, string EditForm) { int UserId = SurveyHelper.GetDecryptUserId(Session["UserId"].ToString()); int CuurentOrgId = int.Parse(Session["SelectedOrgId"].ToString()); Guid ResponseID = Guid.NewGuid(); Session["FormValuesHasChanged"] = ""; TempData[Epi.Web.MVC.Constants.Constant.RESPONSE_ID] = Session["RootResponseId"] = ResponseID.ToString(); if (string.IsNullOrEmpty(EditForm) && Session["EditForm"] != null) { EditForm = Session["EditForm"].ToString(); } if (!string.IsNullOrEmpty(EditForm) && string.IsNullOrEmpty(AddNewFormId)) { Session["RootResponseId"] = EditForm.ToLower(); Session["IsEditMode"] = true; Epi.Web.Enter.Common.DTO.SurveyAnswerDTO surveyAnswerDTO = GetSurveyAnswer(EditForm, Session["RootFormId"].ToString()); Session["RequestedViewId"] = surveyAnswerDTO.ViewId; if (Session["RecoverLastRecordVersion"] != null) { surveyAnswerDTO.RecoverLastRecordVersion = bool.Parse(Session["RecoverLastRecordVersion"].ToString()); } string ChildRecordId = GetChildRecordId(surveyAnswerDTO); Session["RecoverLastRecordVersion"] = false; return(RedirectToAction(Epi.Web.MVC.Constants.Constant.INDEX, Epi.Web.MVC.Constants.Constant.SURVEY_CONTROLLER, new { responseid = ChildRecordId, PageNumber = 1, Edit = "Edit" })); } else { Session["IsEditMode"] = false; } bool IsMobileDevice = this.Request.Browser.IsMobileDevice; if (IsMobileDevice == false) { IsMobileDevice = Epi.Web.MVC.Utility.SurveyHelper.IsMobileDevice(this.Request.UserAgent.ToString()); } FormsAuthentication.SetAuthCookie("BeginSurvey", false); Session["RootFormId"] = AddNewFormId; //create the responseid Epi.Web.Enter.Common.DTO.SurveyAnswerDTO SurveyAnswer = _isurveyFacade.CreateSurveyAnswer(AddNewFormId, ResponseID.ToString(), UserId, false, "", false, CuurentOrgId); MvcDynamicForms.Form form = _isurveyFacade.GetSurveyFormData(SurveyAnswer.SurveyId, 1, SurveyAnswer, IsMobileDevice, null, null, false, false); TempData["Width"] = form.Width + 100; SurveyInfoModel surveyInfoModel = Mapper.ToFormInfoModel(form.SurveyInfo); // set the survey answer to be production or test SurveyAnswer.IsDraftMode = form.SurveyInfo.IsDraftMode; XDocument xdoc = XDocument.Parse(form.SurveyInfo.XML); ///////////////////////////// Execute - Record Before - start////////////////////// Dictionary <string, string> ContextDetailList = new Dictionary <string, string>(); EnterRule FunctionObject_B = (EnterRule)form.FormCheckCodeObj.GetCommand("level=record&event=before&identifier="); SurveyResponseXML SurveyResponseXML = new SurveyResponseXML(PageFields, RequiredList); if (FunctionObject_B != null && !FunctionObject_B.IsNull()) { try { SurveyAnswer.XML = SurveyResponseXML.CreateResponseDocument(xdoc, SurveyAnswer.XML); Session["RequiredList"] = SurveyResponseXML._RequiredList; //SurveyAnswer.XML = Epi.Web.MVC.Utility.SurveyHelper.CreateResponseDocument(xdoc, SurveyAnswer.XML, RequiredList); this.RequiredList = SurveyResponseXML._RequiredList; form.RequiredFieldsList = this.RequiredList; FunctionObject_B.Context.HiddenFieldList = form.HiddenFieldsList; FunctionObject_B.Context.HighlightedFieldList = form.HighlightedFieldsList; FunctionObject_B.Context.DisabledFieldList = form.DisabledFieldsList; FunctionObject_B.Context.RequiredFieldList = form.RequiredFieldsList; FunctionObject_B.Execute(); // field list form.HiddenFieldsList = FunctionObject_B.Context.HiddenFieldList; form.HighlightedFieldsList = FunctionObject_B.Context.HighlightedFieldList; form.DisabledFieldsList = FunctionObject_B.Context.DisabledFieldList; form.RequiredFieldsList = FunctionObject_B.Context.RequiredFieldList; ContextDetailList = Epi.Web.MVC.Utility.SurveyHelper.GetContextDetailList(FunctionObject_B); form = Epi.Web.MVC.Utility.SurveyHelper.UpdateControlsValuesFromContext(form, ContextDetailList); _isurveyFacade.UpdateSurveyResponse(surveyInfoModel, ResponseID.ToString(), form, SurveyAnswer, false, false, 0, SurveyHelper.GetDecryptUserId(Session["UserId"].ToString())); } catch (Exception ex) { // do nothing so that processing // can continue } } else { SurveyAnswer.XML = SurveyResponseXML.CreateResponseDocument(xdoc, SurveyAnswer.XML);//, RequiredList); this.RequiredList = SurveyResponseXML._RequiredList; Session["RequiredList"] = SurveyResponseXML._RequiredList; form.RequiredFieldsList = RequiredList; _isurveyFacade.UpdateSurveyResponse(surveyInfoModel, SurveyAnswer.ResponseId, form, SurveyAnswer, false, false, 0, SurveyHelper.GetDecryptUserId(Session["UserId"].ToString())); } return(RedirectToAction(Epi.Web.MVC.Constants.Constant.INDEX, Epi.Web.MVC.Constants.Constant.SURVEY_CONTROLLER, new { responseid = ResponseID, PageNumber = 1, surveyid = surveyInfoModel.SurveyId })); }