Registration.xaml.cs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. using System;
  2. using MySql.Data.MySqlClient;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Shapes;
  15. using System.Collections;
  16. namespace Hammer_store
  17. {
  18. /// <summary>
  19. /// Логика взаимодействия для Registration.xaml
  20. /// </summary>
  21. public partial class Registration : Window
  22. {
  23. internal bool[] successField = new bool[7] { false, false, false, false, false, false, false }; //Верные поля
  24. public Registration()
  25. {
  26. InitializeComponent();
  27. textBox_InputAge.MaxLength = 2;
  28. textBox_InputLogin.MaxLength = 30;
  29. }
  30. /* Событие-нажатие левой кнопки мыши: Перетаскивание окна */
  31. private void TitleBar_MouseDown(object sender, MouseButtonEventArgs e)
  32. {
  33. if (e.ChangedButton == MouseButton.Left)
  34. this.DragMove();
  35. }
  36. /* Событие-нажатие по крестику: Закрытие окна */
  37. private void Image_cross_MouseDown(object sender, MouseButtonEventArgs e)
  38. {
  39. Application exit = Application.Current;
  40. exit.Shutdown();
  41. }
  42. /* Событие-нажатие по картинке свернуть: Сворачивание окна */
  43. private void Image_colapso_MouseDown(object sender, MouseButtonEventArgs e)
  44. {
  45. this.WindowState = WindowState.Minimized;
  46. }
  47. /* Событие потеря фокуса: Поле логина */
  48. private void textBox_InputLogin_LostFocus(object sender, RoutedEventArgs e)
  49. {
  50. string loginLine = textBox_InputLogin.Text; //Присваивание введенной строки
  51. short existSymbol = 0; //Флажок для существования спец. символа
  52. if (loginLine != "")
  53. {
  54. //Проверка на существование числа
  55. if (Char.IsDigit(loginLine[0]))
  56. {
  57. existSymbol = 2; //Присваиваем 2, чтобы появился полигон при проверке на спец. символ
  58. textBox_InputLogin.BorderBrush = Brushes.Red;
  59. ErrorMessagePolygon_Login.Visibility = Visibility.Visible;
  60. labelErrorMessageOne_Login.Visibility = Visibility.Visible;
  61. }
  62. else
  63. {
  64. ErrorMessagePolygon_Login.Visibility = Visibility.Hidden;
  65. labelErrorMessageOne_Login.Visibility = Visibility.Hidden;
  66. };
  67. //Массив спец. символов
  68. char[] arraySymbols = {'!', '@', '#', '$', '%', '^', '&', '*', '(',
  69. ')', '-', '+', '=', '/', '|', '\\', '{', '}',
  70. '[', ']', ';', ':', '"', '\'', ',', '.', '<',
  71. '>', '?'};
  72. //Проверка на существование спец. символа в начале
  73. for (int i = 0; i < arraySymbols.Length; i++)
  74. {
  75. if (loginLine[0] == arraySymbols[i])
  76. existSymbol = 1;
  77. }
  78. if (existSymbol == 1)
  79. {
  80. textBox_InputLogin.BorderBrush = Brushes.Red;
  81. ErrorMessagePolygon_Login.Visibility = Visibility.Visible;
  82. labelErrorMessageTwo_Login.Visibility = Visibility.Visible;
  83. }
  84. else if
  85. (existSymbol == 0)
  86. {
  87. ErrorMessagePolygon_Login.Visibility = Visibility.Hidden;
  88. labelErrorMessageTwo_Login.Visibility = Visibility.Hidden;
  89. }
  90. //Проверка на существование логина из БД
  91. DB db = new DB();
  92. db.openConnection();
  93. MySqlCommand command = new MySqlCommand("SELECT login FROM Users", db.getConnection());
  94. MySqlDataReader reader = command.ExecuteReader();
  95. string loginsArray = "";
  96. while (reader.Read())
  97. {
  98. loginsArray += reader[0].ToString();
  99. loginsArray += " ";
  100. }
  101. reader.Close();
  102. db.closeConnection();
  103. if (loginsArray.Contains(loginLine))
  104. {
  105. textBox_InputLogin.BorderBrush = Brushes.Red;
  106. ErrorMessagePolygon_Login.Visibility = Visibility.Visible;
  107. labelErrorMessageThree_Login.Visibility = Visibility.Visible;
  108. }
  109. else if (!loginsArray.Contains(loginLine) & existSymbol == 0)
  110. {
  111. textBox_InputLogin.BorderBrush = Brushes.LimeGreen;
  112. ErrorMessagePolygon_Login.Visibility = Visibility.Hidden;
  113. labelErrorMessageThree_Login.Visibility = Visibility.Hidden;
  114. }
  115. if (loginLine.Length <= 3)
  116. {
  117. textBox_InputLogin.BorderBrush = Brushes.Red;
  118. ErrorMessagePolygon_Login.Visibility = Visibility.Visible;
  119. labelErrorMessageFour_Login.Visibility = Visibility.Visible;
  120. }
  121. if (loginLine.Contains(" ") & existSymbol == 0)
  122. {
  123. textBox_InputLogin.BorderBrush = Brushes.Red;
  124. ErrorMessagePolygon_Login.Visibility = Visibility.Visible;
  125. labelErrorMessageFive_Login.Visibility = Visibility.Visible;
  126. }
  127. //Проверка на верное поле
  128. if (textBox_InputLogin.BorderBrush == Brushes.LimeGreen) successField[0] = true;
  129. else successField[0] = false;
  130. }
  131. }
  132. /* Событие получение фокуса: Поле логина */
  133. private void textBox_InputLogin_GotFocus(object sender, RoutedEventArgs e)
  134. {
  135. textBox_InputLogin.BorderBrush = null;
  136. ErrorMessagePolygon_Login.Visibility = Visibility.Hidden;
  137. labelErrorMessageOne_Login.Visibility = Visibility.Hidden;
  138. labelErrorMessageTwo_Login.Visibility = Visibility.Hidden;
  139. labelErrorMessageThree_Login.Visibility = Visibility.Hidden;
  140. labelErrorMessageFour_Login.Visibility = Visibility.Hidden;
  141. labelErrorMessageFive_Login.Visibility = Visibility.Hidden;
  142. }
  143. /* Событие потеря фокуса: Поле почты */
  144. private void textBox_InputMail_LostFocus(object sender, RoutedEventArgs e)
  145. {
  146. string mailLine = textBox_InputMail.Text;
  147. short successStep = 0; //Флажок об успешном этапе
  148. if (mailLine != "")
  149. {
  150. //Проверка на существование в строке эт-коммерческой, точки и домена
  151. if (mailLine.Contains('@') & mailLine.Contains('.') &
  152. (mailLine.Contains("mail") | mailLine.Contains("inbox") | mailLine.Contains("gmail")))
  153. {
  154. successStep = 1;
  155. textBox_InputMail.BorderBrush = Brushes.LimeGreen;
  156. labelErrorMessageOne_Mail.Visibility = Visibility.Hidden;
  157. ErrorMessagePolygon_Mail.Visibility = Visibility.Hidden;
  158. }
  159. else
  160. {
  161. textBox_InputMail.BorderBrush = Brushes.Red;
  162. labelErrorMessageOne_Mail.Visibility = Visibility.Visible;
  163. ErrorMessagePolygon_Mail.Visibility = Visibility.Visible;
  164. }
  165. if (!mailLine.Contains('@') & !mailLine.Contains('.'))
  166. {
  167. textBox_InputMail.BorderBrush = Brushes.Red;
  168. labelErrorMessageOne_Mail.Visibility = Visibility.Visible;
  169. ErrorMessagePolygon_Mail.Visibility = Visibility.Visible;
  170. }
  171. //Проверка на отсутствие символов кириллицы
  172. var cyrillic = Enumerable.Range(1024, 256).Select(ch => (char)ch);
  173. bool res = mailLine.Any(cyrillic.Contains);
  174. if (res == true)
  175. {
  176. textBox_InputMail.BorderBrush = Brushes.Red;
  177. labelErrorMessageOne_Mail.Visibility = Visibility.Visible;
  178. ErrorMessagePolygon_Mail.Visibility = Visibility.Visible;
  179. }
  180. //Проверка на существование почты из БД
  181. DB db = new DB();
  182. db.openConnection();
  183. MySqlCommand command = new MySqlCommand("SELECT mail FROM Users", db.getConnection());
  184. MySqlDataReader reader = command.ExecuteReader();
  185. string mailsArray = "";
  186. while (reader.Read())
  187. {
  188. mailsArray += reader[0].ToString();
  189. mailsArray += " ";
  190. }
  191. reader.Close();
  192. db.closeConnection();
  193. if (mailsArray.Contains(mailLine))
  194. {
  195. textBox_InputMail.BorderBrush = Brushes.Red;
  196. ErrorMessagePolygon_Mail.Visibility = Visibility.Visible;
  197. labelErrorMessageTwo_Mail.Visibility = Visibility.Visible;
  198. }
  199. else if (!mailsArray.Contains(mailLine) & successStep == 1 & res != true)
  200. {
  201. textBox_InputMail.BorderBrush = Brushes.LimeGreen;
  202. ErrorMessagePolygon_Mail.Visibility = Visibility.Hidden;
  203. labelErrorMessageTwo_Mail.Visibility = Visibility.Hidden;
  204. }
  205. if (mailLine.Length <= 9 & successStep == 1 & res != true)
  206. {
  207. textBox_InputMail.BorderBrush = Brushes.Red;
  208. ErrorMessagePolygon_Mail.Visibility = Visibility.Visible;
  209. labelErrorMessageOne_Mail.Visibility = Visibility.Visible;
  210. }
  211. if (mailLine.Contains(" "))
  212. {
  213. textBox_InputMail.BorderBrush = Brushes.Red;
  214. labelErrorMessageOne_Mail.Visibility = Visibility.Visible;
  215. ErrorMessagePolygon_Mail.Visibility = Visibility.Visible;
  216. }
  217. //Проверка на верное поле
  218. if (textBox_InputMail.BorderBrush == Brushes.LimeGreen) successField[1] = true;
  219. else successField[1] = false;
  220. }
  221. }
  222. /* Событие получение фокуса: Поле почты */
  223. private void textBox_InputMail_GotFocus(object sender, RoutedEventArgs e)
  224. {
  225. textBox_InputMail.BorderBrush = null;
  226. ErrorMessagePolygon_Mail.Visibility = Visibility.Hidden;
  227. labelErrorMessageOne_Mail.Visibility = Visibility.Hidden;
  228. labelErrorMessageTwo_Mail.Visibility = Visibility.Hidden;
  229. }
  230. /* Событие потеря фокуса: Поле пароля */
  231. private void passwordBox_InputPass1_LostFocus(object sender, RoutedEventArgs e)
  232. {
  233. string passLine1 = passwordBox_InputPass1.Password;
  234. if (passLine1 != "")
  235. {
  236. //Проверка на содержание более 7 символов и отсутствие символов киррилицы
  237. var cyrillic = Enumerable.Range(1024, 256).Select(ch => (char)ch);
  238. bool res = passLine1.Any(cyrillic.Contains);
  239. if (res == true)
  240. {
  241. passwordBox_InputPass1.BorderBrush = Brushes.Red;
  242. labelErrorMessageOne_Pass1.Visibility = Visibility.Visible;
  243. ErrorMessagePolygon_Pass1.Visibility = Visibility.Visible;
  244. }
  245. else if (res == false & passLine1.Length >= 7)
  246. {
  247. passwordBox_InputPass1.BorderBrush = Brushes.LimeGreen;
  248. labelErrorMessageOne_Pass1.Visibility = Visibility.Hidden;
  249. ErrorMessagePolygon_Pass1.Visibility = Visibility.Hidden;
  250. }
  251. else if (res == false & passLine1.Length < 7)
  252. {
  253. passwordBox_InputPass1.BorderBrush = Brushes.Red;
  254. labelErrorMessageTwo_Pass1.Visibility = Visibility.Visible;
  255. ErrorMessagePolygon_Pass1.Visibility = Visibility.Visible;
  256. }
  257. //Проверка на пробелы
  258. if (passLine1.Contains(" "))
  259. {
  260. passwordBox_InputPass1.BorderBrush = Brushes.Red;
  261. labelErrorMessageThree_Pass1.Visibility = Visibility.Visible;
  262. ErrorMessagePolygon_Pass1.Visibility = Visibility.Visible;
  263. }
  264. }
  265. if (passwordBox_InputPass1.BorderBrush == Brushes.LimeGreen) successField[2] = true;
  266. else successField[2] = false;
  267. }
  268. /* Событие получение фокуса: Поле пароля */
  269. private void passwordBox_InputPass1_GotFocus(object sender, RoutedEventArgs e)
  270. {
  271. passwordBox_InputPass1.BorderBrush = null;
  272. ErrorMessagePolygon_Pass1.Visibility = Visibility.Hidden;
  273. labelErrorMessageOne_Pass1.Visibility = Visibility.Hidden;
  274. labelErrorMessageTwo_Pass1.Visibility = Visibility.Hidden;
  275. labelErrorMessageThree_Pass1.Visibility = Visibility.Hidden;
  276. }
  277. /* Скрыть первый глаз */
  278. private void Image_EyeHide1_MouseDown(object sender, MouseButtonEventArgs e)
  279. {
  280. textBox_OutputPass1.Text = passwordBox_InputPass1.Password;
  281. textBox_OutputPass1.Visibility = Visibility.Visible;
  282. passwordBox_InputPass1.Visibility = Visibility.Hidden;
  283. Image_EyeHide1.Visibility = Visibility.Hidden;
  284. Image_EyeVisible1.Visibility = Visibility.Visible;
  285. }
  286. /* Показать первый глаз */
  287. private void Image_EyeVisible1_MouseDown(object sender, MouseButtonEventArgs e)
  288. {
  289. passwordBox_InputPass1.Password = textBox_OutputPass1.Text;
  290. textBox_OutputPass1.Visibility = Visibility.Hidden;
  291. Image_EyeVisible1.Visibility = Visibility.Hidden;
  292. passwordBox_InputPass1.Visibility = Visibility.Visible;
  293. Image_EyeHide1.Visibility = Visibility.Visible;
  294. }
  295. /* Скрыть второй глаз */
  296. private void Image_EyeHide2_MouseDown(object sender, MouseButtonEventArgs e)
  297. {
  298. textBox_OutputPass2.Text = passwordBox_InputPass2.Password;
  299. textBox_OutputPass2.Visibility = Visibility.Visible;
  300. passwordBox_InputPass2.Visibility = Visibility.Hidden;
  301. Image_EyeHide2.Visibility = Visibility.Hidden;
  302. Image_EyeVisible2.Visibility = Visibility.Visible;
  303. }
  304. /* Показать второй глаз */
  305. private void Image_EyeVisible2_MouseDown(object sender, MouseButtonEventArgs e)
  306. {
  307. passwordBox_InputPass2.Password = textBox_OutputPass2.Text;
  308. textBox_OutputPass2.Visibility = Visibility.Hidden;
  309. Image_EyeVisible2.Visibility = Visibility.Hidden;
  310. passwordBox_InputPass2.Visibility = Visibility.Visible;
  311. Image_EyeHide2.Visibility = Visibility.Visible;
  312. }
  313. /* Событие потеря фокуса: Поле повторного пароля */
  314. private void passwordBox_InputPass2_LostFocus(object sender, RoutedEventArgs e)
  315. {
  316. string passLine1 = passwordBox_InputPass1.Password;
  317. string passLine2 = passwordBox_InputPass2.Password;
  318. //Проверка на соответствие
  319. if (passLine1 != "" & passLine2 != "")
  320. {
  321. if (passLine1 == passLine2)
  322. {
  323. passwordBox_InputPass2.BorderBrush = Brushes.LimeGreen;
  324. }
  325. else if (passLine1 != passLine2)
  326. {
  327. passwordBox_InputPass2.BorderBrush = Brushes.Red;
  328. labelErrorMessage_Pass2.Visibility = Visibility.Visible;
  329. }
  330. }
  331. if (passwordBox_InputPass2.BorderBrush == Brushes.LimeGreen) successField[3] = true;
  332. else successField[3] = false;
  333. }
  334. /* Событие получение фокуса: Поле повторного пароля */
  335. private void passwordBox_InputPass2_GotFocus(object sender, RoutedEventArgs e)
  336. {
  337. passwordBox_InputPass2.BorderBrush = null;
  338. labelErrorMessage_Pass2.Visibility = Visibility.Hidden;
  339. }
  340. /* Событие потеря фокуса: Поле имени */
  341. private void textBox_Input_FName_LostFocus(object sender, RoutedEventArgs e)
  342. {
  343. string name = textBox_Input_FName.Text;
  344. if (name != "")
  345. {
  346. if (name.Length < 3)
  347. {
  348. textBox_Input_FName.BorderBrush = Brushes.Red;
  349. ErrorMessagePolygon_Name.Visibility = Visibility.Visible;
  350. labelErrorMessageOne_Name.Visibility = Visibility.Visible;
  351. }
  352. else if (name.Length >= 3 & !name.Contains(" "))
  353. {
  354. textBox_Input_FName.BorderBrush = Brushes.LimeGreen;
  355. ErrorMessagePolygon_Name.Visibility = Visibility.Hidden;
  356. labelErrorMessageOne_Name.Visibility = Visibility.Hidden;
  357. }
  358. else if (name.Contains(" "))
  359. {
  360. textBox_Input_FName.BorderBrush = Brushes.Red;
  361. ErrorMessagePolygon_Name.Visibility = Visibility.Visible;
  362. labelErrorMessageTwo_Name.Visibility = Visibility.Visible;
  363. }
  364. }
  365. if (textBox_Input_FName.BorderBrush == Brushes.LimeGreen) successField[4] = true;
  366. else successField[4] = false;
  367. }
  368. /* Событие получение фокуса: Поле имени */
  369. private void textBox_Input_FName_GotFocus(object sender, RoutedEventArgs e)
  370. {
  371. textBox_Input_FName.BorderBrush = null;
  372. ErrorMessagePolygon_Name.Visibility = Visibility.Hidden;
  373. labelErrorMessageOne_Name.Visibility = Visibility.Hidden;
  374. ErrorMessagePolygon_Name.Visibility = Visibility.Hidden;
  375. labelErrorMessageTwo_Name.Visibility = Visibility.Hidden;
  376. }
  377. /* Событие-нажатие: Обработчик Имени */
  378. private void textBox_Input_FName_KeyDown(object sender, KeyEventArgs e)
  379. {
  380. if (!(e.Key >= Key.A) || !(e.Key <= Key.Z)) e.Handled = true;
  381. if (e.Key == Key.Space) e.Handled = true;
  382. }
  383. /* Событие потеря фокуса: Поле фамилии */
  384. private void textBox_Input_LName_LostFocus(object sender, RoutedEventArgs e)
  385. {
  386. string surname = textBox_Input_LName.Text;
  387. if (surname != "")
  388. {
  389. if (surname.Length < 3)
  390. {
  391. textBox_Input_LName.BorderBrush = Brushes.Red;
  392. ErrorMessagePolygon_Surname.Visibility = Visibility.Visible;
  393. labelErrorMessageOne_Surname.Visibility = Visibility.Visible;
  394. }
  395. else if (surname.Length >= 3 & !surname.Contains(" "))
  396. {
  397. textBox_Input_LName.BorderBrush = Brushes.LimeGreen;
  398. ErrorMessagePolygon_Surname.Visibility = Visibility.Hidden;
  399. labelErrorMessageOne_Surname.Visibility = Visibility.Hidden;
  400. }
  401. else if (surname.Contains(" "))
  402. {
  403. textBox_Input_LName.BorderBrush = Brushes.Red;
  404. ErrorMessagePolygon_Surname.Visibility = Visibility.Visible;
  405. labelErrorMessageTwo_Surname.Visibility = Visibility.Visible;
  406. }
  407. }
  408. if (textBox_Input_LName.BorderBrush == Brushes.LimeGreen) successField[5] = true;
  409. else successField[5] = false;
  410. }
  411. /* Событие получение фокуса: Поле фамилии */
  412. private void textBox_Input_LName_GotFocus(object sender, RoutedEventArgs e)
  413. {
  414. textBox_Input_LName.BorderBrush = null;
  415. ErrorMessagePolygon_Surname.Visibility = Visibility.Hidden;
  416. labelErrorMessageOne_Surname.Visibility = Visibility.Hidden;
  417. labelErrorMessageTwo_Surname.Visibility = Visibility.Hidden;
  418. }
  419. /* Событие-нажатие: Обработчик Фамилии */
  420. private void textBox_Input_LName_KeyDown(object sender, KeyEventArgs e)
  421. {
  422. if (!(e.Key >= Key.A) || !(e.Key <= Key.Z)) e.Handled = true;
  423. if (e.Key == Key.Space) e.Handled = true;
  424. }
  425. /* Событие потеря фокуса: Поле возраста */
  426. private void textBox_InputAge_LostFocus(object sender, RoutedEventArgs e)
  427. {
  428. if (textBox_InputAge.Text != "")
  429. {
  430. int age = Convert.ToInt32(textBox_InputAge.Text);
  431. if (age < 6 | age > 90)
  432. {
  433. textBox_InputAge.BorderBrush = Brushes.Red;
  434. ErrorMessagePolygon_Age.Visibility = Visibility.Visible;
  435. labelErrorMessage_Age.Visibility = Visibility.Visible;
  436. }
  437. else
  438. {
  439. textBox_InputAge.BorderBrush = Brushes.LimeGreen;
  440. ErrorMessagePolygon_Age.Visibility = Visibility.Hidden;
  441. labelErrorMessage_Age.Visibility = Visibility.Hidden;
  442. }
  443. if (textBox_InputAge.BorderBrush == Brushes.LimeGreen) successField[6] = true;
  444. else successField[6] = false;
  445. }
  446. }
  447. /* Событие получение фокуса: Поле возраста */
  448. private void textBox_InputAge_GotFocus(object sender, RoutedEventArgs e)
  449. {
  450. textBox_InputAge.BorderBrush = null;
  451. ErrorMessagePolygon_Age.Visibility = Visibility.Hidden;
  452. labelErrorMessage_Age.Visibility = Visibility.Hidden;
  453. }
  454. /* Событие-нажатие: Обработчик возраста */
  455. private void textBox_InputAge_KeyDown(object sender, KeyEventArgs e)
  456. {
  457. if (e.Key < Key.D0 || e.Key > Key.D9) e.Handled = true;
  458. }
  459. /* Событие-нажатие: Увеличение возраста на единицу */
  460. private void buttonUp_Click(object sender, RoutedEventArgs e)
  461. {
  462. if (textBox_InputAge.Text != "")
  463. {
  464. int numAge = Convert.ToInt32(textBox_InputAge.Text);
  465. if (numAge != 90)
  466. {
  467. numAge++;
  468. textBox_InputAge.Text = numAge.ToString();
  469. }
  470. }
  471. else if (textBox_InputAge.Text == "")
  472. {
  473. textBox_InputAge.Text = "0";
  474. int numAge = Convert.ToInt32(textBox_InputAge.Text);
  475. if (numAge != 90)
  476. {
  477. numAge++;
  478. textBox_InputAge.Text = numAge.ToString();
  479. }
  480. }
  481. }
  482. /* Событие-нажатие: Уменьшение возраста на единицу */
  483. private void buttonDown_Click(object sender, RoutedEventArgs e)
  484. {
  485. if (textBox_InputAge.Text != "")
  486. {
  487. int numAge = Convert.ToInt32(textBox_InputAge.Text);
  488. if (numAge != 6)
  489. {
  490. numAge--;
  491. textBox_InputAge.Text = numAge.ToString();
  492. }
  493. }
  494. }
  495. /* Событие-нажатие: клавиша вверх и вниз (увеличение и уменьшение возраста на единицу) */
  496. private void textBox_InputAge_KeyUp(object sender, KeyEventArgs e)
  497. {
  498. if (textBox_InputAge.Text != "")
  499. {
  500. int numAge = Convert.ToInt32(textBox_InputAge.Text);
  501. if (e.Key == Key.Up)
  502. {
  503. numAge++;
  504. textBox_InputAge.Text = numAge.ToString();
  505. }
  506. else if (e.Key == Key.Down)
  507. {
  508. numAge--;
  509. textBox_InputAge.Text = numAge.ToString();
  510. }
  511. }
  512. }
  513. /* Событие-кнопка: Готово */
  514. private void button_ready_Click(object sender, RoutedEventArgs e)
  515. {
  516. DB db = new DB();
  517. string sql = "INSERT INTO `Users` (`login`, `pass`, `name`, `surname`, `age`, `mail`) VALUES (@login, @pass, @name, @surname, @age, @mail)";
  518. //Передаем объекту команду для вставки данных в таблицу Users
  519. MySqlCommand command = new MySqlCommand(sql, db.getConnection());
  520. //Добавляем записи в столбцы
  521. command.Parameters.Add("@login", MySqlDbType.VarChar).Value = textBox_InputLogin.Text;
  522. command.Parameters.Add("@pass", MySqlDbType.VarChar).Value = passwordBox_InputPass1.Password;
  523. command.Parameters.Add("@name", MySqlDbType.Text).Value = textBox_Input_FName.Text;
  524. command.Parameters.Add("@surname", MySqlDbType.Text).Value = textBox_Input_LName.Text;
  525. command.Parameters.Add("@age", MySqlDbType.Int32).Value = textBox_InputAge.Text;
  526. command.Parameters.Add("@mail", MySqlDbType.VarChar).Value = textBox_InputMail.Text;
  527. db.openConnection(); //Открываем соединение с БД
  528. //Передача запроса
  529. string message = "";
  530. foreach (bool elem in successField)
  531. {
  532. if (elem == false)
  533. message = "Есть пустое поле";
  534. }
  535. if (message == "")
  536. {
  537. if (command.ExecuteNonQuery() == 1) //Если строка обработалась, то возвратиться '1'
  538. {
  539. MessageBox.Show("Аккаунт создан");
  540. Authorization showAuthorization = new Authorization();
  541. showAuthorization.Show();
  542. this.Hide();
  543. }
  544. }
  545. else MessageBox.Show("Ошибка при регистрации!");
  546. db.closeConnection(); //Закрыть соединение с БД
  547. }
  548. /* Событие-кнопка Назад: Вернуться на UserVerification */
  549. private void button_backOnUserVerification_Click(object sender, RoutedEventArgs e)
  550. {
  551. Begin_UserVerification showUserVerifiation = new Begin_UserVerification();
  552. showUserVerifiation.Show();
  553. this.Hide();
  554. }
  555. }
  556. }