Skip to content

Commit

Permalink
Merge pull request #921 from Students-of-the-city-of-Kostroma/task-Te…
Browse files Browse the repository at this point in the history
…sting-17-ISbo-2b-7

Добавление изменений из ветки 17-ISbo-2b-7 в ветку Testing
  • Loading branch information
map82top authored May 26, 2019
2 parents c0aa558 + b97b0e5 commit 627ac45
Show file tree
Hide file tree
Showing 75 changed files with 1,387 additions and 786 deletions.
34 changes: 31 additions & 3 deletions LibOfTimetableOfClasses/CEnclosures.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,19 @@

namespace LibOfTimetableOfClasses
{
/// <summary>
/// Таблица со строками, хранящими данные о разных корпусах Университета.
/// </summary>
public class СEnclosures : DataTable, IController
{
/// <summary>
/// Конструктор таблицы
/// Формируются поля таблицы типа DataTable и их свойства.
/// Уникальность строки в таблице определяется уникальностью полей Name и University
/// </summary>
public СEnclosures() : base("Корпус")
{
if (Controllers.СEnclosures != null) throw new Exception("Контроллер уже существует");
if (RefData.СEnclosures != null) throw new Exception("Контроллер уже существует");

DataColumn[] keys = new DataColumn[2];
DataColumn column = new DataColumn();
Expand All @@ -30,11 +38,13 @@ public СEnclosures() : base("Корпус")
column = new DataColumn();
column.DataType = typeof(string);
column.ColumnName = "Address";
column.Unique = true;
this.Columns.Add(column);

column = new DataColumn();
column.DataType = typeof(string);
column.ColumnName = "Phone";
column.Unique = true;
this.Columns.Add(column);

column = new DataColumn();
Expand All @@ -45,9 +55,15 @@ public СEnclosures() : base("Корпус")
this.PrimaryKey = keys;
}


/// <summary>
/// Метод удаления строки соответствующей переданной модели из таблицы CEnclosures.
/// В таблице CGroup ищется строка с полем "Name" и "University" соответсвующим этому же полю модели,
/// переданной в качестве параметра.
/// В случае успеха поиска удаляется найденная строка.
/// </summary>
/// <param name="model">Модель, хранящая выбранную строку в таблице</param>
/// <returns>Результат удаления переданной строки из CGroup</returns>
public bool Delete(Model model)

{
MEnclosures mEnclosures = (MEnclosures)model;
for (int i = 0; i < this.Rows.Count; i++)
Expand All @@ -71,6 +87,12 @@ private bool isValidKey(MEnclosures mEnclosures)
return true;
}

/// <summary>
/// Метод вставки переданной модели MEnclosures в таблицу CEnclosures
/// в случае уникальности свойства Name и University модели для таблицы CGroup
/// </summary>
/// <param name="model">Модель хранящая добавляемую запись таблицы</param>
/// <returns>Результат вставки</returns>
public bool Insert(Model model)
{
MEnclosures mEnclosures = (MEnclosures)model;
Expand Down Expand Up @@ -100,6 +122,12 @@ public bool Insert(Model model)

}

/// <summary>
/// Обновление свойств строки в таблице CEnclosures из переданной модели MEnclosures
/// Поиск изменяемой строки CEnclosures осуществляется по полю "Name" и "University"
/// </summary>
/// <param name="model">Модель хранящая обновляемую запись таблицы</param>
/// <returns>Результат обновления</returns>
public bool Update(Model model)
{
MEnclosures mEnclosures = (MEnclosures)model;
Expand Down
41 changes: 38 additions & 3 deletions LibOfTimetableOfClasses/CGroup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,21 @@
using System.Threading.Tasks;

namespace LibOfTimetableOfClasses
{
{
/// <summary>
/// Таблица со строками, хранящими данные о разных учебных группах в Университете
/// </summary>
public class CGroup : DataTable, IController
{
/// <summary>
/// Конструктор таблицы
/// Формируются поля таблицы типа DataTable и их свойства.
/// Уникальность строки в таблице определяется уникальностью поля Group.
/// </summary>
public CGroup() : base("Группа")
{

if (Controllers.CGroup != null) throw new Exception("Контроллер уже существует");
if (RefData.CGroup != null) throw new Exception("Контроллер уже существует");

DataColumn column = new DataColumn();
column.DataType = typeof(string);
Expand Down Expand Up @@ -57,7 +65,14 @@ public CGroup() : base("Группа")
this.Columns.Add(column);
}


/// <summary>
/// Метод удаления строки соответствующей переданной модели из таблицы CGroup.
/// В таблице CGroup ищется строка с полем "Group" соответсвующим этому же полю модели,
/// переданной в качестве параметра.
/// В случае успеха поиска удаляется найденная строка.
/// </summary>
/// <param name="model">Модель, выбранной строки в таблице</param>
/// <returns>Результат удаления переданной строки из CGroup</returns>
public bool Delete(Model model)

{
Expand All @@ -75,6 +90,12 @@ public bool Delete(Model model)
return false;
}

/// <summary>
/// Проверка начилия переданной модели в таблице CGroup
/// Наличие определяется наличием строки CGroup с полем "Group" соответсвующим свойству "Group" модели mGroup.
/// </summary>
/// <param name="mGroup">Проверяеммая модель группы</param>
/// <returns>Результат проверки наличия(true - не найдено, false - найдено)</returns>
private bool isValidKey(MGroup mGroup)
{
foreach (DataRow Row in this.Rows)
Expand All @@ -85,6 +106,13 @@ private bool isValidKey(MGroup mGroup)
return true;
}


/// <summary>
/// Метод вставки переданной модели MGroup в таблицу CGroup
/// в случае уникальности свойства Group модели для таблицы CGroup
/// </summary>
/// <param name="model">Вставляемая в CGroup модель</param>
/// <returns>Результат вставки</returns>
public bool Insert(Model model)
{
MGroup mGroup = (MGroup)model;
Expand Down Expand Up @@ -117,6 +145,13 @@ public bool Insert(Model model)

}


/// <summary>
/// Обновление свойств строки в таблице CGroup из переданной модели MGroup
/// Поиск изменяемой строки CGroup осуществляется по полю "Group"
/// </summary>
/// <param name="model">Модель по которой нужно обновить записи в таблице</param>
/// <returns>Успешность выполнения операции</returns>
public bool Update(Model model)
{
MGroup mGroup = (MGroup)model;
Expand Down
37 changes: 35 additions & 2 deletions LibOfTimetableOfClasses/CTeacher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,19 @@

namespace LibOfTimetableOfClasses
{
/// <summary>
/// Таблица со строками, хранящими данные о преподавателях в Университете
/// </summary>
public class CTeacher : DataTable, IController
{
/// <summary>
/// Конструктор таблицы
/// Формируются поля таблицы типа DataTable и их свойства.
/// Уникальность строки в таблице определяется уникальностью поля FullName.
/// </summary>
public CTeacher() : base("Учитель")
{
if (Controllers.CTeacher != null) throw new Exception("Контроллер уже существует");
if (RefData.CTeacher != null) throw new Exception("Контроллер уже существует");

DataColumn column = new DataColumn();
column.DataType = typeof(string);
Expand Down Expand Up @@ -51,6 +59,12 @@ public CTeacher() : base("Учитель")
this.Columns.Add(column);
}

/// <summary>
/// Проверка начилия переданной модели в таблице CTeacher
/// Наличие определяется наличием строки CGroup с полем "FullName" соответсвующим данным модели mTeacher.
/// </summary>
/// <param name="mTeacher">Проверяеммая модель группы</param>
/// <returns>Результат проверки наличия(true - не найдено, false - найдено)</returns>
bool isValidKey(MTeacher mTeacher)
{
foreach(DataRow row in this.Rows)
Expand All @@ -62,6 +76,12 @@ bool isValidKey(MTeacher mTeacher)
return true;
}

/// <summary>
/// Метод вставки переданной модели MTeacher в таблицу CTeacher
/// в случае уникальности свойства FullName модели для таблицы CTeacher
/// </summary>
/// <param name="model">Вставляемая в CTeacher модель</param>
/// <returns>Результат вставки</returns>
public bool Insert(Model model)
{
MTeacher mTeacher = (MTeacher)model;
Expand Down Expand Up @@ -90,6 +110,12 @@ public bool Insert(Model model)
return false;
}

/// <summary>
/// Обновление свойств строки в таблице CTeacher из переданной модели MTeacher
/// Поиск изменяемой строки CTeacher осуществляется по полю "FullName"
/// </summary>
/// <param name="model"></param>
/// <returns>Успешность выполнения операции</returns>
public bool Update(Model model)
{
MTeacher mTeacher = (MTeacher)model;
Expand All @@ -116,8 +142,15 @@ public bool Update(Model model)
}
return false;
}


/// <summary>
/// Метод удаления строки соответствующей переданной модели из таблицы CTeacher.
/// В таблице CTeacher ищется строка с полями "FullName" и "Departament" соответсвующим этому же полю модели,
/// переданной в качестве параметра.
/// В случае успеха поиска удаляется найденная строка.
/// </summary>
/// <param name="model">Модель, выбранной строки в таблице</param>
/// <returns>Результат удаления переданной строки из CTeacher</returns>
public bool Delete(Model model)
{
MTeacher mTeacher = (MTeacher)model;
Expand Down
4 changes: 4 additions & 0 deletions LibOfTimetableOfClasses/CTrainingProfiles.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ public bool Delete(Model model)

for (int i = 0; i < Rows.Count; i++)
{
if (Rows[i].RowState == DataRowState.Deleted)
continue;
if ((string)Rows[i]["Fullname"] == mTrainingProfile.FullName
&& (string)Rows[i]["Shortname"] == mTrainingProfile.ShortName
&& (string)Rows[i]["Shiphr"] == mTrainingProfile.Shiphr)
Expand Down Expand Up @@ -79,6 +81,8 @@ public bool Update(Model model)

for (int i = 0; i < Rows.Count; i++)
{
if (Rows[i].RowState == DataRowState.Deleted)
continue;
if ((string)Rows[i]["FullName"] == mTrainingProfile.FullName)
{
try
Expand Down
26 changes: 22 additions & 4 deletions LibOfTimetableOfClasses/CUniversity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@ namespace LibOfTimetableOfClasses
{
public class CUniversity : DataTable, IController
{
/// <summary>
/// Контроллер для объекта ВУЗ
/// </summary>
public CUniversity() : base("ВУЗ")
{

if (Controllers.CUniversity != null) throw new Exception("Контроллер уже существует");
if (RefData.CUniversity != null) throw new Exception("Контроллер уже существует");

DataColumn[] keys = new DataColumn[1];
DataColumn column = new DataColumn();
Expand All @@ -30,6 +33,7 @@ public CUniversity() : base("ВУЗ")
column = new DataColumn();
column.DataType = typeof(string);
column.ColumnName = "FullName";
column.Unique = true;
this.Columns.Add(column);

column = new DataColumn();
Expand All @@ -50,17 +54,23 @@ public CUniversity() : base("ВУЗ")
column = new DataColumn();
column.DataType = typeof(string);
column.ColumnName = "Email";
column.Unique = true;
this.Columns.Add(column);

column = new DataColumn();
column.DataType = typeof(string);
column.ColumnName = "Phone";
column.Unique = true;
this.Columns.Add(column);

this.PrimaryKey = keys;
}


/// <summary>
/// Метод удаления строки ВУЗа из таблицы
/// </summary>
/// <param name="model">Модель с данными</param>
/// <returns>Если удаление прошло успешно, то истина, иначе ложь</returns>
public bool Delete(Model model)

{
Expand All @@ -85,7 +95,11 @@ private bool isValidKey(MUniversity mUniversity)
}
return true;
}

/// <summary>
/// Метод добавления строки ВУЗа в таблицу
/// </summary>
/// <param name="model">Модель с данными</param>
/// <returns>Если добавление прошло успешно, то истина, иначе ложь</returns>
public bool Insert(Model model)
{
MUniversity mUniversity = (MUniversity)model;
Expand Down Expand Up @@ -117,7 +131,11 @@ public bool Insert(Model model)
return false;

}

/// <summary>
/// Метод обновления информации строки ВУЗа в таблице
/// </summary>
/// <param name="model">Модель с данными</param>
/// <returns>Если изменение прошло успешно, то истина, иначе ложь</returns>
public bool Update(Model model)
{
MUniversity mUniversity = (MUniversity)model;
Expand Down
Loading

0 comments on commit 627ac45

Please sign in to comment.