Insert_Bikes.xaml.cs 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  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. /// Логика взаимодействия для Insert_Bikes.xaml
  20. /// </summary>
  21. public partial class Insert_Bikes : Window
  22. {
  23. List<string> Alphabetrus = new List<string> {
  24. "А", "а", "Б", "б", "В", "в", "Г", "г", "Д", "д", "Е", "е", "Ё", "ё", "Ж", "ж", "З", "з", "И", "и", "Й", "й",
  25. "К", "к", "Л", "л", "М", "м", "Н", "н", "О", "о", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ф", "ф",
  26. "Х", "х", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ", "Ъ", "ъ", "Ы", "ы", "Ь", "ь", "Э", "э", "Ю", "ю", "Я", "я",
  27. "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "-", "_"};
  28. List<string> Number = new List<string> {
  29. "0","1","2","3","4","5","6","7","8","9"};
  30. public Insert_Bikes()
  31. {
  32. InitializeComponent();
  33. }
  34. private void Registraciya(object sender, RoutedEventArgs e)
  35. {
  36. if (Company.Text != "" && Title.Text != "" && NumberOfBikes.Text != "" && Type.Text != "" && Zan.Text != "" && LnameAdm.Text != "")
  37. {
  38. bool Comp = false, title = false, numbofbike = false, type = false, lname = false;
  39. for(int i = 0; i < NumberOfBikes.Text.Length; i++)
  40. {
  41. if(numbofbike)
  42. {
  43. numbofbike = false;
  44. }
  45. for(int j = 0; j < Number.Count; j++)
  46. {
  47. if (Convert.ToString(NumberOfBikes.Text[i]).Contains(Number[j]))
  48. {
  49. numbofbike = true;
  50. break;
  51. }
  52. }
  53. if(numbofbike == false)
  54. {
  55. MessageBox.Show("Поле Номер велосипеда должно содержать только цифры");
  56. break;
  57. }
  58. }
  59. for (int i = 0; i < Company.Text.Length; i++)
  60. {
  61. if (Comp)
  62. {
  63. Comp = false;
  64. }
  65. if (Company.Text[i] >= 'A' && Company.Text[i] <= 'Z' || Company.Text[i] >= 'a' && Company.Text[i] <= 'z' || Company.Text[i] >= '0' && Company.Text[i] <='9')
  66. {
  67. Comp = true;
  68. break;
  69. }
  70. if (Comp == false)
  71. {
  72. MessageBox.Show("Поле Компания должно содержать только английские символы");
  73. break;
  74. }
  75. }
  76. for (int i = 0; i < Title.Text.Length; i++)
  77. {
  78. if (title)
  79. {
  80. title = false;
  81. }
  82. if (Title.Text[i] >= 'A' && Title.Text[i] <= 'Z' || Title.Text[i] >= 'a' && Title.Text[i] <= 'z' || Title.Text[i] >= '0' && Title.Text[i] <='9' || Title.Text[i] == '"' || Title.Text[i] == '\'')
  83. {
  84. title = true;
  85. break;
  86. }
  87. if (title == false)
  88. {
  89. MessageBox.Show("Поле Модель должно содержать только английские символы");
  90. break;
  91. }
  92. }
  93. for(int i = 0; i<Type.Text.Length;i++)
  94. {
  95. if(type)
  96. {
  97. type = false;
  98. }
  99. for(int j=0;j<Alphabetrus.Count;j++)
  100. {
  101. if (Convert.ToString(Type.Text[i]).Contains(Alphabetrus[j]))
  102. {
  103. type = true;
  104. break;
  105. }
  106. }
  107. if(type==false)
  108. {
  109. MessageBox.Show("Поле Тип должно содержать только русские символы и цифры");
  110. break;
  111. }
  112. }
  113. for(int i = 0; i < LnameAdm.Text.Length; i++)
  114. {
  115. if(lname)
  116. {
  117. lname = false;
  118. }
  119. for(int j = 0; j < Number.Count; j++)
  120. {
  121. lname = true;
  122. break;
  123. }
  124. if(lname == false)
  125. {
  126. MessageBox.Show("Поле № администратора должно иметь только цифры");
  127. break;
  128. }
  129. }
  130. if (numbofbike && Comp && title && type && lname)
  131. {
  132. if (Zan.Text == "Свободен")
  133. {
  134. DataTable InfoAdm = Insert("insert into [dbo].[Bikes] values " +
  135. "('" + NumberOfBikes.Text + "','" + Company.Text + "','" + Title.Text + "','" + Type.Text + "', 1 ," + LnameAdm.Text + ")");
  136. MessageBox.Show("Велосипед добавлен");
  137. SpisokBikes SB = new SpisokBikes();
  138. SB.Show();
  139. Close();
  140. }
  141. else if (Zan.Text == "Занят")
  142. {
  143. DataTable InfoAdm = Insert("insert into [dbo].[Bikes] values " +
  144. "('" + NumberOfBikes.Text + "','" + Company.Text + "','" + Title.Text + "','" + Type.Text + "', 2 ," + LnameAdm.Text + ")");
  145. MessageBox.Show("Велосипед добавлен");
  146. SpisokBikes SB = new SpisokBikes();
  147. SB.Show();
  148. Close();
  149. }
  150. else if (Zan.Text == "В тех. обслуживании")
  151. {
  152. DataTable InfoAdm = Insert("insert into [dbo].[Bikes] values " +
  153. "('" + NumberOfBikes.Text + "','" + Company.Text + "','" + Title.Text + "','" + Type.Text + "', 3 ," + LnameAdm.Text + ")");
  154. MessageBox.Show("Велосипед добавлен");
  155. SpisokBikes SB = new SpisokBikes();
  156. SB.Show();
  157. Close();
  158. }
  159. }
  160. else { MessageBox.Show("Неправильный формат"); }
  161. }
  162. else { MessageBox.Show("Все строки должны быть заполнены"); }
  163. }
  164. public DataTable Insert(string selectSQL) // функция подключения к базе данных и обработка запросов
  165. {
  166. DataTable dataTable = new DataTable("dataBase"); // создаём таблицу в приложении
  167. // подключаемся к базе данных
  168. SqlConnection sqlConnection = new SqlConnection("server=mssql;Trusted_Connection=Yes;DataBase=gr692_kaa;");
  169. sqlConnection.Open(); // открываем базу данных
  170. SqlCommand sqlCommand = sqlConnection.CreateCommand(); // создаём команду
  171. sqlCommand.CommandText = selectSQL; // присваиваем команде текст
  172. SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand); // создаём обработчик
  173. sqlDataAdapter.Fill(dataTable); // возращаем таблицу с результатом
  174. return dataTable;
  175. }
  176. private void Otmena(object sender, RoutedEventArgs e)
  177. {
  178. SpisokBikes SB = new SpisokBikes();
  179. SB.Show();
  180. Close();
  181. }
  182. }
  183. }