Ejemplo n.º 1
0
        // tested
        public List <PartialCourseGrade> GetParticipantsGrades(Participant participant, Course course)
        {
            List <PartialCourseGrade> partialGrades = new List <PartialCourseGrade>();

            conn.Open();

            string sql = $"SELECT PCG.PartialGradeId, PCG.gradeDate, PCG.gradeValue, PCG.comment FROM PartialCourseGrades PCG " +
                         $"JOIN ParticipantGradeLists PGL ON PCG.participantGradeListId = PGL.participantGradeListId " +
                         $"JOIN ParticipantsWithCourses PWC ON PWC.participantGradeListId = PCG.participantGradeListId " +
                         $"JOIN Participants P ON P.participantId = PWC.participantId " +
                         $"JOIN Courses C ON C.courseId = PWC.courseId " +
                         $"WHERE P.participantID = {participant.ParticipantId} AND C.courseId = {course.CourseId} " +
                         $"ORDER BY 1";

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

            while (rdr.Read())
            {
                PartialCourseGrade partialGrade = new PartialCourseGrade();
                partialGrade.PartialGradeId = int.Parse(rdr[0].ToString());
                partialGrade.GradeDate      = DateTime.Parse(rdr[1].ToString());
                Enum.TryParse(rdr[2].ToString(), out Grade myGrade);
                partialGrade.GradeValue = myGrade;
                partialGrade.Comment    = rdr[3].ToString();
                partialGrades.Add(partialGrade);
            }
            rdr.Close();
            conn.Close();
            return(partialGrades);
        }
Ejemplo n.º 2
0
        // zrobic tez edycje przynaleznosci do ktorej listy ocen nalezy?
        // brakuje nam usuwania w DAO
        public void EditGrade(PartialCourseGrade grade)
        {
            conn.Open();
            string sql = "UPDATE PartialCourseGrades " +
                         $"SET gradeDate = '{grade.GradeDate:yyyy-MM-dd}', gradeValue = '{grade.GradeValue}', " +
                         $"comment = '{grade.Comment}' " +
                         $"WHERE partialGradeId = {grade.PartialGradeId}";
            MySqlCommand cmd = new MySqlCommand(sql, conn);

            cmd.ExecuteNonQuery();
            conn.Close();
        }
Ejemplo n.º 3
0
        public void AddGrade(PartialCourseGrade grade)
        {
            conn.Open();
            string sql = "INSERT INTO PartialCourseGrades " +
                         "(partialGradeId, gradeDate, gradeValue, participantGradeListId, comment) VALUES " +
                         $"('{grade.PartialGradeId}', '{grade.GradeDate.ToString("yyyy-MM-dd")}', " +
                         $"'{grade.GradeValue}', '{grade.ParticipantGradeList.ParticipantGradeListId}', '{grade.Comment}')";
            MySqlCommand cmd = new MySqlCommand(sql, conn);

            cmd.ExecuteNonQuery();
            conn.Close();
        }
Ejemplo n.º 4
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"));
        }
Ejemplo n.º 5
0
        public IActionResult Edit(int id)
        {
            ViewBag.dataIsValid = true;

            PartialCourseGrade  grade  = manager.GetGrade(id);
            List <Models.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", grade.GradeValue);

            return(View(grade));
        }
Ejemplo n.º 6
0
        // tested
        public PartialCourseGrade GetGrade(int idGrade)
        {
            conn.Open();
            string sql = $"SELECT * FROM PartialCourseGrades " +
                         $"WHERE partialGradeId = {idGrade}";
            MySqlCommand    cmd = new MySqlCommand(sql, conn);
            MySqlDataReader rdr = cmd.ExecuteReader();

            PartialCourseGrade grade = new PartialCourseGrade();

            while (rdr.Read())
            {
                grade.PartialGradeId = int.Parse(rdr[0].ToString());
                grade.GradeDate      = DateTime.Parse(rdr[1].ToString());
                Enum.TryParse(rdr[2].ToString(), out Grade myGrade);
                grade.GradeValue = myGrade;

                //grade.GradeValue = GradeConverter.GetGrade(float.Parse(rdr[2].ToString()));
                grade.Comment = rdr[3].ToString();
            }
            conn.Close();
            return(grade);
        }
Ejemplo n.º 7
0
        public IActionResult Edit(int id, IFormCollection form)
        {
            List <bool> fieldsValidation = GetGradeFieldsValidation(form);
            bool        dataIsValid      = ValidateGradeData(form, fieldsValidation);

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

                PartialCourseGrade grade  = manager.GetGrade(id);
                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);
                ViewData["Date"]   = form["DataTextField"];
                ViewData["Coment"] = form["ComentTextArea"];

                return(View(grade));
            }

            PartialCourseGrade partialCourseGrade = new PartialCourseGrade();

            partialCourseGrade.PartialGradeId = id;
            partialCourseGrade.GradeDate      = Convert.ToDateTime(form["DataTextField"]);
            partialCourseGrade.GradeValue     = GradeConverter.GetGradeString(form["GradeId"]);
            partialCourseGrade.Comment        = form["ComentTextArea"];
            manager.EditGrade(partialCourseGrade);
            return(RedirectToAction("Index"));
        }