コード例 #1
0
        public void AddParticipantWithCourse(Participant participant, Course course, ParticipantGradeList list)
        {
            conn.Open();
            string sql = "INSERT INTO ParticipantsWithCourses " +
                         "(participantId, courseId, participantGradeListId) VALUES " +
                         $"('{participant.ParticipantId}', '{course.CourseId}', '{list.ParticipantGradeListId}')";

            MySqlCommand cmd = new MySqlCommand(sql, conn);

            cmd.ExecuteNonQuery();
            conn.Close();
        }
コード例 #2
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"));
        }
コード例 #3
0
        public ParticipantGradeList GetParticipantGradeList(Participant participant, Course course)
        {
            ParticipantGradeList list = new ParticipantGradeList();

            conn.Open();

            string sql = $"SELECT PGL.participantGradeListId FROM ParticipantGradeLists PGL " +
                         $"JOIN ParticipantsWithCourses PWC ON PGL.participantGradeListId = PWC.participantGradeListId " +
                         $"JOIN Participants P ON PWC.participantId = P.participantId " +
                         $"WHERE P.participantId = {participant.ParticipantId} AND PWC.courseId = {course.CourseId}";

            MySqlCommand    cmd = new MySqlCommand(sql, conn);
            MySqlDataReader rdr = cmd.ExecuteReader();

            if (rdr.Read())
            {
                list.ParticipantGradeListId = int.Parse(rdr[0].ToString());
            }
            else
            {
                rdr.Close();

                sql = $"SELECT MAX(participantGradeListId) FROM ParticipantGradeLists";

                cmd = new MySqlCommand(sql, conn);
                rdr = cmd.ExecuteReader();

                if (rdr.Read())
                {
                    list.ParticipantGradeListId = int.Parse(rdr[0].ToString()) + 1;
                    rdr.Close();

                    sql = $"INSERT INTO ParticipantGradeLists (participantGradeListId) VALUES " +
                          $"('{list.ParticipantGradeListId}')";
                    cmd = new MySqlCommand(sql, conn);
                    cmd.ExecuteNonQuery();

                    conn.Close();
                    AddParticipantWithCourse(participant, course, list);
                    return(list);
                }
                else
                {
                    list.ParticipantGradeListId = 0;
                    rdr.Close();

                    sql = $"INSERT INTO ParticipantGradeLists (participantGradeListId) VALUES " +
                          $"('{list.ParticipantGradeListId}')";
                    cmd = new MySqlCommand(sql, conn);
                    cmd.ExecuteNonQuery();

                    conn.Close();
                    AddParticipantWithCourse(participant, course, list);
                    return(list);
                }
            }


            rdr.Close();
            conn.Close();

            return(list);
        }