Exemplo n.º 1
0
        public ActionResult CreateSave(QuestionnaireModel questionnaire)
        {
            List <QuestionModel> question = questionnaire.Questions;
            var newQuestionnaire          = new Questionnaire
            {
                QName      = questionnaire.QName,
                QId        = questionnaire.QId,
                CreateTime = DateTime.Now,
                UserId     = ((UserModel)Session["user"]).UserId,
                Question   = questionnaire.Questions.Select(a => new Question
                {
                    QuestionId   = a.QuestionId,
                    QuestionName = a.QuestionName,
                    Type         = a.Type,
                    Option       = a.Options.Select(b => new Option
                    {
                        OptionName = b.OptionName,
                        OptionId   = b.OptionId
                    }).ToList()
                }).ToList()
            };
            var    success = _questionnaireService.SaveQuestionnaire(newQuestionnaire);
            Result result  = new Result();

            if (success)
            {
                result.result = "创建问卷成功";
            }
            else
            {
                result.result = "创建问卷失败";
            }
            result.url = "/Home/Create";
            return(View("~/Views/Home/Result.cshtml", result));
        }
Exemplo n.º 2
0
        public ActionResult Activate(Guid id)
        {
            QuestionnaireModel model = new QuestionnaireModel();
            var info = service.GetById(id);

            if (info != null)
            {
                if (info.IsRelease == true)
                {
                    info.IsRelease = false;
                }
                else
                {
                    info.IsRelease = true;
                }
                info.UpdateDate = DateTime.Now;

                service.Update(info);
                return(Json(new AjaxResult()
                {
                    Result = Result.Success
                }));
            }
            return(View(PluginHelper.GetViewPath(this.GetType(), "Activate"), model));
        }
Exemplo n.º 3
0
        public void Given_GetQuestionnaireRequest_When_Returns_Then_ResultIsEqualToExpected()
        {
            const string expectedTitle = "My expected quesitons";
            var          questionsText = new List <string>
            {
                "Question #1",
                "Question #2",
                "Question #3"
            };
            var questionnaireModel = new QuestionnaireModel {
                Title = expectedTitle, QuestionsText = questionsText
            };

            _service.Setup(x => x.GetQuestionnaires("http://localhost:50014/api/Questions"))
            .Returns(Task.FromResult(questionnaireModel)).Verifiable();
            var questionnaireViewModel =
                new QuestionnaireViewModel {
                QuestionnaireTitle = expectedTitle, QuestionsText = questionsText
            };

            _typeMapper.Setup(x => x.Convert <QuestionnaireModel, QuestionnaireViewModel>(questionnaireModel))
            .Returns(questionnaireViewModel).Verifiable();

            var result = (QuestionnaireViewModel)_sut.Index().Result.Model;

            Assert.That(result.QuestionnaireTitle, Is.EqualTo(expectedTitle));
            Assert.True(result.QuestionsText.Count == questionsText.Count);
            Assert.True(result.QuestionsText.SequenceEqual(questionsText));
            _service.VerifyAll();
            _typeMapper.VerifyAll();
        }
Exemplo n.º 4
0
        public List <QuestionnaireModel> GetPageAdviceListM(int start, int end, string TrainingBaseCode)
        {
            string sql = "select * from (select row_number() over(order by register_date) as num,* from GP_Questionnaire where training_base_code like @TrainingBaseCode) as t where t.num>=@start and t.num<=@end";

            SqlParameter[] pars =
            {
                new SqlParameter("@start",            SqlDbType.Int),
                new SqlParameter("@end",              SqlDbType.Int),
                new SqlParameter("@TrainingBaseCode", SqlDbType.NVarChar, 50)
            };
            pars[0].Value = start;
            pars[1].Value = end;
            pars[2].Value = '%' + TrainingBaseCode + '%';


            DataTable dt = db.RunDataTable(sql, pars);
            List <QuestionnaireModel> list = null;

            if (dt.Rows.Count > 0)
            {
                list = new List <QuestionnaireModel>();
                QuestionnaireModel model = null;
                foreach (DataRow row in dt.Rows)
                {
                    model = new QuestionnaireModel();
                    LoadEntity(row, model);
                    list.Add(model);
                }
            }
            return(list);
        }
Exemplo n.º 5
0
        public void WhenProvidedData_ShouldLoadQuestionnaire()
        {
            var model   = new QuestionnaireModel(Guid.NewGuid(), "");
            var qmodel1 = new QuestionModel(
                Guid.NewGuid(),
                Guid.NewGuid(),
                "1",
                true,
                false,
                new BooleanQuestionType());
            var qmodel2 = new QuestionModel(
                Guid.NewGuid(),
                Guid.NewGuid(),
                "2",
                true,
                false,
                new BooleanQuestionType());

            model.Questions.Add(qmodel1);
            model.Questions.Add(qmodel2);
            var wrappedModel     = new QuestionnaireWrapper(model);
            var dataProviderMock = new Mock <IQuestionnaireDataProvider>();

            dataProviderMock
            .Setup(x => x.GetSingleQuestionnaire())
            .Returns(wrappedModel);

            var viewModel = new QuestionnaireViewModel(dataProviderMock.Object);

            viewModel.Load();

            Assert.AreEqual(2, viewModel.Questionnaire.Questions.Count);
        }
Exemplo n.º 6
0
        public void Init()
        {
            m_questionnaire = new QuestionnaireModel(
                new Guid("E746E1F1-0A3A-400E-9824-C28427D51CD6"),
                "TestQuestionnaire");

            m_inputQuestion1 = new QuestionModel(
                new Guid("40E98F85-949C-48F0-8194-CECEEBD0177F"),
                new Guid("F9B5E8FB-46C5-491E-8C72-F3CB2E6400D3"),
                "int input question",
                true,
                false,
                new StringQuestionType());

            m_inputQuestion2 = new QuestionModel(
                new Guid("9568D4CB-7287-4431-9810-E95A83D050EB"),
                new Guid("2701EBE0-095D-4586-914A-050DAD59A033"),
                "string input question",
                true,
                false,
                new StringQuestionType());

            m_questionnaire.Questions.Add(m_inputQuestion1);
            m_questionnaire.Questions.Add(m_inputQuestion2);
        }
        public void Reload(QuestionnaireModel questionnaireModel)
        {
            var command = new UpdateValuesCommand
            {
                Questionnaire = questionnaireModel
            };

            m_commandBus.Send(command);
        }
Exemplo n.º 8
0
        public ActionResult Edit(Guid id)
        {
            QuestionnaireModel model = new QuestionnaireModel();
            var info = service.GetById(id);

            model.Title = info.Title;
            model.Desc  = info.Desc;
            model.Id    = info.Id;
            return(View(PluginHelper.GetViewPath(this.GetType(), "Edit"), model));
        }
Exemplo n.º 9
0
        public async Task <int> AddReview(int userId, [NotNull] QuestionnaireModel review)
        {
            var result = await _service.AddReview(userId, review);

            if (!result.HasErrors)
            {
                return(result.FirstResponce.Id ?? -1);
            }

            await HandleErrors(result);

            return(-1);
        }
Exemplo n.º 10
0
        public void Init()
        {
            m_questionnaire = new QuestionnaireModel(
                new Guid("E746E1F1-0A3A-400E-9824-C28427D51CD6"),
                "TestQuestionnaire");

            m_inputQuestion1 = new QuestionModel(
                new Guid("40E98F85-949C-48F0-8194-CECEEBD0177F"),
                new Guid("F5803811-192B-4858-85C0-A43E2D4D31E0"),
                "int input question",
                true,
                false,
                new IntegerQuestionType());
        }
Exemplo n.º 11
0
 public ActionResult Create(QuestionnaireModel model)
 {
     if (ModelState.IsValid)
     {
         QuestionnaireInfo info = new QuestionnaireInfo();
         info.Id    = Guid.NewGuid();
         info.Title = model.Title;
         info.Desc  = model.Desc;
         service.Add(info);
         return(Json(new AjaxResult()
         {
             Result = Result.Success
         }));
     }
     return(View(PluginHelper.GetViewPath(this.GetType(), "Create"), model));
 }
Exemplo n.º 12
0
        public async Task <IActionResult> AddQuestionnaire(QuestionnaireModel model, int newId)
        {
            model.QuestionnaireId = newId;
            model.isSubmitted     = false;
            if (ModelState.IsValid)
            {
                await questionnaireService.AddQuestionnaire(model, newId);

                model.isSubmitted = true;
                return(View(model));
            }
            else
            {
                return(View(model));
            }
        }
Exemplo n.º 13
0
        public ActionResult Delete(Guid id)
        {
            QuestionnaireModel model = new QuestionnaireModel();
            var info = service.GetById(id);

            if (info != null)
            {
                info.IsDelete = true;
                service.Update(info);
                return(Json(new AjaxResult()
                {
                    Result = Result.Success
                }));
            }
            return(View(PluginHelper.GetViewPath(this.GetType(), "Delete"), model));
        }
Exemplo n.º 14
0
        public void Init()
        {
            m_questionnaireId = new Guid("E746E1F1-0A3A-400E-9824-C28427D51CD6");
            m_questionnaire   = new QuestionnaireModel
            {
                Name = "TestQuestionaire",
                Id   = m_questionnaireId
            };

            m_calculatedQuestion = new CalculatedQuestionModel()
            {
                Id    = new Guid("50536A6C-CD2E-4C5E-9669-3CAAA09AD6E1"),
                Text  = "Test Question Text",
                Value = "1234"
            };

            m_questionnaire.Statements.Add(m_calculatedQuestion);
        }
Exemplo n.º 15
0
        public async Task <IActionResult> InitQuestionnaireForCreateQuestionnaireAsync()
        {
            var model = new QuestionnaireModel
            {
                QuestionnaireGuid = Guid.NewGuid().ToString("N"),
                QuestionnaireName = $"新建问卷{DateTime.Now.ToString("yyyyMMddHHmmss")}",
                Subhead           = "问卷副标题",
                CreatedBy         = UserID,
                LastUpdatedBy     = UserID
            };
            var result = await new QuestionnaireBiz().InsertAsync(model);

            if (!result)
            {
                return(Failed(ErrorCode.DataBaseError, "创建问卷前的初始化失败,请重新点击创建按钮"));
            }
            return(Success(model.ToDto <InitQuestionnaireResponseDto>()));
        }
Exemplo n.º 16
0
 public ActionResult Edit(QuestionnaireModel model)
 {
     if (ModelState.IsValid)
     {
         var info = service.GetById(model.Id);
         if (info != null)
         {
             info.Id    = model.Id;
             info.Title = model.Title;
             info.Desc  = model.Desc;
             service.Update(info);
         }
         return(Json(new AjaxResult()
         {
             Result = Result.Success
         }));
     }
     return(View(PluginHelper.GetViewPath(this.GetType(), "Edit"), model));
 }
        public QuestionnaireModel GetModel(Guid id)
        {
            var questionnaire = DomainItemLocator
                                .Get <IQuestionnaireOutputItem>(id);

            var questions = questionnaire
                            .Questions
                            .Select(x => m_questionQueryService.GetQuestionModel(x.Id))
                            .ToList();

            var questionnaireModel = new QuestionnaireModel(id, questionnaire.DisplayName);

            foreach (var question in questions)
            {
                questionnaireModel.Questions.Add(question);
            }

            return(questionnaireModel);
        }
