Advertisement
Guest User

VM

a guest
Nov 22nd, 2019
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.79 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.ObjectModel;
  4. using System.ComponentModel;
  5. using System.Linq;
  6. using System.Runtime.CompilerServices;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using LevelUpEASJ.Annotations;
  10. using LevelUpEASJ.Commands;
  11. using LevelUpEASJ.Model;
  12. using LevelUpEASJ.Model.LevelUpEASJ.Model;
  13.  
  14. namespace LevelUpEASJ.ViewModel
  15. {
  16. class UserViewModel : INotifyPropertyChanged
  17. {
  18. private UserCatalogSingleton _singleton;
  19. private ObservableCollection<User> _users;
  20. private ObservableCollection<Client> _clients;
  21. private ObservableCollection<Trainer> _trainers;
  22. private User _selectedUser;
  23. private int id;
  24. private string firstName;
  25. private string lastName;
  26. private string userName;
  27. private string password;
  28. private int weight;
  29. private int height;
  30. private double fatPercent;
  31. private string gender;
  32. private int totalXp;
  33. private int level;
  34. private int yearsOfExperience;
  35.  
  36.  
  37. public UserViewModel()
  38. {
  39.  
  40. _singleton = UserCatalogSingleton.Instance;
  41. _users = new ObservableCollection<User>();
  42. _trainers = new ObservableCollection<Trainer>();
  43. _clients = new ObservableCollection<Client>();
  44. _selectedUser = new User();
  45.  
  46.  
  47. AddCommand = new RelayCommand(toAddNewUser);
  48. DeleteCommand = new RelayCommand(toDeleteUser);
  49. UpdateCommand = new RelayCommand(toUpdateUser);
  50. }
  51.  
  52.  
  53. public ObservableCollection<User> all_Users
  54. {
  55. get
  56. {
  57. _users = new ObservableCollection<User>(singleton.Users);
  58. return _users;
  59. }
  60. }
  61.  
  62.  
  63. public ObservableCollection<Client> all_Clients
  64. {
  65. get
  66. {
  67. _clients = new ObservableCollection<Client>(singleton.users);
  68. return _clients;
  69. }
  70.  
  71. }
  72.  
  73. public ObservableCollection<Trainer> all_Trainers
  74. {
  75. get
  76. {
  77. _trainers = new ObservableCollection<Trainer>(singleton.trainers);
  78. return _trainers;
  79. }
  80.  
  81. }
  82.  
  83.  
  84.  
  85. public RelayCommand AddCommand { get; set; }
  86. public RelayCommand DeleteCommand { get; set; }
  87. public RelayCommand UpdateCommand { get; set; }
  88.  
  89. public bool DoesUserExist(string username, string password)
  90. {
  91. User myUser = new User(id, firstName, lastName, username, password);
  92. Client myClient = new Client(id, firstName, lastName, username, password, weight, height, fatPercent, gender, totalXp, level);
  93. Trainer myTrainer = new Trainer(id, firstName, lastName, username, password, yearsOfExperience);
  94.  
  95.  
  96. bool check = singleton.CheckLogin(myUser);
  97.  
  98. return check;
  99.  
  100. }
  101.  
  102. private int _id;
  103. public int UserID
  104. {
  105. get
  106. {
  107. return _id;
  108. }
  109. set
  110. {
  111. _id = value;
  112. OnPropertyChanged();
  113. }
  114. }
  115.  
  116. private string _firstName;
  117. public string FirstName
  118. {
  119. get
  120. {
  121. return _firstName;
  122. }
  123. set
  124. {
  125. _firstName = value;
  126. OnPropertyChanged();
  127. }
  128. }
  129.  
  130. private string _lastName;
  131. public string LastName
  132. {
  133. get
  134. {
  135. return _lastName;
  136. }
  137. set
  138. {
  139. _lastName = value;
  140. OnPropertyChanged();
  141. }
  142. }
  143.  
  144.  
  145. private string _userName;
  146. public string UserName
  147. {
  148. get
  149. {
  150. return _userName;
  151. }
  152. set
  153. {
  154. _userName = value;
  155. OnPropertyChanged();
  156. }
  157. }
  158.  
  159. private string _password;
  160. public string Password
  161. {
  162. get
  163. {
  164. return _password;
  165. }
  166. set
  167. {
  168. _password = value;
  169. OnPropertyChanged();
  170. }
  171. }
  172.  
  173. public int UserCount
  174. {
  175. get { return singleton.Users.Count; }
  176. }
  177.  
  178. public User SelectedUser
  179. {
  180. get { return _selectedUser; }
  181. set { _selectedUser = value; OnPropertyChanged(); }
  182. }
  183.  
  184.  
  185. public void toAddNewUser()
  186. {
  187. User NewUser = new User(_id, _firstName, _lastName, _userName, _password);
  188. singleton.addUser(NewUser);
  189. OnPropertyChanged(nameof(all_Users));
  190. OnPropertyChanged(nameof(UserCount));
  191. }
  192.  
  193. public void toDeleteUser()
  194. {
  195. singleton.deleteUser(SelectedUser);
  196. OnPropertyChanged(nameof(all_Users));
  197. OnPropertyChanged(nameof(UserCount));
  198. }
  199.  
  200.  
  201. public void toUpdateUser()
  202. {
  203. singleton.updateUser(SelectedUser);
  204. OnPropertyChanged(nameof(all_Users));
  205. OnPropertyChanged(nameof(UserCount));
  206. }
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245. public event PropertyChangedEventHandler PropertyChanged;
  246.  
  247. [NotifyPropertyChangedInvocator]
  248. protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
  249. {
  250. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
  251. }
  252. }
  253. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement