Exemple #1
0
        public IActionResult Add(IFormCollection form)
        {
            List <bool> fieldsValidation = GetGradeFieldsValidation(form);
            bool        dataIsValid      = ValidateGradeData(form, fieldsValidation);

            if (!dataIsValid)
            {
                var gradeValue = GradeConverter.GetGradeString(form["GradeId"]);

                ViewBag.fieldsValidation = fieldsValidation;
                ViewBag.form             = form;
                List <Grade> grades = Enum.GetValues(typeof(Grade))
                                      .Cast <Grade>()
                                      .ToList();
                IEnumerable <SelectListItem> selectList = from g in grades
                                                          select new SelectListItem
                {
                    Value = g.ToString(),
                    Text  = GradeConverter.ParseGrade(g).ToString()
                };
                ViewData["Grades"] = new SelectList(selectList, "Value", "Text", gradeValue);
                return(View());
            }

            PartialCourseGrade partialCourseGrade = new PartialCourseGrade();
            int maxId = manager.GetMaxGradeId();

            partialCourseGrade.PartialGradeId = maxId + 1;
            partialCourseGrade.GradeDate      = Convert.ToDateTime(form["DataTextField"]);
            partialCourseGrade.GradeValue     = GradeConverter.GetGradeString(form["GradeId"]);
            partialCourseGrade.Comment        = form["ComentTextArea"];

            Models.Participant participant = new Models.Participant();
            Course             course      = new Course();

            participant.ParticipantId = staticParticipantId;
            course.CourseId           = staticCourseId;

            ParticipantGradeList list = manager.GetParticipantGradeList(participant, course);

            partialCourseGrade.ParticipantGradeList = list;



            manager.AddGrade(partialCourseGrade);
            return(RedirectToAction("Index"));
        }