Advertisement
Guest User

OutputViewModel

a guest
Jul 18th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.69 KB | None | 0 0
  1. using QuanLyKho.Model;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Collections.ObjectModel;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows.Input;
  9.  
  10. namespace QuanLyKho.ViewModel
  11. {
  12. class OutputViewModel:BaseViewModel
  13. {
  14. private ObservableCollection<OutputInfo> _List;
  15. public ObservableCollection<OutputInfo> List { get => _List; set { _List = value; OnPropertyChanged(); } }
  16. private ObservableCollection<Output> _Output;
  17. public ObservableCollection<Output> Output { get => _Output; set { _Output = value; OnPropertyChanged(); } }
  18. private ObservableCollection<Customer> _Customer;
  19. public ObservableCollection<Customer> Customer { get => _Customer; set { _Customer = value; OnPropertyChanged(); } }
  20. private ObservableCollection<InputInfo> _InputInfo;
  21. public ObservableCollection<InputInfo> InputInfo { get => _InputInfo; set { _InputInfo = value; OnPropertyChanged(); } }
  22. private ObservableCollection<Model.Object> _Object;
  23. public ObservableCollection<Model.Object> Object { get => _Object; set { _Object = value; OnPropertyChanged(); } }
  24. private OutputInfo _SelectedItem;
  25. public OutputInfo SelectedItem
  26. {
  27. get => _SelectedItem;
  28. set
  29. {
  30. _SelectedItem = value; OnPropertyChanged();
  31. if (SelectedItem != null)
  32. {
  33. SelectedObject = SelectedItem.Object;
  34. DateOutput = SelectedItem.Output.DateOutput;
  35. Count = SelectedItem.Count;
  36. SelectecInputInfo = SelectedItem.InputInfo;
  37. SelectedOutput = SelectedItem.Output;
  38. SelectecCustomer = SelectedItem.Customer;
  39. Status = SelectedItem.Status;
  40.  
  41. }
  42. }
  43. }
  44.  
  45. private Model.InputInfo _SelectecInputInfo;
  46. public Model.InputInfo SelectecInputInfo
  47. {
  48. get => _SelectecInputInfo;
  49. set
  50. {
  51. _SelectecInputInfo = value;
  52. OnPropertyChanged();
  53.  
  54. }
  55. }
  56.  
  57. private Model.Customer _SelectecCustomer;
  58. public Model.Customer SelectecCustomer
  59. {
  60. get => _SelectecCustomer;
  61. set
  62. {
  63. _SelectecCustomer = value;
  64. OnPropertyChanged();
  65.  
  66. }
  67. }
  68.  
  69. private Model.Object _SelectedObject;
  70. public Model.Object SelectedObject
  71. {
  72. get => _SelectedObject;
  73. set
  74. {
  75. _SelectedObject = value;
  76. OnPropertyChanged();
  77.  
  78. }
  79. }
  80.  
  81. private Model.Output _SelectedOutput;
  82. public Model.Output SelectedOutput
  83. {
  84. get => _SelectedOutput;
  85. set
  86. {
  87. _SelectedOutput = value;
  88. OnPropertyChanged();
  89.  
  90. }
  91. }
  92. private int? _Count;
  93. public int? Count { get => _Count; set { _Count = value; OnPropertyChanged(); } }
  94.  
  95.  
  96. private string _Status;
  97. public string Status { get => _Status; set { _Status = value; OnPropertyChanged(); } }
  98. private DateTime? _DateOutput;
  99. public DateTime? DateOutput { get => _DateOutput; set { _DateOutput = value; OnPropertyChanged(); } }
  100.  
  101. public ICommand AddCommand { get; set; }
  102. public ICommand EditCommand { get; set; }
  103. public ICommand DeleteCommand { get; set; }
  104.  
  105. public OutputViewModel()
  106. {
  107. List = new ObservableCollection<OutputInfo>(DataProvider.Ins.db.OutputInfoes);
  108. Output = new ObservableCollection<Output>(DataProvider.Ins.db.Outputs);
  109. Object = new ObservableCollection<Model.Object>(DataProvider.Ins.db.Objects);
  110. InputInfo = new ObservableCollection<InputInfo>(DataProvider.Ins.db.InputInfoes);
  111. Customer = new ObservableCollection<Customer>(DataProvider.Ins.db.Customers);
  112.  
  113. AddCommand = new RelayCommand<object>((p) =>
  114. {
  115. if (SelectedObject == null || SelectecCustomer == null)
  116. return false;
  117.  
  118. return true;
  119. }, (p) =>
  120. {
  121. if (DateOutput != null)
  122. {
  123. var outputList = DataProvider.Ins.db.Outputs.Where(x => x.DateOutput == DateOutput);
  124. if (outputList != null && outputList.Count() != 0)
  125. {
  126.  
  127. var OutputInfo = new OutputInfo() { Id = Guid.NewGuid().ToString() };
  128. DataProvider.Ins.db.OutputInfoes.Add(OutputInfo);
  129. DataProvider.Ins.db.SaveChanges();
  130. List.Add(OutputInfo);
  131. }
  132. else
  133. {
  134. var Outp = new Output() { Id = Guid.NewGuid().ToString(), DateOutput = DateOutput };
  135. DataProvider.Ins.db.Outputs.Add(Outp);
  136. DataProvider.Ins.db.SaveChanges();
  137. var OutputInfo = new OutputInfo() { Id = Guid.NewGuid().ToString() };
  138. DataProvider.Ins.db.OutputInfoes.Add(OutputInfo);
  139. DataProvider.Ins.db.SaveChanges();
  140. List.Add(OutputInfo);
  141. }
  142. }
  143. else
  144. {
  145. var Outp = new Output() { Id = Guid.NewGuid().ToString(), DateOutput = DateTime.Now };
  146. DataProvider.Ins.db.Outputs.Add(Outp);
  147. DataProvider.Ins.db.SaveChanges();
  148. var OutputInfo = new OutputInfo() { Id = Guid.NewGuid().ToString() };
  149. DataProvider.Ins.db.OutputInfoes.Add(OutputInfo);
  150. DataProvider.Ins.db.SaveChanges();
  151. List.Add(OutputInfo);
  152. }
  153. });
  154.  
  155. EditCommand = new RelayCommand<object>((p) =>
  156. {
  157. if (SelectedItem == null || SelectedObject == null || DateOutput == null)
  158. return false;
  159. var displayList = DataProvider.Ins.db.OutputInfoes.Where(x => x.Id == SelectedItem.Id);
  160. if (displayList != null && displayList.Count() != 0)
  161. {
  162. return true;
  163. }
  164. return false;
  165. }, (p) =>
  166. {
  167. var outputList = DataProvider.Ins.db.Outputs.Where(x => x.DateOutput == DateOutput);
  168. if (outputList.Count() == 0)
  169. {
  170. var Outp = new Output() { Id = Guid.NewGuid().ToString(), DateOutput = DateOutput };
  171. DataProvider.Ins.db.Outputs.Add(Outp);
  172. DataProvider.Ins.db.SaveChanges();
  173. var OutputInfoes = DataProvider.Ins.db.OutputInfoes.Where(x => x.Id == SelectedItem.Id).SingleOrDefault();
  174. var Inputs = DataProvider.Ins.db.Outputs.Where(x => x.DateOutput == DateOutput).SingleOrDefault();
  175.  
  176.  
  177. DataProvider.Ins.db.SaveChanges();
  178. }
  179. else
  180. {
  181. var OutputInfoes = DataProvider.Ins.db.OutputInfoes.Where(x => x.Id == SelectedItem.Id).SingleOrDefault();
  182. var Outputs = DataProvider.Ins.db.Outputs.Where(x => x.DateOutput == DateOutput).SingleOrDefault();
  183.  
  184.  
  185. DataProvider.Ins.db.SaveChanges();
  186. }
  187. });
  188. }
  189. }
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement