diff --git a/UP01Task2App/UP01Task2App/Models/Client.cs b/UP01Task2App/UP01Task2App/Models/Client.cs index 81ad5ed..aaeaf9f 100644 --- a/UP01Task2App/UP01Task2App/Models/Client.cs +++ b/UP01Task2App/UP01Task2App/Models/Client.cs @@ -13,6 +13,7 @@ namespace UP01Task2App.Models public string Adress { get; set; } public string PhoneNumber { get; set; } public int SubscriptionNumber { get; set; } + public string Gender { get; set; } public override string ToString() { diff --git a/UP01Task2App/UP01Task2App/Services/ValidationHelper.cs b/UP01Task2App/UP01Task2App/Services/ValidationHelper.cs index dba71c7..a727289 100644 --- a/UP01Task2App/UP01Task2App/Services/ValidationHelper.cs +++ b/UP01Task2App/UP01Task2App/Services/ValidationHelper.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; using System.Text; +using System.Text.RegularExpressions; +using System.Windows; using System.Windows.Controls; namespace UP01Task2App.Services @@ -25,6 +27,11 @@ namespace UP01Task2App.Services if (obj.SelectedDate > DateTime.Now) throw new ArgumentException($"В поле \"{fieldName}\" выбранная дата не может быть в будущем"); } + public static void CheckBirthdate(DatePicker obj) + { + if (obj.SelectedDate > DateTime.Today.AddYears(-14)) + throw new ArgumentException($"клиент не может быть младше 14 лет"); + } public static void ValidateNotNullDatePicker(DatePicker obj, string fieldName) { if (obj.SelectedDate == null) @@ -35,5 +42,19 @@ namespace UP01Task2App.Services if (!int.TryParse(obj.Text, out int _)) throw new ArgumentException($"Введенное число в \"{fieldName}\" слишком большое или маленькое"); } + public static void ValidateCorrectlyFullName(TextBox obj, string fieldName) + { + string pattern = @"^[А-ЯЁ][а-яё]+$"; + + if (!Regex.IsMatch(obj.Text.Trim(), pattern)) + throw new ArgumentException($"Надпись в поле \"{fieldName}\" имеет неверный формат \nВерный формат: Фамилия"); + } + public static void ValidatePhoneNumber(TextBox obj, string fieldName) + { + string pattern = @"^(7|8)\d{10}$"; + + if (!Regex.IsMatch(obj.Text.Trim(), pattern)) + throw new ArgumentException($"Номер телефона в поле \"{fieldName}\" имеет неверный формат \nВерный формат: +79999999999 или 79999999999"); + } } } \ No newline at end of file diff --git a/UP01Task2App/UP01Task2App/Windows/ClientWindow.xaml b/UP01Task2App/UP01Task2App/Windows/ClientWindow.xaml index 41d504c..6cdf076 100644 --- a/UP01Task2App/UP01Task2App/Windows/ClientWindow.xaml +++ b/UP01Task2App/UP01Task2App/Windows/ClientWindow.xaml @@ -48,7 +48,8 @@ + Name="ClientsListBox" + Height="250" SelectionChanged="ListBox_SelectionChanged"/> @@ -59,7 +60,8 @@