Exemplo n.º 18
0
        public ActionResult SaveChatMode()
        {
            if (TempData.ContainsKey("QuestionnaireModel"))
            {
                QuestionnaireModel          model       = TempData["QuestionnaireModel"] as QuestionnaireModel;
                NameValueCollection         querystring = TempData["QueryString"] as NameValueCollection;
                Dictionary <string, string> data        = new Dictionary <string, string>();
                foreach (WebsiteSupportLibrary.Models.QuestionnaireItem item in model.Items)
                {
                    if (item.AnswerNames != null) // Indicat the item is not answered
                    {
                        for (int e = 0; e < item.AnswerNames.Count; e++)
                        {
                            data.Add(item.AnswerNames.ElementAt(e), item.AnswerValues.ElementAt(e));
                        }
                    }
                }
                data.Add("questionnaireId", model.QuestionnaireId);
                data.Add("groupId", model.GroupId);
                data.Add("anonymous", model.Anonymous);

                bool completed = ((bool?)TempData["Submit"]).Value;
                var  result    = Support.SaveQuestionnaireResponses(data, completed);

                if (model.IsPro && completed)
                {
                    return(this.RedirectToAction("QuestionnaireResults", "Patient", new RouteValueDictionary()
                    {
                        { "patientId", querystring["patientId"] }, { "episodeId", querystring["episodeId"] }, { "questionnaireId", model.QuestionnaireId }
                    }));
                }
                else
                {
                    return(this.RedirectToAction("QuestionnaireSaved", new RouteValueDictionary()
                    {
                        { "patientId", querystring["patientId"] }, { "submitted", (completed ? "1" : "0") }
                    }));
                }
            }

            throw new NotImplementedException();
            // TODO Return to error page
        }
Exemplo n.º 19
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult SaveChatMode()
        {
            if (TempData.ContainsKey("QuestionnaireModel"))
            {
                QuestionnaireModel  model       = TempData["QuestionnaireModel"] as QuestionnaireModel;
                NameValueCollection querystring = TempData["QueryString"] as NameValueCollection;
                //Dictionary<string, string> data = (from x in model.Items where x.AnsweredStatus == ItemAnsweredStatus.Answered.ToString() select new { key = x.AnswerNames, value = x.AnswerValues }).ToDictionary(d => d.key, d => d.value);  --> before array
                Dictionary <string, string> data = new Dictionary <string, string>();
                foreach (WebsiteSupportLibrary.Models.QuestionnaireItem item in model.Items)
                {
                    for (int e = 0; e < item.AnswerNames.Count; e++)
                    {
                        data.Add(item.AnswerNames.ElementAt(e), item.AnswerValues.ElementAt(e));
                    }
                }
                data.Add("questionnaireId", model.QuestionnaireId);
                data.Add("groupId", model.GroupId);
                data.Add("anonymous", model.Anonymous);

                bool completed = ((bool?)TempData["Submit"]).Value;
                var  result    = Support.SaveQuestionnaireResponses(data, completed);

                if (model.IsPro && completed)
                {
                    // TODO Redirect to result pagestring userId, int questionnaireId
                    //return this.RedirectToAction("QuestionnaireResults", "Patient", new RouteValueDictionary() { { "episodeId", querystring["episodeId"] }, { "questionnaireId", model.QuestionnaireId } });
                    return(Redirect("~/Home/QuestionnaireSaved?submitted=0"));
                }
                else
                {
                    //return this.RedirectToAction("QuestionnaireSaved", new RouteValueDictionary() { { "submitted", (completed ? "1" : "0") } });
                    return(Redirect("~/Home/QuestionnaireSaved?submitted=1"));
                }
            }

            throw new NotImplementedException();
            // TODO Return to error page
        }
        public void Given_GetQuestionnairesRequest_When_ReturnsInformations_Then_ResultIsEqualToExpected()
        {
            const string expectedTitle = "My expected quesitons";
            var          questionsText = new List <string>
            {
                "Question #1",
                "Question #2",
                "Question #3"
            };
            var questionnaireModel = new QuestionnaireModel {
                Title = expectedTitle, QuestionsText = questionsText
            };

            _apiRequestService.Setup(x => x.GetAsync <QuestionnaireModel>(ServiceUri))
            .Returns(Task.FromResult(questionnaireModel)).Verifiable();

            var result = _sut.GetQuestionnaires(ServiceUri).Result;

            Assert.That(result.Title, Is.EqualTo(expectedTitle));
            Assert.True(result.QuestionsText.Count() == questionsText.Count);
            Assert.True(result.QuestionsText.SequenceEqual(questionsText));
            _apiRequestService.VerifyAll();
        }
Exemplo n.º 21
0
        public QuestionnaireModel QuestionnairesToQuestionnaireModel(Questionnaire questionnaire)
        {
            var questionnaires = new QuestionnaireModel
            {
                QId         = questionnaire.QId,
                QName       = questionnaire.QName,
                CreateTime  = questionnaire.CreateTime.ToString(),
                NumOfPeople = questionnaire.NumOfPeople,
                UserName    = questionnaire.User.UserName,
                Questions   = questionnaire.Question.Select(question => new QuestionModel
                {
                    QuestionId   = question.QuestionId,
                    QuestionName = question.QuestionName,
                    Type         = question.Type,
                    Options      = question.Option.Select(option => new OptionModel
                    {
                        OptionId   = option.OptionId,
                        OptionName = option.OptionName
                    }).ToList()
                }).ToList()
            };

            return(questionnaires);
        }
Exemplo n.º 22
0
        /// <summary>
        /// 分页list
        /// </summary>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <returns></returns>
        #region GetPageAdviceList
        public List <QuestionnaireModel> GetPageAdviceList(int start, int end, string TrainingBaseCode, string ProfessionalBaseCode, string DeptCode, string RealName)
        {
            string sql = "select * from (select row_number() over(order by register_date) as num,* from GP_Questionnaire where training_base_code=@TrainingBaseCode and professional_base_code=@ProfessionalBaseCode and rotary_dept_code=@DeptCode and instructor=@RealName) as t where t.num>=@start and t.num<=@end";

            SqlParameter[] pars =
            {
                new SqlParameter("@start",                SqlDbType.Int),
                new SqlParameter("@end",                  SqlDbType.Int),
                new SqlParameter("@TrainingBaseCode",     SqlDbType.NVarChar, 50),
                new SqlParameter("@ProfessionalBaseCode", SqlDbType.NVarChar, 50),
                new SqlParameter("@DeptCode",             SqlDbType.NVarChar, 50),
                new SqlParameter("@RealName",             SqlDbType.NVarChar, 50)
            };
            pars[0].Value = start;
            pars[1].Value = end;
            pars[2].Value = TrainingBaseCode;
            pars[3].Value = ProfessionalBaseCode;
            pars[4].Value = DeptCode;
            pars[5].Value = RealName;

            DataTable dt = db.RunDataTable(sql, pars);
            List <QuestionnaireModel> list = null;

            if (dt.Rows.Count > 0)
            {
                list = new List <QuestionnaireModel>();
                QuestionnaireModel model = null;
                foreach (DataRow row in dt.Rows)
                {
                    model = new QuestionnaireModel();
                    LoadEntity(row, model);
                    list.Add(model);
                }
            }
            return(list);
        }
Exemplo n.º 23
0
 /// <summary>
 /// row转model
 /// </summary>
 /// <param name="row"></param>
 /// <param name="model"></param>
 #region  LoadEntity(DataRow row,QuestionnaireModel model)
 private void LoadEntity(DataRow row, QuestionnaireModel model)
 {
     if (row["id"] != null)
     {
         model.id = row["id"].ToString();
     }
     if (row["training_base_name"] != null)
     {
         model.training_base_name = row["training_base_name"].ToString();
     }
     if (row["training_base_code"] != null)
     {
         model.training_base_code = row["training_base_code"].ToString();
     }
     if (row["professional_base_name"] != null)
     {
         model.professional_base_name = row["professional_base_name"].ToString();
     }
     if (row["professional_base_code"] != null)
     {
         model.professional_base_code = row["professional_base_code"].ToString();
     }
     if (row["rotary_dept_name"] != null)
     {
         model.rotary_dept_name = row["rotary_dept_name"].ToString();
     }
     if (row["rotary_dept_code"] != null)
     {
         model.rotary_dept_code = row["rotary_dept_code"].ToString();
     }
     if (row["instructor"] != null)
     {
         model.instructor = row["instructor"].ToString();
     }
     if (row["one"] != null)
     {
         model.one = row["one"].ToString();
     }
     if (row["two"] != null)
     {
         model.two = row["two"].ToString();
     }
     if (row["three"] != null)
     {
         model.three = row["three"].ToString();
     }
     if (row["four"] != null)
     {
         model.four = row["four"].ToString();
     }
     if (row["five"] != null)
     {
         model.five = row["five"].ToString();
     }
     if (row["six"] != null)
     {
         model.six = row["six"].ToString();
     }
     if (row["seven"] != null)
     {
         model.seven = row["seven"].ToString();
     }
     if (row["eight"] != null)
     {
         model.eight = row["eight"].ToString();
     }
     if (row["nine"] != null)
     {
         model.nine = row["nine"].ToString();
     }
     if (row["ten"] != null)
     {
         model.ten = row["ten"].ToString();
     }
     if (row["eleven"] != null)
     {
         model.eleven = row["eleven"].ToString();
     }
     if (row["twelve"] != null)
     {
         model.twelve = row["twelve"].ToString();
     }
     if (row["thirteen"] != null)
     {
         model.thirteen = row["thirteen"].ToString();
     }
     if (row["advice"] != null)
     {
         model.advice = row["advice"].ToString();
     }
     if (row["register_date"] != null)
     {
         model.register_date = row["register_date"].ToString();
     }
     if (row["writor"] != null)
     {
         model.writor = row["writor"].ToString();
     }
 }
 public async Task <ResponseModel <QuestionnaireModel> > AddReview(int userId, [NotNull] QuestionnaireModel review)
 {
     return(await UniversalMethod <QuestionnaireModel, ResponseModel <QuestionnaireModel> >(review, ProjectConsts.AddReviewMethodName,
                                                                                            AppResources.GetResource("Error"), new object[] { userId }));
 }
Exemplo n.º 25
0
 public Task AddQuestionnaire(QuestionnaireModel model, int newId)
 {
     model.QuestionnaireId = newId;
     questionnaires.Add(model);
     return(Task.CompletedTask);
 }
Exemplo n.º 26
0
        /// <summary>
        /// 创建人:田闯
        /// 创建时间:2017/4/19
        /// 获取问卷的题干,题支信息
        /// </summary>
        /// <param name="code"></param>
        /// <param name="context"></param>
        private void InitStemS(string code, HttpContext context)
        {
            try
            {
                bool   Anonymity = false;
                string QD_Code   = Common.GetRequest("Code");//分配编码
                if (Common.GetRequest("Anonymity") != "")
                {
                    Anonymity = Convert.ToBoolean(Common.GetRequest("Anonymity"));//是否允许匿名作答
                }
                DataTable sourceTemp = MgrServices.QuestionnaireService.GetSubjectEntity(code);
                if (sourceTemp != null && sourceTemp.Rows.Count > 0)
                {
                    Questionnaire_InfoEntity ds = MgrServices.QuestionnaireService.GetEntity(code);
                    string SubCodeStr           = "";
                    foreach (DataRow SunDtr in sourceTemp.Rows)
                    {
                        if (!SubCodeStr.Equals(""))
                        {
                            SubCodeStr += ",'" + SunDtr["Code"] + "'";
                        }
                        else
                        {
                            SubCodeStr += "'" + SunDtr["Code"] + "'";
                        }
                    }
                    DataTable OperationTemp         = new DataTable();
                    DataTable OperationRelarionTemp = new DataTable();
                    if (!SubCodeStr.Equals(""))
                    {
                        OperationRelarionTemp = MgrServices.QuestionnaireService.GetOperation_Subject_Temp(SubCodeStr); //查询的是题干和题支的关系集合
                        OperationTemp         = MgrServices.QuestionnaireService.GetOperationTemp(SubCodeStr);          // 查询的是题支的实体信息集合
                    }
                    StringBuilder sb = new StringBuilder("{\"questions\":[");
                    foreach (DataRow DTR in sourceTemp.Rows)
                    {
                        QuestionnaireModel model = new QuestionnaireModel();
                        sb.Append("{\"question\":");
                        //题干标题
                        string SubjectContent = DTR["Content"].ToString();
                        model.question = DTR["Sort"].ToString() + "." + DTR["Content"].ToString();
                        //题干类型
                        model.s_type    = Convert.ToInt32(DTR["Type"]);
                        model.sub_score = DTR["Score"].ToString();
                        model.sub_true  = DTR["TrueAnwser"].ToString();
                        string StemCode    = DTR["Code"].ToString();
                        string SubjectCode = "";
                        string IndexNum    = "";
                        sb.Append("\"" + model.question + "\",");
                        sb.Append("\"subType\":\"" + model.s_type + "\",");
                        sb.Append("\"TrueAnwser\":\"" + model.sub_true + "\",");
                        sb.Append("\"Score\":\"" + model.sub_score + "\"");


                        DataRow[]     OperCodeRW = OperationRelarionTemp.Select(" S_Code='" + StemCode + "'");
                        List <string> OPC_Str    = new List <string>();
                        if (OperCodeRW != null && OperCodeRW.Length > 0)
                        {
                            foreach (DataRow OCDTR in OperCodeRW)
                            {
                                //if (!OPC_Str.Equals(""))
                                //{
                                OPC_Str.Add(OCDTR["O_Code"].ToString());
                                //}
                                //else
                                //{
                                //    OPC_Str += "'" + OCDTR["O_Code"] + "'";
                                //}
                            }
                        }
                        string OpCode       = "";
                        string Factions     = "";
                        string SkipCode     = "";
                        string SerialNumber = "";
                        if (OPC_Str.Count != 0)
                        {
                            //OperationTemp.DefaultView.Sort = "id asc";//让表格中的数据按照ID进行升序排列
                            var SourceTemps = OperationTemp.AsEnumerable().Where(x => OPC_Str.Contains(x["Code"].ToString())).ToArray();

                            // DataRow[] SourceTemps = OperationTemp.Select(" Code in (" + OPC_Str + ")  ");
                            if (SourceTemps != null && SourceTemps.Length > 0)
                            {
                                sb.Append(",");
                                sb.Append("\"answers\":[");
                                foreach (DataRow DTRs in SourceTemps)
                                {
                                    model.o_code       = DTRs["Code"].ToString();         //题支编码
                                    model.o_index      = DTRs["SortCode"].ToString();     //题支序号
                                    model.o_score      = DTRs["Fraction"].ToString();     //题支分值
                                    model.serialNumber = DTRs["SerialNumber"].ToString(); //题支选项内容
                                    model.o_content    = DTRs["Content"].ToString();      //题支内容
                                    model.skipcode     = DTRs["SkipCode"].ToString();
                                    sb.Append("\"" + model.o_content + "\",");
                                    OpCode       += "\"" + model.o_code + "\",";
                                    Factions     += "\"" + model.o_score + "\",";
                                    SubjectCode  += "\"" + StemCode + "\",";
                                    IndexNum     += "\"" + model.o_index + "\",";
                                    SkipCode     += "\"" + model.skipcode + "\",";
                                    SerialNumber += "\"" + model.serialNumber + "\",";
                                }
                                sb.Append("]" + ",");
                                sb.Append("\"SubCode\":[" + SubjectCode + "]" + ",");
                                sb.Append("\"IndexNum\":[" + IndexNum + "]" + ",");
                                sb.Append("\"Factions\":[" + Factions + "]" + ",");
                                sb.Append("\"OptionCode\":[" + OpCode + "]" + ",");
                                sb.Append("\"SerialNumber\":[" + SerialNumber + "]" + ",");
                                sb.Append("\"SkipCode\":[" + SkipCode + "]}" + ",");
                            }
                        }
                        else
                        {
                            sb.Append(",");
                            sb.Append("\"answers\":[");
                            sb.Append("]" + ",");
                            sb.Append("\"SubCode\":[" + "\"" + StemCode + "\"," + "]" + ",");
                            sb.Append("\"IndexNum\":[" + IndexNum + "]" + ",");
                            sb.Append("\"Factions\":[" + Factions + "]" + ",");
                            sb.Append("\"OptionCode\":[" + OpCode + "]}" + ",");
                        }
                    }

                    sb.Append("],");
                    ds._instruction = ds._instruction.Replace("'", "&apos;");
                    ds._instruction = ds._instruction.Replace("\"", "&quot;");
                    ds._name        = ds._name.Replace("'", "&apos;");
                    ds._name        = ds._name.Replace("\"", "&quot;");
                    sb.Append("\"Questionnaire_Guidance\": [{\"QGuidance\":" + "\"" + ds._instruction + "\"},{\"QName\":" + "\"" + ds._name + "\"},{\"Anonymity\":\"" + Anonymity + "\"}]");
                    sb.Append("}");

                    string json = sb.ToString();//.Replace("\"", "\'");
                    context.Response.Write(json);
                }
            }
            catch
            {
            }
        }
