Beispiel #1
0
        /// <summary>
        /// Обновление записи в таблице CCourseSchedule из переданной модели MCourseSchedule
        /// Поиск изменяемой строки в CCourseSchedule по полю "ID"
        /// </summary>
        /// <param name="model">Модель хранящая обновляемую запись таблицы</param>
        /// <returns>Результат обновления</returns>
        public bool Update(Model model)
        {
            MCourseSchedule mSchedule = (MCourseSchedule)model;

            if (mSchedule.Id <= 0 || mSchedule.Id == null)
            {
                return(false);
            }

            for (int i = 0; i < Rows.Count; i++)
            {
                if ((int)Rows[i]["ID"] == mSchedule.Id)
                {
                    try
                    {
                        Rows[i].BeginEdit();
                        Rows[i]["AcademicId"] = mSchedule.AcademicId;
                        Rows[i]["Building"]   = mSchedule.Building;
                        Rows[i]["Classroom"]  = mSchedule.Classroom;
                        Rows[i]["DayOfWeek"]  = mSchedule.DayOfWeek;
                        Rows[i]["StartTime"]  = mSchedule.StartTime;
                        Rows[i]["EndTime"]    = mSchedule.EndTime;
                        Rows[i].EndEdit();
                        Rows[i].AcceptChanges();
                        return(true);
                    }
                    catch (Exception ex)
                    {
                        Debug.WriteLine(ex.Message);
                        return(false);
                    }
                }
            }
            return(false);
        }
Beispiel #2
0
        /// <summary>
        /// Метод вставки переданной модели MCourseSchedule в таблицу CCourseSchedule
        /// в случае уникальности свойства ID модели для таблицы CCourseSchedule
        /// </summary>
        /// <param name="model">Вставляемая в CCourseSchedule модель</param>
        /// <returns>Результат вставки</returns>
        /// <remarks>Поле ID допускает значение null, оно автоинкрементное.</remarks>
        public bool Insert(Model model)
        {
            MCourseSchedule mSchedule = (MCourseSchedule)model;

            if (mSchedule.Id <= 0 || (mSchedule.AcademicId <= 0 || mSchedule.AcademicId == null))
            {
                return(false);
            }

            try
            {
                DataRow newRow = NewRow();
                if (mSchedule.Id != null)
                {
                    newRow["ID"] = mSchedule.Id;
                }
                newRow["AcademicId"] = mSchedule.AcademicId;
                newRow["Building"]   = mSchedule.Building;
                newRow["Classroom"]  = mSchedule.Classroom;
                newRow["DayOfWeek"]  = mSchedule.DayOfWeek;
                newRow["StartTime"]  = mSchedule.StartTime;
                newRow["EndTime"]    = mSchedule.EndTime;

                Rows.Add(newRow);
                return(true);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                return(false);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Метод удаления строки соответствующей переданной модели из таблицы CCourseSchedule.
        /// В таблице CCourseSchedule ищется строка с полем "ID" соответсвующим этому же полю модели,
        /// переданной в качестве параметра.
        ///    В случае успеха поиска удаляется найденная строка.
        /// </summary>
        /// <param name="model">Модель, выбранной строки в таблице</param>
        /// <returns>Результат удаления переданной строки из CCourseSchedule</returns>
        public bool Delete(Model model)
        {
            MCourseSchedule mSchedule = (MCourseSchedule)model;

            if (mSchedule.Id <= 0 || mSchedule.Id == null)
            {
                return(false);
            }

            for (int i = 0; i < Rows.Count; i++)
            {
                if ((int)Rows[i]["ID"] == mSchedule.Id)
                {
                    Rows.Remove(Rows[i]);
                    return(true);
                }
            }
            return(false);
        }