WorkWindow.xaml.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. using System;
  2. using System.Linq;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. using System.Windows.Input;
  6. namespace ProOdezhda.Windows
  7. {
  8. public partial class WorkWindow : Window
  9. {
  10. ProOdezhdaEntities db = new ProOdezhdaEntities();
  11. Insert_and_Delete af_oar = new Insert_and_Delete();
  12. MainFunctionality mf = new MainFunctionality();
  13. string dateformat = "dd.MM.yyyy";
  14. public WorkWindow()
  15. {
  16. InitializeComponent();
  17. mf.Load("COUNTERPARTY", COUNTERPARTY_Grid);
  18. mf.Load("ORDER", ORDER_Grid);
  19. mf.Load("PURCHASE_INVOICE", PURCHASE_INVOICE_Grid);
  20. mf.Load("REQUEST", REQUEST_Grid);
  21. mf.Load("DISPATCH", DISPATCH_Grid);
  22. mf.Load("RETAIL_REPORT", RETAIL_REPORT_Grid);
  23. mf.Load("RATING", RATING_Grid);
  24. }
  25. //---------------------------------------------Контрагенты---------------------------------------------------\\
  26. //---------------------------------------------\\\-----///---------------------------------------------------\\
  27. private void NEW_COUNTERPARTY(object sender, RoutedEventArgs e) { af_oar.NEW("COUNTERPARTY", COUNTERPARTY_Grid); }
  28. private void DELETE_COUNTERPARTY(object sender, RoutedEventArgs e) { af_oar.DELETE("COUNTERPARTY", COUNTERPARTY_Grid); }
  29. //---------------------------------------------///-----\\\---------------------------------------------------\\
  30. //---------------------------------------------Контрагенты---------------------------------------------------\\
  31. //-----------------------------------------------------------------------------------------------------------\\
  32. //------------------------------------------Заказы материалов------------------------------------------------\\
  33. //---------------------------------------------\\\-----///---------------------------------------------------\\
  34. private void NEW_ORDER(object sender, RoutedEventArgs e) { af_oar.NEW("ORDER", ORDER_Grid); }
  35. private void DELETE_ORDER(object sender, RoutedEventArgs e) { DO(); }
  36. public void DO(bool test = false) { af_oar.DELETE("ORDER", ORDER_Grid, O_ORDER_ID, O_DATE, O_CUTOFF_DATE, O_FK_COUNTERPARTY_ID, ORDER_LIST_Grid, test); }
  37. private void ORDER_Grid_SelectionChanged(object sender, SelectionChangedEventArgs e)
  38. { mf.Grid_SelectionChanged("ORDER", ORDER_Grid, O_ORDER_ID, O_DATE, O_CUTOFF_DATE, O_FK_COUNTERPARTY_ID, ORDER_LIST_Grid, dateformat); }
  39. //---------------------------------------------///-----\\\---------------------------------------------------\\
  40. //------------------------------------------Заказы материалов------------------------------------------------\\
  41. //-----------------------------------------------------------------------------------------------------------\\
  42. //-----------------------------------------Приходные накладные-----------------------------------------------\\
  43. //---------------------------------------------\\\-----///---------------------------------------------------\\
  44. private void NEW_PURCHASE_INVOICE(object sender, RoutedEventArgs e) { af_oar.NEW("PURCHASE_INVOICE", PURCHASE_INVOICE_Grid); }
  45. private void DELETE_PURCHASE_INVOICE(object sender, RoutedEventArgs e) { DPI(); }
  46. public void DPI(bool test = false) { af_oar.DELETE("PURCHASE_INVOICE", PURCHASE_INVOICE_Grid, P_I_ORDER_ID, P_I_DATE, P_I_FK_ORDER_ID, P_I_FK_COUNTERPARTY_ID, PURCHASE_INVOICE_LIST_Grid, test); }
  47. private void PURCHASE_INVOICE_Grid_SelectionChanged(object sender, SelectionChangedEventArgs e)
  48. { mf.Grid_SelectionChanged("PURCHASE_INVOICE", PURCHASE_INVOICE_Grid, P_I_ORDER_ID, P_I_DATE, P_I_FK_ORDER_ID, P_I_FK_COUNTERPARTY_ID, PURCHASE_INVOICE_LIST_Grid, dateformat); }
  49. //---------------------------------------------///-----\\\---------------------------------------------------\\
  50. //-----------------------------------------Приходные накладные-----------------------------------------------\\
  51. //-----------------------------------------------------------------------------------------------------------\\
  52. //-------------------------------------------Запросы агентов-------------------------------------------------\\
  53. //---------------------------------------------\\\-----///---------------------------------------------------\\
  54. private void NEW_REQUEST(object sender, RoutedEventArgs e) { af_oar.NEW("REQUEST", REQUEST_Grid); }
  55. private void DELETE_REQUEST(object sender, RoutedEventArgs e) { DR(); }
  56. public void DR(bool test = false) { af_oar.DELETE("REQUEST", REQUEST_Grid, R_REQUEST_ID, R_DATE, R_CUTOFF_DATE, R_FK_COUNTERPARTY_ID, REQUEST_LIST_Grid, test); }
  57. private void REQUEST_Grid_SelectionChanged(object sender, SelectionChangedEventArgs e)
  58. { mf.Grid_SelectionChanged("REQUEST", REQUEST_Grid, R_REQUEST_ID, R_DATE, R_CUTOFF_DATE, R_FK_COUNTERPARTY_ID, REQUEST_LIST_Grid, dateformat); }
  59. //---------------------------------------------///-----\\\---------------------------------------------------\\
  60. //-------------------------------------------Запросы агентов-------------------------------------------------\\
  61. //-----------------------------------------------------------------------------------------------------------\\
  62. //------------------------------------------Поставки продукции-----------------------------------------------\\
  63. //---------------------------------------------\\\-----///---------------------------------------------------\\
  64. private void NEW_DISPATCH(object sender, RoutedEventArgs e) { af_oar.NEW("DISPATCH", DISPATCH_Grid); }
  65. private void DELETE_DISPATCH(object sender, RoutedEventArgs e) { DD(); }
  66. public void DD(bool test = false) { af_oar.DELETE("DISPATCH", DISPATCH_Grid, D_REQUEST_ID, D_DATE, D_FK_REQUEST_ID, D_FK_COUNTERPARTY_ID, DISPATCH_LIST_Grid, test); }
  67. private void DISPATCH_Grid_SelectionChanged(object sender, SelectionChangedEventArgs e)
  68. { mf.Grid_SelectionChanged("DISPATCH", DISPATCH_Grid, D_REQUEST_ID, D_DATE, D_FK_REQUEST_ID, D_FK_COUNTERPARTY_ID, DISPATCH_LIST_Grid, dateformat); }
  69. //---------------------------------------------///-----\\\---------------------------------------------------\\
  70. //------------------------------------------Поставки продукции-----------------------------------------------\\
  71. //-----------------------------------------------------------------------------------------------------------\\
  72. //------------------------------------------Розничные продажи------------------------------------------------\\
  73. //---------------------------------------------\\\-----///---------------------------------------------------\\
  74. private void NEW_RETAIL_REPORT(object sender, RoutedEventArgs e) { af_oar.NEW("RETAIL_REPORT", RETAIL_REPORT_Grid); }
  75. private void DELETE_RETAIL_REPORT(object sender, RoutedEventArgs e) { DRR(); }
  76. public void DRR(bool test = false) { af_oar.DELETE("RETAIL_REPORT", RETAIL_REPORT_Grid, R_R_RETAIL_REPORT_ID, R_R_DATE, null, R_R_FK_COUNTERPARTY_ID, RETAIL_REPORT_LIST_Grid, test); }
  77. private void RETAIL_REPORT_Grid_SelectionChanged(object sender, SelectionChangedEventArgs e)
  78. { mf.Grid_SelectionChanged("RETAIL_REPORT", RETAIL_REPORT_Grid, R_R_RETAIL_REPORT_ID, R_R_DATE, null, R_R_FK_COUNTERPARTY_ID, RETAIL_REPORT_LIST_Grid, dateformat); }
  79. //---------------------------------------------///-----\\\---------------------------------------------------\\
  80. //------------------------------------------Розничные продажи------------------------------------------------\\
  81. //-----------------------------------------------------------------------------------------------------------\\
  82. //-----------------------------------------Рейтинг контрагентов----------------------------------------------\\
  83. //---------------------------------------------\\\-----///---------------------------------------------------\\
  84. private void NEW_RATING(object sender, RoutedEventArgs e) { N_R(); }
  85. public bool N_R(bool test = false)
  86. {
  87. if (Check(test))
  88. {
  89. RATING rating = new RATING
  90. {
  91. DATE = DateTime.Parse(Ra_DATE.SelectedDate.ToString()),
  92. FK_COUNTERPARTY_ID = int.Parse(Ra_FK_COUNTERPARTY_ID.SelectedValue.ToString()),
  93. RATING1 = double.Parse(Ra_RATING.Text)
  94. };
  95. db.RATINGs.Add(rating);
  96. db.SaveChanges();
  97. mf.Load("RATING", RATING_Grid);
  98. return true;
  99. }
  100. return false;
  101. }
  102. private bool Check(bool test = false)
  103. {
  104. if (Ra_FK_COUNTERPARTY_ID.SelectedValue == null)
  105. {
  106. if (test) { return false; }
  107. MessageBox.Show("Контрагент не выбран!"); return false;
  108. }
  109. if (!double.TryParse(Ra_RATING.Text, out double rating))
  110. {
  111. if (test) { return false; }
  112. MessageBox.Show("Рейтинг введён неправильно!"); return false;
  113. }
  114. if (Ra_DATE.SelectedDate == null)
  115. {
  116. if (test) { return false; }
  117. MessageBox.Show("Дата назначения не введена!"); return false;
  118. }
  119. return true;
  120. }
  121. private void DELETE_RATING(object sender, RoutedEventArgs e) { D_R(); }
  122. public bool D_R()
  123. {
  124. if(RATING_Grid.SelectedItem is RATING rating)
  125. {
  126. db.RATINGs.Remove(db.RATINGs.Where(r => r.RATING_ID == rating.RATING_ID).FirstOrDefault());
  127. db.SaveChanges();
  128. mf.Load("RATING", RATING_Grid);
  129. Ra_DATE.SelectedDate = null;
  130. Ra_FK_COUNTERPARTY_ID.SelectedValue = null;
  131. Ra_RATING.Text = "";
  132. return true;
  133. }
  134. return false;
  135. }
  136. private void UPDATE_RATING(object sender, RoutedEventArgs e) { U_R(); }
  137. public bool U_R(bool test = false)
  138. {
  139. if (Check(test))
  140. {
  141. if (RATING_Grid.SelectedItem is RATING rating)
  142. {
  143. rating.DATE = DateTime.Parse(Ra_DATE.SelectedDate.ToString());
  144. rating.FK_COUNTERPARTY_ID = int.Parse(Ra_FK_COUNTERPARTY_ID.SelectedValue.ToString());
  145. rating.RATING1 = double.Parse(Ra_RATING.Text);
  146. db.SaveChanges();
  147. mf.Load("RATING", RATING_Grid);
  148. }
  149. return true;
  150. }
  151. return false;
  152. }
  153. private void RATING_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { RMLBU(); }
  154. public void RMLBU() { mf.Load_COUNTERPARTY(Ra_FK_COUNTERPARTY_ID); }
  155. private void RATING_Grid_SelectionChanged(object sender, SelectionChangedEventArgs e)
  156. {
  157. if (RATING_Grid.SelectedItem is RATING rating)
  158. {
  159. Ra_DATE.SelectedDate = rating.DATE;
  160. Ra_FK_COUNTERPARTY_ID.SelectedValue = rating.FK_COUNTERPARTY_ID;
  161. Ra_RATING.Text = rating.RATING1.ToString();
  162. }
  163. }
  164. public void RATING_Filling(DateTime date, int countrparty, string rating)
  165. {
  166. Ra_DATE.SelectedDate = date;
  167. Ra_FK_COUNTERPARTY_ID.SelectedIndex = countrparty;
  168. Ra_RATING.Text = rating;
  169. }
  170. //---------------------------------------------///-----\\\---------------------------------------------------\\
  171. //-----------------------------------------Рейтинг контрагентов----------------------------------------------\\
  172. //-----------------------------------------------------------------------------------------------------------\\
  173. //-----------------------------------------------Отчёты------------------------------------------------------\\
  174. //---------------------------------------------\\\-----///---------------------------------------------------\\
  175. private void BC_Arrived_Orders(object sender, RoutedEventArgs e) { mf.BC_Arrived_Orders(Arrived_Orders); }
  176. private void BC_Completed_Requests(object sender, RoutedEventArgs e) { mf.BC_Completed_Requests(Completed_Requests); }
  177. private void BC_Products_Sold(object sender, RoutedEventArgs e) { mf.BC_Products_Sold(Products_Sold); }
  178. private void BC_Counterparty_Rating(object sender, RoutedEventArgs e) { mf.BC_Counterparty_Rating(Counterparty_Rating); }
  179. //---------------------------------------------///-----\\\---------------------------------------------------\\
  180. //-----------------------------------------------Отчёты------------------------------------------------------\\
  181. private void Window_Closed(object sender, EventArgs e)
  182. {
  183. USER_ACTIVITY ACTIVITY = new USER_ACTIVITY
  184. {
  185. FK_USER_ID = int.Parse(Application.Current.Properties["USER_ID"].ToString()),
  186. ENTRY_TIME = DateTime.Parse(Application.Current.Properties["ENTRY_TIME"].ToString()),
  187. EXIT_TIME = DateTime.Now
  188. };
  189. db.USER_ACTIVITY.Add(ACTIVITY);
  190. db.SaveChanges();
  191. Application.Current.Shutdown();
  192. }
  193. }
  194. }