Exemplo n.º 27
0
 protected void save_Click(object sender, EventArgs e)
 {
     questionnaireModel    = new QuestionnaireModel();
     questionnaireBLL      = new QuestionnaireBLL();
     studentsRotaryBLL     = new StudentsRotaryBLL();
     questionnaireModel.id = Guid.NewGuid().ToString();
     questionnaireModel.training_base_name     = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(training_base_name.Text.Trim()));
     questionnaireModel.training_base_code     = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(training_base_code.Value.Trim()));
     questionnaireModel.professional_base_name = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(professional_base_name.Text.Trim()));
     questionnaireModel.professional_base_code = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(professional_base_code.Value.Trim()));
     questionnaireModel.rotary_dept_name       = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(rotary_dept_name.Text.Trim()));
     questionnaireModel.rotary_dept_code       = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(rotary_dept_code.Value.Trim()));
     questionnaireModel.instructor             = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(instructor.Text.Trim()));
     questionnaireModel.one           = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList1.SelectedValue));
     questionnaireModel.two           = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList2.SelectedValue));
     questionnaireModel.three         = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList3.SelectedValue));
     questionnaireModel.four          = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList4.SelectedValue));
     questionnaireModel.five          = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList5.SelectedValue));
     questionnaireModel.six           = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList6.SelectedValue));
     questionnaireModel.seven         = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList7.SelectedValue));
     questionnaireModel.eight         = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList8.SelectedValue));
     questionnaireModel.nine          = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList9.SelectedValue));
     questionnaireModel.ten           = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList10.SelectedValue));
     questionnaireModel.eleven        = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList11.SelectedValue));
     questionnaireModel.twelve        = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList12.SelectedValue));
     questionnaireModel.thirteen      = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(RadioButtonList13.SelectedValue));
     questionnaireModel.advice        = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(advice.Text.Trim()));
     questionnaireModel.register_date = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(register_date.Text.Trim()));
     questionnaireModel.writor        = CommonFunc.FilterSpecialString(CommonFunc.SafeGetStringFromObj(writor.Value.Trim()));
     if (RadioButtonList1.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第一项未选择", null);
         return;
     }
     if (RadioButtonList2.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第二项未选择", null);
         return;
     }
     if (RadioButtonList3.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第三项未选择", null);
         return;
     }
     if (RadioButtonList4.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第四项未选择", null);
         return;
     }
     if (RadioButtonList5.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第五项未选择", null);
         return;
     }
     if (RadioButtonList6.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第六项未选择", null);
         return;
     }
     if (RadioButtonList7.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第七项未选择", null);
         return;
     }
     if (RadioButtonList8.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第八项未选择", null);
         return;
     }
     if (RadioButtonList9.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第九项未选择", null);
         return;
     }
     if (RadioButtonList10.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第十项未选择", null);
         return;
     }
     if (RadioButtonList11.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第十一项未选择", null);
         return;
     }
     if (RadioButtonList12.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第十二项未选择", null);
         return;
     }
     if (RadioButtonList13.SelectedItem == null)
     {
         ShowMessageBox.Showmessagebox(this, "第十三项未选择", null);
         return;
     }
     if (string.IsNullOrEmpty(questionnaireModel.advice))
     {
         ShowMessageBox.Showmessagebox(this, "第十四项不能为空", null);
         return;
     }
     if (questionnaireBLL.InsertQuestionnaire(questionnaireModel) && studentsRotaryBLL.UpdateQuestStatus(questionnaireyi, id))
     {
         try
         {
             Response.Write("<script language='javascript'> alert('问卷调查提交成功');window.opener.window.loadPageList('" + pi + "');window.close();</script>");
             return;
         }
         catch (Exception ex)
         {
             Response.Write(ex.Message);
         }
     }
 }
