public QuestionnaireVm(List <CategorieQuest> categories, Questionnaire questionnaire) { CategorieQuestions = new List <CategorieQuestVm>(); foreach (var category in categories) { var questions = new List <QuestionReponse>(); foreach (var q in category.QuestionsCateg) { var questionReponse = new QuestionReponse { Question = q }; if (questionnaire != null && questionnaire.QuestionnaireID > 0) { var questionRep = questionnaire.Questions.FirstOrDefault(qr => qr.QuestionID == q.QuestionID); if (questionRep != null) { questionReponse.ReponseSelected = questionRep.ReponseSelected; questionReponse.ReponseString = questionRep.ReponseString; } } questions.Add(questionReponse); } var categorieQuestVm = new CategorieQuestVm { CategorieQuest = category, Questions = questions }; CategorieQuestions.Add(categorieQuestVm); } }
public IHttpActionResult Update([FromBody] QuestionReponse qr) { //Il faut comparer les lists de questionreponse dans question(obj1 passé en paramètre) et questionToUpdate. //Pour les objets existants il faut les modifier et pour les objets nouveaux, les créers (besoin d'un questionReponseAccessLayer) var qrToUpdate = new FR_DataAccessLayer.Models.QuestionReponse { QuestionId = qr.QuestionId, ReponseId = qr.ReponseId, Vraie = qr.Vraie }; qrAccessLayer.Update(qrToUpdate); return(this.Ok("updated")); }
public IHttpActionResult Get(int?id) { if (id == null) { return(this.BadRequest()); } var questionReponse = qrAccessLayer.Get((int)id); if (questionReponse == null) { return(this.NotFound()); } var result = new QuestionReponse { QuestionId = questionReponse.QuestionId, ReponseId = questionReponse.ReponseId, Vraie = questionReponse.Vraie }; return(this.Ok(result)); }
public ActionResult Index(QuestionnaireVm model) { // _emailService.SendAcountCredentiel(new Domain.Model.User { AdresseEmail = "*****@*****.**", Password = "" }); Questionnaire questionnaire; var questions = new List <QuestionReponse>(); foreach (var cat in model.CategorieQuestions) { foreach (var q in cat.Questions) { var questionReponse = new QuestionReponse { QuestionID = q.Question.QuestionID, ReponseSelected = q.ReponseSelected, ReponseString = q.ReponseString }; questions.Add(questionReponse); } } if (model.QuestionnaireId == 0) { questionnaire = new Questionnaire(); questionnaire.Questions = questions; questionnaire.UserId = SecurityHelper.GetCurrentUserId(); questionnaire.DateCreation = DateTime.Now; //Anayse var anlysePointsForts = string.Empty; foreach (var q in questions) { if (q.ReponseSelected > 0) { var rep = _reponseService.getReponseById(q.ReponseSelected); anlysePointsForts = anlysePointsForts + rep.AnalyseReponsePointsForts; } } questionnaire.AnalysePointForts = anlysePointsForts; _questionnaireService.Create(questionnaire); } else { questionnaire = _questionnaireService.getQuestionnaireById(model.QuestionnaireId); _questionnaireService.DeleteQuestionReponseByQuestionnaireId(model.QuestionnaireId); questionnaire.Questions = questions; questionnaire.UserId = SecurityHelper.GetCurrentUserId(); //Anayse var anlysePointsForts = string.Empty; foreach (var q in questions) { if (q.ReponseSelected > 0) { var rep = _reponseService.getReponseById(q.ReponseSelected); anlysePointsForts = anlysePointsForts + rep.AnalyseReponsePointsForts; } } questionnaire.AnalysePointForts = anlysePointsForts; _questionnaireService.Update(questionnaire); } var categories = categorieService.getCategories(); model = new QuestionnaireVm(categories, questionnaire); // return View(model); return(RedirectToAction("ListQuestionnaire")); }