// // GET: /QuestionGroup/ public ActionResult Index() { var questionGroupVM = new QuestionGroupViewModel(); questionGroupVM.QuestionGroupIsActiveList = new List <SelectListItem>(); questionGroupVM.QuestionGroupIsActiveList.Add(new SelectListItem() { Text = "ทั้งหมด", Value = "all" }); questionGroupVM.QuestionGroupIsActiveList.Add(new SelectListItem() { Text = "Active", Value = "true" }); questionGroupVM.QuestionGroupIsActiveList.Add(new SelectListItem() { Text = "Inactive", Value = "false" }); questionGroupVM.Status = true; questionGroupVM.SearchFilter = new QuestionGroupSearchFilter() { QuestionGroupName = null, ProductId = null, Status = "", PageNo = 1, PageSize = 15, SortField = string.Empty, SortOrder = "ASC" }; return(View(questionGroupVM)); }
public QuestionnaireViewModel GetViewModel() { //TODO Diferent View Models var model = _questionnaireStoreModel; QuestionnaireViewModel schema = new QuestionnaireViewModel(); schema.type = model.type; schema.fieldGroup = new List <QuestionGroupViewModel>(); foreach (QuestionGroup data in model.fieldGroup) { QuestionGroupViewModel questionGroup = new QuestionGroupViewModel(); questionGroup.fieldGroup = data.fieldGroup; questionGroup.hideExpression = data.hideExpression; questionGroup.templateOptions = data.templateOptions; questionGroup.expressionProperties = new Dictionary <string, string>(); if (data.expressionProperties.Count() != 0) { foreach (var y in data.expressionProperties) { questionGroup.expressionProperties.Add(y.Key, y.Expression); } } schema.fieldGroup.Add(questionGroup); } return(schema); }
public ActionResult SearchQuestionGroupList(QuestionGroupSearchFilter searchFilter) { Logger.Info(_logMsg.Clear().SetPrefixMsg("Search QuestionGroup").ToInputLogString()); try { if (ModelState.IsValid) { _questionGroupFacade = new QuestionGroupFacade(); QuestionGroupViewModel questionGroupVM = new QuestionGroupViewModel(); questionGroupVM.SearchFilter = searchFilter; questionGroupVM.QuestionGroupList = _questionGroupFacade.GetQuestionGroupList(questionGroupVM.SearchFilter); ViewBag.PageSize = questionGroupVM.SearchFilter.PageSize; return(PartialView("~/Views/QuestionGroup/_QuestionGroupList.cshtml", questionGroupVM)); } return(Json(new { Valid = false, Error = string.Empty })); } catch (Exception ex) { Logger.Info(_logMsg.Clear().SetPrefixMsg("Search QuestionGroup").ToFailLogString()); return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString()))); } }
public QuestionnaireViewModel createViewModel() { QuestionnaireViewModel model = new QuestionnaireViewModel(); model.type = "type"; model.fieldGroup = new List <QuestionGroupViewModel>(); model.Id = 1; // QuestionGroup var questionGroup = new QuestionGroupViewModel(); questionGroup.fieldGroup = new List <Question>(); questionGroup.expressionProperties = new Dictionary <string, string>(); questionGroup.hideExpression = "hideExpressionCondition"; questionGroup.Id = 1; questionGroup.templateOptions.label = "questionGroup 1"; // Question var questionModel = new Question(); questionModel.Id = 1; questionModel.key = "questionModelKey"; questionModel.templateOptions.Answer = "answer"; questionModel.templateOptions.Answer = "question"; questionModel.type = "inputfield"; questionModel.templateOptions.Id = 1; // Add to store model model.fieldGroup.Add(questionGroup); questionGroup.expressionProperties.Add("key", "Expression"); questionGroup.fieldGroup.Add(questionModel); return(model); }
public ActionResult SearchQuestion(BootstrapParameters parameters, string questionName, string questionIdList) { if (ModelState.IsValid) { _questionGroupFacade = new QuestionGroupFacade(); var questionGroupVM = new QuestionGroupViewModel(); var totalCount = 0; List <QuestionItemEntity> list = _questionGroupFacade.SearchQuestionGroupQuestion(parameters.offset, parameters.limit, questionName, questionIdList, ref totalCount); return(Json(new BootstrapTableResult() { total = totalCount, rows = list.Select(item => new { id = item.QuestionId, // action = string.Format("<a onClick='editQuestion({0})' class='btnEdit'><i class='fa fa-edit'></i></a>", item.QuestionId), question_name = item.QuestionName, status = item.Status.HasValue ? item.Status.Value ? "Active" : "Inactive" : "Inactive", update_name = string.IsNullOrEmpty(item.UpdateUserName.FullName) ? item.CreateUserName.FullName : item.UpdateUserName.FullName, update_date = !item.UpdateDate.HasValue ? DateUtil.ToStringAsDateTime(item.CreateDate) : DateUtil.ToStringAsDateTime(item.UpdateDate) }).ToList() })); } return(Json(new { Valid = false, Error = string.Empty })); }
public ActionResult AddQuestionGroup() { var model = new QuestionGroupViewModel(); model.QuestionGroup = new QuestionGroup(); return(View(model)); }
public static void UpdateQuestionGroup(this QuestionGroup qGroup, QuestionGroupViewModel qGroupVm) { qGroup.ID = qGroupVm.ID; qGroup.Index = qGroupVm.Index; qGroup.IsKeyword = qGroupVm.IsKeyWord; qGroup.FormQuestionAnswerID = qGroupVm.FormQuestionAnswerID; qGroup.BotID = qGroupVm.BotID; qGroup.CreatedDate = DateTime.Now; }
public ActionResult AddQuestionGroup(QuestionGroupViewModel model) { var dbContext = new ApplicationDbContext(); var qg = dbContext.QuestionGroups.Add(model.QuestionGroup); dbContext.SaveChanges(); return(RedirectToAction("AddQuestionGroup", new { id = qg.ID })); }
public ActionResult EditQuestionGroup(QuestionGroupViewModel model) { var dbContext = new ApplicationDbContext(); dbContext.Entry(model.QuestionGroup).State = EntityState.Modified; dbContext.SaveChanges(); return(RedirectToAction("EditQuestionGroup", new { id = model.QuestionGroup.ID })); }
public void TestWhenCreatedThenLoadQuestionCommandContainsCorrectGroupId() { //Assign QuestionGroup group = new QuestionGroup(10); //Act QuestionGroupViewModel viewModel = new QuestionGroupViewModel(group); //Assert Assert.True(((LoadQuestionCommand)viewModel.LoadQuestionCommand).GroupId == group.Id); }
public void TestWhenAskLoadQuestionThatDonotExistsThenThrowArgumentOutOfRangeException() { //Assign QuestionGroupViewModel viewModel = new QuestionGroupViewModel(new QuestionGroup()); Action action = () => { //Act viewModel.LoadQuestionCommand.Execute(30); }; //Assert Assert.Throws <ArgumentOutOfRangeException>(action); }
public void TestWhenLoadQuestionThenQuestionMarkAsAnswered() { //Assign QuestionGroupViewModel viewModel = new QuestionGroupViewModel(new QuestionGroup(10, new List <Question> { new Question { Cost = 30 } })); //Act viewModel.LoadQuestionCommand.Execute(viewModel.Questions.First().Model.Cost); //Assert Assert.True(viewModel.Questions.First().IsAnswered); }
public ActionResult EditQuestionGroup(Guid id) { var dbContext = new ApplicationDbContext(); var qg = dbContext.QuestionGroups.Find(id); var questions = new List <Question>(); var rules = new List <Rule>(); var rulesText = string.Empty; var questionsText = string.Empty; try { var serializerQuestion = new XmlSerializer(typeof(List <Question>)); using (var reader = new StringReader(qg.QuestionsXml)) { questions = (List <Question>)serializerQuestion.Deserialize(reader); } var serializerRule = new XmlSerializer(typeof(List <Rule>)); using (var reader = new StringReader(qg.RulesXml)) { rules = (List <Rule>)serializerRule.Deserialize(reader); } rulesText = string.Join("; ", rules.Select(x => x.ToString())); questionsText = string.Join("; ", questions.Select(x => x.ToString())); } catch (Exception e) { rulesText = "Возможны ошибки формата правил"; questionsText = "Возможны ошибки формата вопросов"; } var model = new QuestionGroupViewModel { QuestionGroup = qg, RulesText = rulesText, QuestionsText = questionsText }; return(View(model)); }
public LoadQuestionCommand(QuestionGroupViewModel viewModel, int id) { GroupId = id; _viewModel = viewModel; }
public ActionResult RenderQuestionGroupList(string questionGroupList, string questionList, int?deleteId) { Logger.Info(_logMsg.Clear().SetPrefixMsg("Render QuestionGroup").ToInputLogString()); try { if (ModelState.IsValid) { var questionGroupTableModel = new QuestionGroupViewModel(); var questionDataList = new JavaScriptSerializer().Deserialize <QuestionGroupTableModel[]>(questionList); questionGroupTableModel.QuestionGroupTableList = new List <QuestionGroupTableModel>(); if (!string.IsNullOrEmpty(questionGroupList)) { var questionGroupDataList = new JavaScriptSerializer().Deserialize <QuestionGroupTableModel[]>(questionGroupList); foreach (var item in questionGroupDataList) { if (!deleteId.HasValue || deleteId != item.id) { var model = new QuestionGroupTableModel() { id = item.id, question_name = item.question_name }; questionGroupTableModel.QuestionGroupTableList.Add(model); } } } foreach (var item in questionDataList) { if (!deleteId.HasValue || deleteId != item.id) { var model = new QuestionGroupTableModel() { id = item.id, question_name = item.question_name }; questionGroupTableModel.QuestionGroupTableList.Add(model); } } // questionGroupTableModel.QuestionGroupTableList = questionGroupTableModel.QuestionGroupTableList.OrderBy(q => q.id).ToList(); return(PartialView("~/Views/QuestionGroup/_RenderQuestionList.cshtml", questionGroupTableModel)); } return(Json(new { Valid = false, Error = string.Empty })); } catch (Exception ex) { Logger.Info(_logMsg.Clear().SetPrefixMsg("Render QuestionGroup").ToFailLogString()); return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString()))); } }