public async Task <IActionResult> CreateQuestionsToMarketResearchDirectly([Bind("MarketResearchId,Name,Description,Purpose,MinAge,MaxAge,Gender,Area,CreationDate,StartDate,EndDate,NumberOfResponders, OnGoing")] MarketResearch marketResearch) { if (ModelState.IsValid) { marketResearch.MarketResearchId = Guid.NewGuid(); ApplicationUser applicationUser = await _userManager.GetUserAsync(HttpContext.User); var userId = applicationUser.Id; await _accessQuestions.SetMarketResearchToPersonAndOrganizationAndSave(marketResearch, userId); await _accessQuestions.GetRespondersToMarketResearch(marketResearch); await _context.SaveChangesAsync(); } var questionToMarketResearch = new AddQuestionToMarketResearchVm { CurrentMarketResearchId = marketResearch.MarketResearchId }; return(RedirectToAction("Create", "Questions", questionToMarketResearch)); }
internal async Task SetNumberOnQuestion(AddQuestionToMarketResearchVm questionToMarketResearchVm) { var question = _questionContext.Questions.Single(x => x.QuestionId == questionToMarketResearchVm.Question.QuestionId); question.QuestionNumber = _questionContext.GetQuestionToMarketResearches.Where(x => x.MarketResearchId == questionToMarketResearchVm.CurrentMarketResearchId).Include(x => x.Question).Max(x => x.Question.QuestionNumber) + 1; _questionContext.Update(question); await _questionContext.SaveChangesAsync(); }
//internal async Task GetRespondersToMarketResearchFromRegistredUser(Guid id) //{ // var respondent = _questionContext.Persons.FirstAsync(x => x.PersonId == id); // var responders = _questionContext.MarketResearches.Include(x=>x.) Where(x => // (_questionContext.MarketResearches.Gender == null || marketResearch.Gender == x.Gender) && // ( marketResearch.MinAge == null || respondent.Age > x.Age) && // ( marketResearch.MaxAge == null || respondent.Age < x.Age) && // (marketResearch.OnGoing == true) && // (marketResearch.OnGoing == true) && // (marketResearch.Area == null || marketResearch.Area == x.City)).ToList(); //} internal async Task AddQuestionOption(AddQuestionToMarketResearchVm questionToMarketResearchVm, int questionType) { var question = _questionContext.Questions.Single(x => x.QuestionId == questionToMarketResearchVm.Question.QuestionId); //Blir det rätt question.QuestionType = (QuestionTypes)questionType; _questionContext.Update(question); await _questionContext.SaveChangesAsync(); }
internal async Task SetQuestionTypeOnQuestion(AddQuestionToMarketResearchVm questionToMarketResearchVm) { var question = _questionContext.Questions.Single(x => x.QuestionId == questionToMarketResearchVm.Question.QuestionId); question.QuestionType = questionToMarketResearchVm.QuestionTypes.First(); _questionContext.Update(question); await _questionContext.SaveChangesAsync(); }
public IActionResult CreateQuestionsToMarketResearch(Guid id) { var questionToMarketResearch = new AddQuestionToMarketResearchVm { //QuestionTypes = _context.QuestionTypes.Select(x=>x).ToList(), CurrentMarketResearchId = id }; return(RedirectToAction("Create", "Questions", questionToMarketResearch)); }
public async Task <IActionResult> SetOptionsForQuestionType(AddQuestionToMarketResearchVm questionToMarketResearchVm) { var vm = new AddQuestionToMarketResearchVm(); questionToMarketResearchVm.GradeChoices = vm.SetGradeChoicesList(); questionToMarketResearchVm.BinaryChoice = vm.SetBinaryChoiceList(); await _dataAccessQuestion.saveQuestion(questionToMarketResearchVm); questionToMarketResearchVm.Question.ActualQuestion = ""; return(View("Create", questionToMarketResearchVm)); }
// GET: Questions/Create public IActionResult Create(AddQuestionToMarketResearchVm addQuestionToMarketResearchVm) { var listOfChapters = _dataAccessQuestion.GetChapters(addQuestionToMarketResearchVm.CurrentMarketResearchId); var selectChapters = GetSelectChapters(listOfChapters); addQuestionToMarketResearchVm.Chapters = selectChapters; foreach (var chapter in listOfChapters) { addQuestionToMarketResearchVm.MarketResearchName = chapter.MarketResearch.Name; break; } return(View(addQuestionToMarketResearchVm)); }
public async Task <IActionResult> UpdateQuestion(AddQuestionToMarketResearchVm addQuestionToMarketResearch) { var listQuestionOption = _context.QuestionOptions.Where(x => x.QuestionId == addQuestionToMarketResearch.Question.QuestionId).ToList(); _context.RemoveRange(listQuestionOption); var vm = new AddQuestionToMarketResearchVm(); addQuestionToMarketResearch.GradeChoices = vm.SetGradeChoicesList(); addQuestionToMarketResearch.BinaryChoice = vm.SetBinaryChoiceList(); addQuestionToMarketResearch.Question.QuestionType = addQuestionToMarketResearch.QuestionTypes[0]; _context.Update(addQuestionToMarketResearch.Question); await _context.SaveChangesAsync(); return(View("Update", addQuestionToMarketResearch)); }
internal async Task saveQuestion(AddQuestionToMarketResearchVm questionToMarketResearchVm) { var marketResearch = _questionContext.MarketResearches.Single(x => x.MarketResearchId == questionToMarketResearchVm.CurrentMarketResearchId); var question = questionToMarketResearchVm.Question; question.QuestionType = questionToMarketResearchVm.QuestionTypes[0]; QuestionToMarketResearch questionToMarketResearch = new QuestionToMarketResearch { Question = question, MarketResearch = marketResearch }; _questionContext.Add(questionToMarketResearch); await _questionContext.SaveChangesAsync(); }
public async Task <IActionResult> SaveChapter(Guid marketResearchId, Chapters chapters) { if (!ModelState.IsValid) { return(View("AddChapter")); } await _dataAccessQuestion.SaveChapter(marketResearchId, chapters); AddQuestionToMarketResearchVm viewModel = new AddQuestionToMarketResearchVm(); viewModel.CurrentMarketResearchId = marketResearchId; var listofchapters = _dataAccessQuestion.GetChapters(marketResearchId); var selectchapters = GetSelectChapters(listofchapters); viewModel.Chapters = selectchapters; return(View("Create", viewModel)); }
// GET: Questions/Edit/5 public async Task <IActionResult> Edit(Guid id) { if (id == null) { return(NotFound()); } var question = await _context.Questions.FindAsync(id); var marketResearch = _context.GetQuestionToMarketResearches.Where(x => x.QuestionId == id).Select(x => x.MarketResearchId).ToList(); if (question == null) { return(NotFound()); } var viewModelEdit = new AddQuestionToMarketResearchVm(); viewModelEdit.Question = question; viewModelEdit.CurrentMarketResearchId = marketResearch[0]; viewModelEdit.Question.QuestionId = id; ViewData["ChaptersId"] = new SelectList(_context.Chapters.Where(x => x.MarketResearch.MarketResearchId == marketResearch[0]), "ChaptersId", "Name", question.ChaptersId); return(View(viewModelEdit)); }
internal async Task AddQuestionOption(QuestionOption questionOption, AddQuestionToMarketResearchVm questionToMarketResearchVm) { questionOption.QuestionId = questionToMarketResearchVm.Question.QuestionId; _questionContext.Add(questionOption); await _questionContext.SaveChangesAsync(); }
public async Task <IActionResult> UpdateType(AddQuestionToMarketResearchVm questionToMarketResearchVm, bool buttonstate) { var listOfChapters = _dataAccessQuestion.GetChapters(questionToMarketResearchVm.CurrentMarketResearchId); var selectChapters = GetSelectChapters(listOfChapters); questionToMarketResearchVm.Chapters = selectChapters; string qType = questionToMarketResearchVm.QuestionTypes.First().ToString(); switch (qType) { case "Graderingsfråga": { var vm = new AddQuestionToMarketResearchVm(); questionToMarketResearchVm.GradeChoices = vm.SetGradeChoicesList(); for (int i = 0; i < questionToMarketResearchVm.HighGrade; i++) { var questionOption = new QuestionOption(); questionOption.Value = (i + 1).ToString(); questionOption.QuestionId = questionToMarketResearchVm.Question.QuestionId; if (i == 0) { var listitem = questionToMarketResearchVm.GradeChoices[questionToMarketResearchVm.TypeChoice]; string[] headingsInArray = listitem.Text.Split('-'); questionOption.QuestionOptionHeading = headingsInArray[0].Trim(); } else if (i == questionToMarketResearchVm.HighGrade - 1) { var listitem = questionToMarketResearchVm.GradeChoices[questionToMarketResearchVm.TypeChoice]; string[] headingsInArray = listitem.Text.Split('-'); questionOption.QuestionOptionHeading = headingsInArray[1].Trim(); } await _dataAccessQuestion.AddQuestionOption(questionOption, questionToMarketResearchVm); } if (string.IsNullOrEmpty(questionToMarketResearchVm.Question.QuestionNumber.ToString()) || questionToMarketResearchVm.Question.QuestionNumber == 0) { await _dataAccessQuestion.SetNumberOnQuestion(questionToMarketResearchVm); } questionToMarketResearchVm.QuestionTypes = null; ModelState.Clear(); break; } case "Binärfråga": { var vm = new AddQuestionToMarketResearchVm(); questionToMarketResearchVm.BinaryChoice = vm.SetBinaryChoiceList(); var questionOption = new QuestionOption(); var bin = questionToMarketResearchVm.BinaryChoice[questionToMarketResearchVm.TypeChoice]; questionOption.QuestionOptionHeading = bin.Text.ToString(); questionOption.Value = bin.Text.ToString(); await _dataAccessQuestion.AddQuestionOption(questionOption, questionToMarketResearchVm); if (string.IsNullOrEmpty(questionToMarketResearchVm.Question.QuestionNumber.ToString()) || questionToMarketResearchVm.Question.QuestionNumber == 0) { await _dataAccessQuestion.SetNumberOnQuestion(questionToMarketResearchVm); } questionToMarketResearchVm.QuestionTypes = null; break; } case "Flervalsfråga": { string x = questionToMarketResearchVm.Alternative.ToString(); List <string> queOptList = new List <string>(); queOptList.Add(x); if (buttonstate) { questionToMarketResearchVm.QuestionTypes = null; ModelState.Clear(); if (string.IsNullOrEmpty(questionToMarketResearchVm.Question.QuestionNumber.ToString()) || questionToMarketResearchVm.Question.QuestionNumber == 0) { await _dataAccessQuestion.SetNumberOnQuestion(questionToMarketResearchVm); } } else { var questionOption = new QuestionOption(); questionOption.QuestionOptionHeading = questionToMarketResearchVm.Alternative.ToString(); questionOption.Value = questionToMarketResearchVm.Alternative.ToString(); await _dataAccessQuestion.AddQuestionOptionForFlerval(questionOption, questionToMarketResearchVm); ViewData["listOfAlternatives"] = queOptList; } return(View("Create", questionToMarketResearchVm)); } case "Textfråga": { if (string.IsNullOrEmpty(questionToMarketResearchVm.Question.QuestionNumber.ToString()) || questionToMarketResearchVm.Question.QuestionNumber == 0) { await _dataAccessQuestion.SetNumberOnQuestion(questionToMarketResearchVm); } var questionOption = new QuestionOption(); questionOption.QuestionOptionHeading = "Text"; await _dataAccessQuestion.AddQuestionOption(questionOption, questionToMarketResearchVm); questionToMarketResearchVm.QuestionTypes = null; questionToMarketResearchVm.Question.ActualQuestion = null; ModelState.Clear(); return(View("Create", questionToMarketResearchVm)); } default: break; } //var mrId = questionToMarketResearchVm.CurrentMarketResearchId; //ShowQuestionsForMarketResearch(questionToMarketResearchVm.CurrentMarketResearchId); //return RedirectToAction("ShowQuestionsForMarketResearch", questionToMarketResearchVm.CurrentMarketResearchId); //return Redirect("ShowQuestionsForMarketResearch", "Questions", questionToMarketResearchVm); //return View("ShowQuestionsForMarketResearch", questionToMarketResearchVm); return(RedirectToAction("ShowQuestionsForMarketResearch", new { marketResearchId = questionToMarketResearchVm.CurrentMarketResearchId })); }