public ActionResult Survey(int? id) { if (id == null) { return HttpNotFound(); } var dt = DateTime.Now; int semester = 0, year = 0; Functions.GetLastSemester(dt, out semester, out year); var item = uiw.Repository<SurveyCours>() .GetByIdAndStudentIdRefactored(id.Value, Convert.ToInt32(User.Identity.GetUserId()), semester, year); if (item == null) { return HttpNotFound(); } var assistants = uiw.Repository<User>().GetAssistantsByCourse(item.SemesterCours.CourseCode); if (item == null) { return HttpNotFound(); } var model = new StudentsSurveyModel() { SurveyCourse = item, Assistants = assistants, SurveyId = id }; return View(model); }
public ActionResult Survey(StudentsSurveyModel model) { var dt = DateTime.Now; int semester = 0, year = 0; Functions.GetLastSemester(dt, out semester, out year); var item = uiw.Repository<SurveyCours>() .GetByIdAndStudentIdRefactored(model.SurveyId ?? 0, Convert.ToInt32(User.Identity.GetUserId()), semester, year); if (item == null) { return HttpNotFound(); } try { if (model.UserAnswers != null) { foreach (var a in model.UserAnswers) { var answer = new UserAnswer { AnswerId = a, SurveyCourseId = item.Id, RoleId = 1 }; uiw.Repository<UserAnswer>().Insert(answer); } } if (model.UserAnswersString != null) { foreach (var a in model.UserAnswersString) { var answer = new UserAnswer { AnswerId = a.Id, SurveyCourseId = item.Id, Value = a.Text, RoleId = 1 }; uiw.Repository<UserAnswer>().Insert(answer); } } if (model.UserAnswersString != null || model.UserAnswers != null) { var us = new UserSurvey { UserId = Convert.ToInt32(User.Identity.GetUserId()), SurveyCourseId = item.Id, DateOfEvent=DateTime.Now }; uiw.Repository<UserSurvey>().Insert(us); } //Assistant if ((model.UserAnswersSecondUser != null && model.TeacherId != null) || model.UserAnswersString != null) { var sitem = uiw.Repository<SurveyCours>().Get(filter: x => x.SemesterCours.CourseCode == item.SemesterCours.CourseCode && x.SemesterCours.UserId == model.TeacherId && (x.SemesterCours.ProgrammeCode == item.SemesterCours.RevisionName || 1 == 1) && (x.SemesterCours.ProgrammeCode == item.SemesterCours.ProgrammeCode || 1 == 1)).FirstOrDefault(); if (sitem != null) { if (model.UserAnswersSecondUser != null) { foreach (var a in model.UserAnswersSecondUser) { var answer = new UserAnswer { AnswerId = a, SurveyCourseId = sitem.Id, RoleId = 4 }; uiw.Repository<UserAnswer>().Insert(answer); } } if (model.UserAnswersString != null) { foreach (var a in model.UserAnswersString) { var answer = new UserAnswer { AnswerId = a.Id, SurveyCourseId = sitem.Id, Value = a.Text, RoleId = 4 }; uiw.Repository<UserAnswer>().Insert(answer); } } if (model.UserAnswersSecondUser != null || model.UserAnswersString != null) { var us = new UserSurvey { UserId = Convert.ToInt32(User.Identity.GetUserId()), SurveyCourseId = sitem.Id, DateOfEvent = DateTime.Now }; uiw.Repository<UserSurvey>().Insert(us); } } } uiw.Save(); } catch { } return RedirectToAction("Index"); }