Exemplo n.º 28
0
        public QuestionnaireModel CreateCompleteRegistationQuestionnaire()
        {
            QuestionnaireModel model = new QuestionnaireModel();

            model.IsPro           = false;
            model.CanSavePartial  = false;
            model.ShowProgressBar = false;


            model.Items.Add(new QuestionnaireItem()
            {
                Question = new Question()
                {
                    HtmlContent = @"Hello and welcome to RePLAY, a groundbreaking new service that allows you to track your health progress and prepare for your upcoming appointments at OPSMC. 
                    Right now you are in the process of completing your account registration, during which you will choose a secret password and select other important security and privacy options. 
                    Here at OPSMC we take your privacy very seriously. We’ve put a lot of time and effort into keeping your information secure and you can see just how we do this in our strict privacy and confidentiality policy. 
                    Are you ready to start?"
                },
                ResponsePanel = new ResponsePanel()
                {
                    HtmlContent = "Yes, let's start!", CanSkip = false
                },
                Answer = new Answer()
                {
                    HtmlTemplate = "Yes, let's start!"
                },
                AnsweredStatus = ItemAnsweredStatus.NotAnswered.ToString(),
                Status         = ItemStatus.Current.ToString(),
                ItemNames      = new List <string>()
            });

            model.Items.Add(new QuestionnaireItem()
            {
                Question = new Question()
                {
                    HtmlContent = "The best way to keep your information as secure as Fort Knox is to choose a strong password. This means your password will need to have at least: 8 characters, a capital letter, a number and, a symbol. Please type in a password that fits these criteria, and make sure it’s one that you’ll remember! Please fill it in twice to ensure no errors were made."
                },
                ResponsePanel = new ResponsePanel()
                {
                    HtmlContent = "<table><tr><td>Password:</td><td><input name=\"Password\" type=\"password\" /></td></tr><tr><td>Repeat password</td><td><input name=\"passwordrepeat\" type=\"password\" /></td></tr></table>", CanSkip = false
                },
                Answer = new Answer()
                {
                    HtmlTemplate = "My password is *****"
                },
                AnsweredStatus = ItemAnsweredStatus.NotAnswered.ToString(),
                Status         = ItemStatus.Future.ToString(),
                ItemNames      = new List <string>(new string[] { "Password" })
            });

            model.Items.Add(new QuestionnaireItem()
            {
                Question = new Question()
                {
                    HtmlContent = "With this password your access to the system is secure enough. However, if you want to be extra cautious you could opt to have a second step in the login process whereby a security code will be sent to your mobile phone or email every time you want to login. What level of secure access would you like to have?"
                },
                ResponsePanel = new ResponsePanel()
                {
                    HtmlContent = "", CanSkip = false
                },
                Answer = new Answer()
                {
                    HtmlTemplate = "%Value%"
                },
                AnsweredStatus = ItemAnsweredStatus.NotAnswered.ToString(),
                Status         = ItemStatus.Future.ToString(),
                ItemNames      = new List <string>(new string[] { "Provider" })
            });


            ServiceDetailsClient client = new ServiceDetailsClient();
            var result      = client.GetTwoStageAuthenticationProviders();
            int currentItem = model.Items.Count - 1;

            model.Items[currentItem].ResponsePanel.HtmlContent = "<input type=\"radio\" name=\"Provider\" value=\"None\" checked>User name and password.";
            model.Items[currentItem].PossibleAnswers.Add(new PossibleAnswers()
            {
                Name = "Provider", Value = "None", Action = "GOTO SecurityQuestion", AnswerText = "User name and password"
            });
            foreach (var provider in result.Strings)
            {
                model.Items[currentItem].ResponsePanel.HtmlContent += "<br /><input type=\"radio\" name=\"Provider\" value=\"" + provider + "\">" + "User name, password and " + provider;
                model.Items[currentItem].PossibleAnswers.Add(new PossibleAnswers()
                {
                    Name = "Provider", AnswerText = "User name, password and " + provider, Value = provider
                });
            }

            /*
             * model.Items.Add(new QuestionnaireItem()
             * {
             *  Question = new Question() { HtmlContent = "OK, can you fill in your mobile number below?" },
             *  ResponsePanel = new ResponsePanel() { HtmlContent = "<input type=\"text\" name=\"Mobile\">", CanSkip = false },
             *  Answer = new Answer() { HtmlTemplate = string.Empty },
             *  AnsweredStatus = ItemAnsweredStatus.NotAnswered.ToString(),
             *  Status = ItemStatus.Future.ToString(),
             *  ItemNames = new List<string>(new string[] { "TwoStageCode" })
             * });
             */

            model.Items.Add(new QuestionnaireItem()
            {
                Question = new Question()
                {
                    HtmlContent = "A secure code has been sent to your e-mail. Did you receive it? "
                },
                ResponsePanel = new ResponsePanel()
                {
                    HtmlContent = "<input type=\"radio\" value=\"yes\" name=\"codeCheckRadio\"/> Yes, the security code is <input type=\"text\" name=\"TwoStageCode\"> <input type=\"radio\" value=\"No\" name=\"codeCheckRadio\"> No, please send it again ", CanSkip = false
                },
                Answer = new Answer()
                {
                    HtmlTemplate = string.Empty
                },
                AnsweredStatus = ItemAnsweredStatus.NotAnswered.ToString(),
                Status         = ItemStatus.Future.ToString(),
                ItemNames      = new List <string>(new string[] { "codeCheckRadio", "TwoStageCode" }),
            });

            model.Items.Add(new QuestionnaireItem()
            {
                ActionId = "SecurityQuestion",
                Question = new Question()
                {
                    HtmlContent = "In case your password get's lost, you will need a security question and answer to reset your password. <br/> Please fill in your security question of choice and what the answer should be. The answer is NOT case sensitive."
                },
                ResponsePanel = new ResponsePanel()
                {
                    HtmlContent = "My Security Question: <input type=\"text\" name=\"TextBox.SecurityQuestion\"/> <br /> My Security Answer: <input type=\"text\" name=\"TextBox.SecurityAnswer\">", CanSkip = false
                },
                Answer = new Answer()
                {
                    HtmlTemplate = "My Security Question is: %Value% <br /> My Answer is: ****"
                },
                AnsweredStatus = ItemAnsweredStatus.NotAnswered.ToString(),
                Status         = ItemStatus.Future.ToString(),
                ItemNames      = new List <string>(new string[] { "TextBox.SecurityQuestion", "TextBox.SecurityAnswer" }),
            });

            model.Items.Add(new QuestionnaireItem()
            {
                ActionId = "Privacy",
                Question = new Question()
                {
                    HtmlContent = "Here at OPSMC we take your privacy and confidentiality very seriously and make every effort to keep your information secure. Please, take some time to read our policies, terms and conditions."
                },
                ResponsePanel = new ResponsePanel()
                {
                    HtmlContent = "<input type=\"checkbox\" name=\"PandCPolicy\" value=\"pandc\" /> I have read and accept OPSMC’S Privacy and confidentiality policy <br /> <input type=\"checkbox\" name=\"TandCPolicy\" value=\"tandc\" /> I have read and accept the RePLAY terms and conditions", CanSkip = false
                },
                Answer = new Answer()
                {
                    HtmlTemplate = "I have read and understood both the Privacy and Confidentiality policy as well as the Terms and Conditions of RePLAY"
                },
                AnsweredStatus = ItemAnsweredStatus.NotAnswered.ToString(),
                Status         = ItemStatus.Future.ToString(),
                ItemNames      = new List <string>(new string[] { "PandCPolicy", "TandCPolicy" })
            });

            model.Items.Add(new QuestionnaireItem()
            {
                Question = new Question()
                {
                    HtmlContent = "Please tell us how you would like us to share your information within OPSMC."
                },
                ResponsePanel = new ResponsePanel()
                {
                    HtmlContent = "<table><tr><td>For OPSMC’s quality improvement</td><td><input type=\"radio\" name=\"Radio.quality\" value=\"open\" > Open </td><td><input type=\"radio\" name=\"Radio.quality\" value=\"Confidentially\" > Confidentially </td></tr><tr><td>For OPSMC’s administrative purposes: </td><td><input type=\"radio\" name=\"Radio.administrative\" value=\"open\" > Open</td><td> <input type=\"radio\" name=\"Radio.administrative\" value=\"Confidentially\" > Confidentially </td></tr><tr><td>For research purposes</td><td> <input type=\"radio\" name=\"Radio.research\" value=\"open\" > Open</td><td> <input type=\"radio\" name=\"Radio.research\" value=\"Confidentially\" > Confidentially </td></tr></table>", CanSkip = false
                },
                Answer = new Answer()
                {
                    HtmlTemplate = "%Value% <br/> %Value% <br/> %Value%"
                },
                AnsweredStatus = ItemAnsweredStatus.NotAnswered.ToString(),
                Status         = ItemStatus.Future.ToString(),
                ItemNames      = new List <string>(new string[] { "Radio.quality", "Radio.administrative", "Radio.research" })
            });

            currentItem = model.Items.Count - 1;
            model.Items[currentItem].PossibleAnswers.Add(new PossibleAnswers()
            {
                Name = "Radio.quality", AnswerText = "Your quality improvement suggestions can be shared openly.", Value = "open"
            });
            model.Items[currentItem].PossibleAnswers.Add(new PossibleAnswers()
            {
                Name = "Radio.quality", AnswerText = "Your quality improvement suggestions has to be kept confidential.", Value = "Confidentially"
            });

            model.Items[currentItem].PossibleAnswers.Add(new PossibleAnswers()
            {
                Name = "Radio.administrative", AnswerText = "Your administrative information can be shared openly.", Value = "open"
            });
            model.Items[currentItem].PossibleAnswers.Add(new PossibleAnswers()
            {
                Name = "Radio.administrative", AnswerText = "Your administrative information has to be kept confidential.", Value = "Confidentially"
            });

            model.Items[currentItem].PossibleAnswers.Add(new PossibleAnswers()
            {
                Name = "Radio.research", AnswerText = "We can use your personal data research purposes.", Value = "open"
            });
            model.Items[currentItem].PossibleAnswers.Add(new PossibleAnswers()
            {
                Name = "Radio.research", AnswerText = "Your personal data has to be kept confidential for research purposes.", Value = "Confidentially"
            });

            model.Items.Add(new QuestionnaireItem()
            {
                ActionId = "<end>",
                Question = new Question()
                {
                    HtmlContent = "Thanks! As soon as you press the submit button, you will be redirected to the login page where you can use your email address and the password you just created to log in to RePLAY. You will shortly receive and email confirming the completion of your registration and pointing you to a questionnaire you need to respond before you attend your appointment. See you soon!"
                },
                Status = ItemStatus.Future.ToString(),
                Answer = new Answer()
                {
                    HtmlTemplate = string.Empty
                },
                AnsweredStatus = ItemAnsweredStatus.NotAnswered.ToString(),
                ResponsePanel  = new ResponsePanel()
                {
                    CanSkip = false
                }
            });

            return(model);
        }
Exemplo n.º 29
0
        //public JsonResult SaveAnswer(int questionId, int answer)
        public JsonResult SaveAnswer(QuestionnaireModel item)
        {
            int id = repository.SaveAnswer(item.PatientQuestionnaireId, item.QuestionId, item.Answer);

            return(Json(new { result = id }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 30
0
        public ActionResult Create()
        {
            QuestionnaireModel model = new QuestionnaireModel();

            return(View(PluginHelper.GetViewPath(this.GetType(), "Create"), model));
        }