Advertisement
lkhaled

Lina WPF CRUD app

Dec 8th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.02 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15.  
  16. namespace Shopping_List_Application
  17. {
  18. /// <summary>
  19. /// Interaction logic for MainWindow.xaml
  20. /// </summary>
  21. public partial class MainWindow : Window
  22. {
  23. List<Ingredient> ingredients = new List<Ingredient>();
  24. List<Equipment> equipments = new List<Equipment>();
  25. List<OrderIngredient> orders = new List<OrderIngredient>();
  26. Ingredient ingredient;
  27. Equipment equipment;
  28. OrderIngredient order;
  29.  
  30. public MainWindow()
  31. {
  32. InitializeComponent();
  33. Intialise();
  34. }
  35. void Intialise()
  36. {
  37. using (var db = new Shopping_ListEntities2())
  38. {
  39. ingredients = db.Ingredients.ToList();
  40. equipments = db.Equipments.ToList();
  41. orders = db.OrderIngredients.ToList();
  42.  
  43. }
  44. ListBoxIngredients.ItemsSource = ingredients;
  45. ListBoxIngredients.DisplayMemberPath = "IngredientsId";
  46. ListBoxEquipments.ItemsSource = equipments;
  47. ListBoxEquipments.DisplayMemberPath = "Quantity";
  48. ListBoxOrders.ItemsSource = orders;
  49. ListBoxOrders.DisplayMemberPath = "Quantity";
  50.  
  51.  
  52. }
  53. private void ListBoxIngredients_SelectionChanged(object sender, SelectionChangedEventArgs e)
  54. {
  55. ingredient = (Ingredient)ListBoxIngredients.SelectedItem;
  56. if(ingredient != null)
  57. {
  58. TextBoxId.Text = ingredient.IngredientsId.ToString();
  59. TextBoxDescription.Text = ingredient.Ingredient1.ToString();
  60. TextBoxQuantity.Text = ingredient.Quantity.ToString();
  61.  
  62. }
  63.  
  64. }
  65. private void ListBoxEqupments_SelectionChanged(object sender, SelectionChangedEventArgs e)
  66. {
  67. equipment = (Equipment)ListBoxEquipments.SelectedItem;
  68. if(equipment != null)
  69. {
  70. TextBoxId.Text = equipment.EquipmentId.ToString();
  71. TextBoxDescription.Text = equipment.Equipment1.ToString();
  72. TextBoxQuantity.Text = equipment.Quantity.ToString();
  73. }
  74. }
  75. private void ListBoxOrders_SelectionChanged(object sender, SelectionChangedEventArgs e)
  76. {
  77. order = (OrderIngredient)ListBoxOrders.SelectedItem;
  78. if(order !=null)
  79. {
  80. TextBoxId.Text = order.OrderId.ToString();
  81. TextBoxDescription.Text = order.Ingredient.ToString();
  82. TextBoxQuantity.Text = order.Quantity.ToString();
  83. TextBoxOrdered.Text = order.Orderd_On.ToString();
  84. }
  85. }
  86. private void ButtonAdd_Click(object sender, RoutedEventArgs e)
  87. {
  88. if (ButtonAdd.Content.ToString() == "Add")
  89. {
  90. ButtonAdd.Content = "Confirm";
  91. TextBoxId.Background = Brushes.White;
  92. TextBoxDescription.Background = Brushes.White;
  93. TextBoxQuantity.Background = Brushes.White;
  94. TextBoxDescription.IsReadOnly = false;
  95. TextBoxQuantity.IsReadOnly = false;
  96. TextBoxId.IsReadOnly = true;
  97. TextBoxDescription.Text = "";
  98. TextBoxQuantity.Text = "";
  99. }
  100. else
  101. {
  102. ButtonAdd.Content = "Add";
  103. ButtonAdd.IsEnabled = true;
  104. int.TryParse(TextBoxQuantity.Text, out int Quantity);
  105.  
  106. var ingredientToAdd = new Ingredient()
  107. {
  108.  
  109. Ingredient1 = TextBoxDescription.Text,
  110. Quantity = Quantity
  111.  
  112. };
  113. using (var db = new Shopping_ListEntities2())
  114. {
  115. db.Ingredients.Add(ingredientToAdd);
  116. db.SaveChanges();
  117. ListBoxIngredients.ItemsSource = null;
  118. ingredients = db.Ingredients.ToList();
  119. ListBoxIngredients.ItemsSource = ingredients;
  120. }
  121.  
  122. }
  123. if (ButtonAdd.Content.ToString() == "Add")
  124. {
  125. ButtonAdd.Content = "Confirm";
  126. TextBoxId.Background = Brushes.White;
  127. TextBoxDescription.Background = Brushes.White;
  128. TextBoxDescription.IsReadOnly = false;
  129. TextBoxQuantity.IsReadOnly = false;
  130. TextBoxId.IsReadOnly = true;
  131. TextBoxDescription.Text = "";
  132. TextBoxQuantity.Text = "";
  133. } else
  134. {
  135. ButtonAdd.Content = "Add";
  136. ButtonAdd.IsEnabled = true;
  137. int.TryParse(TextBoxQuantity.Text, out int Quantity);
  138.  
  139. var equipmentToAdd = new Equipment()
  140. {
  141. Equipment1 = TextBoxDescription.Text,
  142. Quantity = Quantity
  143. };
  144. using (var db = new Shopping_ListEntities2())
  145. {
  146. db.Equipments.Add(equipmentToAdd);
  147. db.SaveChanges();
  148. ListBoxEquipments.ItemsSource = null;
  149. equipments = db.Equipments.ToList();
  150. ListBoxEquipments.ItemsSource = equipments;
  151.  
  152. }
  153. }
  154. if (ButtonAdd.Content.ToString() == "Add")
  155. {
  156. ButtonAdd.Content = "Confrim";
  157. TextBoxId.Background = Brushes.White;
  158. TextBoxDescription.Background = Brushes.White;
  159. TextBoxDescription.IsReadOnly = false;
  160. TextBoxQuantity.IsReadOnly = false;
  161. TextBoxId.IsReadOnly = true;
  162. TextBoxDescription.Text = "";
  163. TextBoxQuantity.Text = "";
  164. } else
  165. {
  166. ButtonAdd.Content = "Add";
  167. ButtonAdd.IsEnabled = true;
  168. int.TryParse(TextBoxQuantity.Text, out int Quantity);
  169.  
  170. var orderToAdd = new OrderIngredient()
  171. {
  172. Ingredient = TextBoxDescription.Text,
  173. Quantity = Quantity
  174. };
  175. using(var db = new Shopping_ListEntities2())
  176. {
  177. db.OrderIngredients.Add(orderToAdd);
  178. db.SaveChanges();
  179. ListBoxOrders.ItemsSource = null;
  180. orders = db.OrderIngredients.ToList();
  181. ListBoxOrders.ItemsSource = orders;
  182.  
  183. }
  184. }
  185.  
  186. }
  187. //code for editing database fields
  188. private void ButtonEdit_Click(object sender, RoutedEventArgs e)
  189. {
  190. if (ButtonEdit.Content.ToString() == "Edit")
  191. {
  192. ingredient = (Ingredient)ListBoxIngredients.SelectedItem;
  193. TextBoxDescription.IsReadOnly = false;
  194. TextBoxQuantity.IsReadOnly = false;
  195. ButtonEdit.Content = "Save";
  196. TextBoxDescription.Background = Brushes.White;
  197. TextBoxQuantity.Background = Brushes.White;
  198. }
  199. else
  200. {
  201. using (var db = new Shopping_ListEntities2())
  202. {
  203. var ingredientToEdit = db.Ingredients.Find(ingredient.IngredientsId);
  204. ingredientToEdit.Ingredient1 = TextBoxDescription.Text;
  205. int.TryParse(TextBoxQuantity.Text, out int Quantity);
  206. db.SaveChanges();
  207. }
  208. }
  209. if (ButtonEdit.Content.ToString() == "Edit")
  210. {
  211. equipment = (Equipment)ListBoxEquipments.SelectedItem;
  212. TextBoxDescription.IsReadOnly = false;
  213. TextBoxQuantity.IsReadOnly = false;
  214. ButtonEdit.Content = "Save";
  215. TextBoxDescription.Background = Brushes.White;
  216. TextBoxQuantity.Background = Brushes.White;
  217. }
  218. else
  219. {
  220. using (var db = new Shopping_ListEntities2())
  221. {
  222. var equipmentToEdit = db.Equipments.Find(equipment.Equipment1);
  223. equipmentToEdit.Equipment1 = TextBoxDescription.Text;
  224. int.TryParse(TextBoxQuantity.Text, out int Quantity);
  225. db.SaveChanges();
  226. }
  227. }
  228. if (ButtonEdit.Content.ToString() == "Edit")
  229. {
  230. order = (OrderIngredient)ListBoxOrders.SelectedItem;
  231. TextBoxDescription.IsReadOnly = false;
  232. TextBoxQuantity.IsReadOnly = false;
  233. ButtonEdit.Content = "Save";
  234. TextBoxDescription.Background = Brushes.White;
  235. TextBoxQuantity.Background = Brushes.White;
  236. }
  237. else
  238. {
  239. using (var db = new Shopping_ListEntities2())
  240. {
  241. var orderToEdit = db.OrderIngredients.Find(order.Ingredient);
  242. orderToEdit.Ingredient = TextBoxDescription.Text;
  243. int.TryParse(TextBoxQuantity.Text, out int Quantity);
  244. db.SaveChanges();
  245. }
  246. }
  247.  
  248. }
  249.  
  250. private void ButtonDelete_Click(object sender, RoutedEventArgs e)
  251. {
  252. if(ButtonDelete.Content.ToString() == "Delete")
  253. {
  254. ButtonDelete.Content = "Confirm";
  255. TextBoxId.Background = Brushes.OrangeRed;
  256. TextBoxDescription.Background = Brushes.DarkOrange;
  257. }else
  258. {
  259. if(ingredients != null)
  260. {
  261. using(var db = new Shopping_ListEntities2())
  262. {
  263. var ingredientToRemove = db.Ingredients.Find(ingredient.IngredientsId);
  264. db.Ingredients.Remove(ingredientToRemove);
  265. ListBoxIngredients.ItemsSource = null;
  266. ingredients = db.Ingredients.ToList();
  267. ListBoxIngredients.ItemsSource = ingredients;
  268. ButtonDelete.Content = "Delete";
  269. TextBoxDescription.IsReadOnly = true;
  270. TextBoxId.Text = "";
  271. TextBoxDescription.Text = "";
  272. TextBoxQuantity.Text = "";
  273. }
  274. }
  275. }
  276. if(ButtonDelete.Content.ToString() == "Delete")
  277. {
  278. ButtonDelete.Content = "Confirm";
  279. TextBoxId.Background = Brushes.OrangeRed;
  280. TextBoxDescription.Background = Brushes.DarkOrange;
  281.  
  282. }
  283. else
  284. {
  285. if(equipments != null)
  286. {
  287. using(var db = new Shopping_ListEntities2())
  288. {
  289. var equipmentToRemove = db.Equipments.Find(equipment.EquipmentId);
  290. db.Equipments.Remove(equipmentToRemove);
  291. ListBoxEquipments.ItemsSource = null;
  292. equipments = db.Equipments.ToList();
  293. ListBoxEquipments.ItemsSource = equipments;
  294. ButtonDelete.Content = "Delete";
  295. TextBoxId.Text = "";
  296. TextBoxDescription.Text = "";
  297. TextBoxQuantity.Text = "";
  298. }
  299. }
  300. }
  301. if(ButtonDelete.Content.ToString() == "Delete")
  302. {
  303. ButtonDelete.Content = "Confirm";
  304. TextBoxId.Background = Brushes.OrangeRed;
  305. TextBoxDescription.Background = Brushes.DarkOrange;
  306. }
  307. else
  308. {
  309. if (orders != null)
  310. {
  311. using (var db = new Shopping_ListEntities2())
  312. {
  313. var orderToRemove = db.OrderIngredients.Find(order.OrderId);
  314. db.OrderIngredients.Remove(orderToRemove);
  315. ListBoxOrders.ItemsSource = null;
  316. orders = db.OrderIngredients.ToList();
  317. ListBoxOrders.ItemsSource = orders;
  318. ButtonDelete.Content = "Delete";
  319. TextBoxId.Text = "";
  320. TextBoxDescription.Text = "";
  321. TextBoxQuantity.Text = "";
  322. TextBoxOrdered.Text = "";
  323. }
  324. }
  325. }
  326.  
  327. }
  328. }
  329. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement