// 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); }
// 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(); }
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(); }
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")); }
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)); }
// 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); }
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")); }