Skip to content

Commit

Permalink
Merge pull request #945 from Students-of-the-city-of-Kostroma/tmp-Tes…
Browse files Browse the repository at this point in the history
…ting-Union-5

Добавили изменения из ветки Union-5 в ветку Testing
  • Loading branch information
FvckNeighbors authored May 26, 2019
2 parents 81d93e3 + 436d9a7 commit ed80cfc
Show file tree
Hide file tree
Showing 6 changed files with 214 additions and 96 deletions.
25 changes: 24 additions & 1 deletion LibOfTimetableOfClasses/CAcademicDegree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,15 @@
namespace LibOfTimetableOfClasses
{
/// <summary>
/// Контроллер объекта Добавление ученого звания
/// Таблица со строками, хранящими данные об Ученых степенях
/// </summary>
public class CAcademicDegree : DataTable, IController
{
/// <summary>
/// Конструктор таблицы.
/// Формируются поля таблицы типа DataTable и их свойства.
/// Уникальность строки в таблице определяется уникальностью поля FullName.
/// </summary>
public CAcademicDegree() : base("Учёная степень")
{

Expand All @@ -32,6 +37,12 @@ public CAcademicDegree() : base("Учёная степень")

}

/// <summary>
/// Метод удаления строки соответствующей переданной модели из таблицы CAcademicDegree.
/// В таблице CAcademicDegree ищется строка с полями "FullName" и "Reduction" соответсвующим этому же полю модели,
/// переданной в качестве параметра.
/// В случае успеха поиска удаляется найденная строка.
/// </summary>
public bool Delete(Model model)
{
MAcademicDegree mAcademicDegree = (MAcademicDegree)model;
Expand All @@ -46,6 +57,10 @@ public bool Delete(Model model)
return false;
}

/// <summary>
/// Проверка начилия переданной модели в таблице CAcademicDegree.
/// Наличие определяется наличием строки с полем "FullName" соответсвующим данным модели mAcademicDegree.
/// </summary>
private bool isValidKey(MAcademicDegree mAcademicDegree)
{
foreach (DataRow Row in this.Rows)
Expand All @@ -56,6 +71,10 @@ private bool isValidKey(MAcademicDegree mAcademicDegree)
return true;
}

/// <summary>
/// Метод добавления переданной модели MAcademicDegree в таблицу CAcademicDegree
/// в случае уникальности свойства FullName модели для таблицы CAcademicDegree
/// </summary>
public bool Insert(Model model)
{
MAcademicDegree mAcademicDegree = (MAcademicDegree)model;
Expand All @@ -80,6 +99,10 @@ public bool Insert(Model model)
return false;
}

/// <summary>
/// Обновление строки в таблице CAcademicDegree из переданной модели MAcademicDegree.
/// Поиск изменяемой строки CTeacher осуществляется по полю "FullName"
/// </summary>
public bool Update(Model model)
{
MAcademicDegree mAcademicDegree = (MAcademicDegree)model;
Expand Down
28 changes: 7 additions & 21 deletions LibOfTimetableOfClasses/MAcademicDegree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,12 @@
namespace LibOfTimetableOfClasses
{
/// <summary>
/// Модель учёной степени
/// Класс со свойствами, определяющими модель Ученой степени
/// </summary>

public class MAcademicDegree : Model
{

/// <summary>
/// Полная запись учёной степени
/// </summary>
string _fullname;

/// <summary>
/// Сокращенная запись учёной степени
/// </summary>
string _reduction;
string _academicDegree;

Expand All @@ -38,6 +30,9 @@ public string AcademicDegree
}
}

/// <summary>
/// Полная запись учёной степени
/// </summary>
public string FullName
{
get
Expand All @@ -46,16 +41,13 @@ public string FullName
}
set
{
if (value[0] == '.')
throw new Exception("Точка ставится после слова");
if (!Regex.IsMatch(value, @"[А-Яа-я\-\' ']"))
throw new Exception("Поле Полное название института содержит недопустимые символы");
if (value.Length > 25)
throw new Exception("Недопустимое количество символов");
_fullname = value;
}
}

/// <summary>
/// Сокращенная запись учёной степени
/// </summary>
public string Reduction
{
get
Expand All @@ -64,13 +56,7 @@ public string Reduction
}
set
{
if (value[0] == '.')
throw new Exception("Точка ставится после слова");
if (!Regex.IsMatch(value, @"[А-Яа-я\-\' ']"))
throw new Exception("Поле Полное название института содержит недопустимые символы");
_reduction = value;
if (value.Length > 25)
throw new Exception("Недопустимое количество символов");
}
}

Expand Down
18 changes: 16 additions & 2 deletions TimetableOfClasses/AcademicDegree.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 10 additions & 14 deletions TimetableOfClasses/AcademicDegree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ public AcademicDegree(bool forChoice = false)
}
}


/// <summary>
/// Кнопка изменения ученой степени
/// </summary>
private void ChangeButton_Click(object sender, EventArgs e)
{
if (DG_AcademicDegree.SelectedRows.Count == 1)
Expand All @@ -40,6 +44,9 @@ private void ChangeButton_Click(object sender, EventArgs e)
else { MessageBox.Show("Для изменения выделите только одну строку"); }
}

/// <summary>
/// Кнопка удаления ученой степени
/// </summary>
private void DeleteButton_Click(object sender, EventArgs e)
{
if (DG_AcademicDegree.SelectedRows.Count == 0)
Expand All @@ -49,16 +56,6 @@ private void DeleteButton_Click(object sender, EventArgs e)
}
else
{
//if (== true)
//{
// string message = "Нельзя удалить данную учёную степень. Данная учёная степень используется в таблице Преподователь";
// string caption = "Сообщение";
// MessageBoxButtons buttons = MessageBoxButtons.YesNo;
// DialogResult result;
// result = MessageBox.Show(message, caption, buttons);
//}
//else
//{
string message = "Вы уверны что хотите удалить ученую степень?";
string caption = "Подтверждение удаления";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
Expand All @@ -76,13 +73,12 @@ private void DeleteButton_Click(object sender, EventArgs e)
}
DG_AcademicDegree.Rows.RemoveAt(DG_AcademicDegree.SelectedCells[0].RowIndex);
}
//}
}



}

/// <summary>
/// Кнопка добавления ученой степени
/// </summary>
private void AddButton_Click(object sender, EventArgs e)
{

Expand Down
21 changes: 16 additions & 5 deletions TimetableOfClasses/AddAcademicDegree.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit ed80cfc

Please sign in to comment.