RedAdmTest.xaml.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.SqlClient;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows;
  9. using System.Windows.Controls;
  10. using System.Windows.Data;
  11. using System.Windows.Documents;
  12. using System.Windows.Input;
  13. using System.Windows.Media;
  14. using System.Windows.Media.Imaging;
  15. using System.Windows.Shapes;
  16. namespace veloprokat2
  17. {
  18. /// <summary>
  19. /// Логика взаимодействия для RedAdmTest.xaml
  20. /// </summary>
  21. public partial class RedAdmTest : Window
  22. {
  23. List<string> Alphabetrus = new List<string> {
  24. "А", "а", "Б", "б", "В", "в", "Г", "г", "Д", "д", "Е", "е", "Ё", "ё", "Ж", "ж", "З", "з", "И", "и", "Й", "й",
  25. "К", "к", "Л", "л", "М", "м", "Н", "н", "О", "о", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ф", "ф",
  26. "Х", "х", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я" };
  27. List<string> Date = new List<string> {
  28. "0","1","2","3","4","5","6","7","8","9","."};
  29. List<string> NumberPhone = new List<string> {
  30. "0","1","2","3","4","5","6","7","8","9"};
  31. public RedAdmTest()
  32. {
  33. InitializeComponent();
  34. }
  35. public bool TestReg(string id, string login, string pass, string pass2, string lname, string fname, string mname, string email, string phone, string dr)
  36. {
  37. Id.Text = id;
  38. Login.Text = login;
  39. Pass.Password = pass;
  40. Pass2.Password = pass2;
  41. Lname.Text = lname;
  42. Fname.Text = fname;
  43. Mname.Text = mname;
  44. Email.Text = email;
  45. Phone.Text = phone;
  46. Dr.Text = dr;
  47. if(id != "" && login != "" && pass != "" && pass2 != "" && lname != "" && fname != "" && mname != "" && email != "" && phone != "" && dr != "")
  48. {
  49. bool ID = false, log = false, pas = false, pas2 = false, lnam = false, fnam = false, mnam = false, mail = false, phon = false, denroj = false;
  50. {
  51. for (int i = 0; i < id.Length; i++)
  52. {
  53. if (ID)
  54. {
  55. ID = false;
  56. }
  57. for (int j = 0; j < NumberPhone.Count; j++)
  58. {
  59. if (Convert.ToString(id[i]).Contains(NumberPhone[j]))
  60. {
  61. ID = true;
  62. return true;
  63. }
  64. }
  65. if (ID == false)
  66. {
  67. MessageBox.Show("Поле № администратора должно иметь только цифры");
  68. return false;
  69. }
  70. }
  71. for (int i = 0; i < login.Length; i++)
  72. {
  73. if (log)
  74. {
  75. log = false;
  76. }
  77. if (login[i] >= 'A' && login[i] <= 'Z' || login[i] >= 'a' && login[i] <= 'z')
  78. {
  79. log = true;
  80. break;
  81. }
  82. if (log == false)
  83. {
  84. MessageBox.Show("Поле логин должно содержать английские символы");
  85. return false;
  86. }
  87. }
  88. for(int i = 0; i < pass.Length; i++)
  89. {
  90. if(pas)
  91. {
  92. pas = false;
  93. }
  94. if (pass[i] >= 'a' && pass[i] <= 'z' || pass[i] >= 'A' && pass[i] <= 'Z' || pass[i] >= '0' && pass[i] <= '9')
  95. {
  96. pas = true;
  97. break;
  98. }
  99. if (pas == false)
  100. {
  101. MessageBox.Show("Поле пароль должно содержать только английские символы и цифры");
  102. return false;
  103. }
  104. }
  105. for (int i = 0; i < pass2.Length; i++)
  106. {
  107. if (pas2)
  108. {
  109. pas2 = false;
  110. }
  111. if (pass2[i] == pass[i])
  112. {
  113. pas2 = true;
  114. break;
  115. }
  116. if (pas2 == false)
  117. {
  118. MessageBox.Show("Поле пароль должно содержать только английские символы и цифры");
  119. return false;
  120. }
  121. }
  122. for(int i = 0; i < lname.Length; i++)
  123. {
  124. if (lnam)
  125. {
  126. lnam = false;
  127. }
  128. for(int j = 0; j < Alphabetrus.Count; j++)
  129. {
  130. if (Convert.ToString(lname[i]).Contains(Alphabetrus[j]))
  131. {
  132. lnam = true;
  133. break;
  134. }
  135. }
  136. if (lnam == false)
  137. {
  138. MessageBox.Show("Поле фамилия должно содержать только русские символы");
  139. return false;
  140. }
  141. }
  142. for(int i = 0; i < fname.Length; i++)
  143. {
  144. if(fnam)
  145. {
  146. fnam = false;
  147. }
  148. for (int j = 0; j < Alphabetrus.Count; j++)
  149. {
  150. if (Convert.ToString(fname[i]).Contains(Alphabetrus[j]))
  151. {
  152. fnam = true;
  153. break;
  154. }
  155. }
  156. if (fnam == false)
  157. {
  158. MessageBox.Show("Поле имя должно содержать только русские символы");
  159. return false;
  160. }
  161. }
  162. for (int i = 0; i < mname.Length; i++)
  163. {
  164. if (mnam)
  165. {
  166. mnam = false;
  167. }
  168. for (int j = 0; j < Alphabetrus.Count; j++)
  169. {
  170. if (Convert.ToString(mname[i]).Contains(Alphabetrus[j]))
  171. {
  172. mnam = true;
  173. break;
  174. }
  175. }
  176. if (mnam == false)
  177. {
  178. MessageBox.Show("Поле отчетсво должно содержать только русские символы");
  179. return false;
  180. }
  181. }
  182. for (int i = 0; i < email.Length; i++)
  183. {
  184. if (mail)
  185. {
  186. mail = false;
  187. }
  188. if (email[i] >= 'A' && email[i] <= 'Z' || email[i] >= 'a' && email[i] <= 'z' || email.Contains("@") || email.Contains("."))
  189. {
  190. mail = true;
  191. break;
  192. }
  193. if (mail == false)
  194. {
  195. MessageBox.Show("Поле E-mail должно содержать только английские символы символы");
  196. return false;
  197. }
  198. }
  199. for (int i = 0; i < phone.Length; i++)
  200. {
  201. if (phon)
  202. {
  203. phon = false;
  204. }
  205. for (int j = 0; j < NumberPhone.Count; j++)
  206. {
  207. if (Convert.ToString(phone[i]).Contains(NumberPhone[j]))
  208. {
  209. phon = true;
  210. break;
  211. }
  212. }
  213. if (phon == false)
  214. {
  215. MessageBox.Show("Поле номер телефона должно содержать только цифры");
  216. return false;
  217. }
  218. }
  219. for (int i = 0; i < dr.Length; i++)
  220. {
  221. if (denroj)
  222. {
  223. denroj = false;
  224. }
  225. for (int j = 0; j < Date.Count; j++)
  226. {
  227. if (Convert.ToString(dr[i]).Contains(Date[j]))
  228. {
  229. denroj = true;
  230. break;
  231. }
  232. }
  233. if (denroj == false)
  234. {
  235. MessageBox.Show("Поле дата должно содержать только цифры и знак '.'");
  236. return false;
  237. }
  238. }
  239. if (log && pas && pas2 && lnam && fnam && mnam && mail && phon && denroj)
  240. {
  241. DataTable InfoAdm = Insert("insert into [dbo].[InfoAdm] values " +
  242. "('" + Login.Text + "','" + Pass.Password + "','" + Fname.Text +
  243. "','" + Lname.Text + "','" + Mname.Text + "','" + Email.Text +
  244. "','" + Phone.Text + "','" + Dr.Text + "')");
  245. MessageBox.Show("Пользователь зарегистирован");
  246. MainWindowAdm MWA = new MainWindowAdm();
  247. MWA.Show();
  248. Close();
  249. return true;
  250. }
  251. else { MessageBox.Show("Неправильный формат"); return false; }
  252. }
  253. }
  254. else { MessageBox.Show("Все строки должны быть заполнены "); return false; }
  255. }
  256. public DataTable Insert(string selectSQL) // функция подключения к базе данных и обработка запросов
  257. {
  258. DataTable dataTable = new DataTable("dataBase"); // создаём таблицу в приложении
  259. // подключаемся к базе данных
  260. SqlConnection sqlConnection = new SqlConnection("server=mssql;Trusted_Connection=Yes;DataBase=gr692_kaa;");
  261. sqlConnection.Open(); // открываем базу данных
  262. SqlCommand sqlCommand = sqlConnection.CreateCommand(); // создаём команду
  263. sqlCommand.CommandText = selectSQL; // присваиваем команде текст
  264. SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand); // создаём обработчик
  265. sqlDataAdapter.Fill(dataTable); // возращаем таблицу с результатом
  266. return dataTable;
  267. }
  268. private void Registraciya(object sender, RoutedEventArgs e)
  269. {
  270. }
  271. private void Otmena(object sender, RoutedEventArgs e)
  272. {
  273. }
  274. }
  275. }