/// <summary> /// Берет всю информацию об оценке из БД /// </summary> /// <returns>true - есть, false - нету</returns> public bool GetInformationAboutUserFromDB() { DB db = new DB(); DB.ResponseTable marks = db.QueryToRespontTable(string.Format("select * from marks inner join studentsubject on marks.StudentSubject_id = studentsubject.StudentSubject_id and marks.Mark_id = {0};", this.markID)); if (marks != null && marks.CountRow == 1) { marks.Read(); this.studentID = Convert.ToInt32(marks["Student_id"]); this.subjectID = Convert.ToInt32(marks["Subject_id"]); this.date = Convert.ToDateTime(marks["Date"]); this.mark = Convert.ToInt32(marks["Mark"]); this.bonusMark = Convert.ToInt32(marks["Bonus_mark"]); this.maxMark = Convert.ToInt32(marks["Max_mark"]); this.typeMark = Marks.ConverStringToEnum((string)marks["Type_marks"]); return(true); } return(false); }
/// <summary> /// Преобразовывает элемент перчисления в строку /// </summary> /// <param name="value">Элемент перечисления</param> /// <returns>Строковая интерпритация элемнта перечисления</returns> public static string GetEnumDescription(Marks.TypeMarks value) { switch (value) { case Marks.TypeMarks.independent: return("самостійна"); case Marks.TypeMarks.control: return("контрольна"); case Marks.TypeMarks.laboratory: return("лабораторна"); case Marks.TypeMarks.module: return("модульна"); case Marks.TypeMarks.test: return("тест"); case Marks.TypeMarks.workOnPair: return("за роботу на парі"); } return(null); }
/// <summary> /// Добовляет оценку в БД /// </summary> /// <param name="studentID">Идентификатор студента</param> /// <param name="subjectID">Идентификатор предмета</param> /// <param name="mark">Сама оценка</param> /// <param name="bonusMark">Бонусные балы</param> /// <param name="maxMark">Максимальная оценка</param> /// <param name="typeMark">Тип оценки</param> /// <param name="date">Дата выставления оценки</param> /// <returns>Новыя оценка</returns> public static Marks AddMark(int studentID, int subjectID, int mark, int bonusMark, int maxMark, Marks.TypeMarks typeMark, DateTime date) { DB db = new DB(); db.QueryToRespontTable(string.Format("insert into marks(Date, Mark, Bonus_mark, Max_mark, StudentSubject_id, Type_marks) value ('{0}', {1}, {2}, {3}, (select StudentSubject_id from studentsubject where Student_id = {4} and Subject_id = {5}), '{6}');", date.ToString("yyyy-MM-dd"), mark, bonusMark, maxMark, studentID, subjectID, Marks.GetEnumDescription(typeMark))); DB.ResponseTable markID = db.QueryToRespontTable("select LAST_INSERT_ID() as id;"); markID.Read(); Marks currentMark = new Marks(Convert.ToInt32(markID["id"])); currentMark.GetInformationAboutUserFromDB(); return(currentMark); }