예제 #1
0
        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));
        }
예제 #2
0
        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"));
        }