Ejemplo n.º 1
0
        /// <summary>
        /// Возвращает оценки пользователя по определенному предмету
        /// </summary>
        /// <param name="subjectID">Идентификатор предмета</param>
        /// <returns>Масив оценок</returns>
        public Marks[] GetMyMarks(int subjectID)
        {
            Marks[] result = null;
            DB      db     = new DB();
            string  query;

            if (this.userType == UserType.Student)
            {
                query = string.Format("select marks.Mark_id from marks inner join studentsubject inner join student inner join users on marks.StudentSubject_id = studentsubject.StudentSubject_id and studentsubject.Student_id = student.Student_id and student.Student_id = users.Student_id and users.User_id = {0} and studentsubject.Subject_id = {1}  order by marks.Date;", this.userID, subjectID);
            }
            else
            {
                query = string.Format("select marks.Mark_id from marks inner join studentsubject inner join subject inner join lecturer inner join users on marks.StudentSubject_id = studentsubject.StudentSubject_id and studentsubject.Subject_id = subject.Subject_id and subject.Lecturer_id = lecturer.Lecturer_id and lecturer.Lecturer_id = users.Lecturer_id and users.User_id = {0}  and studentsubject.Subject_id = {1} order by marks.Date;", this.userID, subjectID);
            }
            DB.ResponseTable markID = db.QueryToRespontTable(query);
            if (markID != null && markID.CountRow > 0)
            {
                result = new Marks[markID.CountRow];
                for (int i = 0, end = result.Length; i < end && markID.Read(); i++)
                {
                    result[i] = new Marks(Convert.ToInt32(markID["Mark_id"]));
                    result[i].GetInformationAboutUserFromDB();
                }
            }
            return(result);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }