/ConstructionManagement/CMS.DataAccess/EFAccess.cs

https://gitlab.com/marccook/ConstMgmt
C# | 282 lines | 252 code | 24 blank | 6 comment | 4 complexity | 79ffc9440b5f78c7d5db3d7ed0b93cfc MD5 | raw file
  1. using System;
  2. using System.CodeDom;
  3. using System.Collections.Generic;
  4. using System.Data.Entity.Migrations;
  5. using System.Linq;
  6. using System.Net;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace CMS.DataAccess
  10. {
  11. public class EFAccess
  12. {
  13. ConstructManDB db = new ConstructManDB();
  14. /// <summary>
  15. /// Accessors for all - relevant- information in the database.
  16. /// </summary>
  17. public List<Task> GetEmployeeTasks()
  18. {
  19. return db.Tasks.ToList();
  20. }
  21. public List<Person> GetEmployees()
  22. {
  23. return db.People.ToList();
  24. }
  25. public List<Detail> GetEmployeeDetails()
  26. {
  27. return db.Details.ToList();
  28. }
  29. public List<Status> GetStatuses()
  30. {
  31. return db.Status.ToList();
  32. }
  33. public List<AcceptedProject> GetProjects()
  34. {
  35. return db.AcceptedProjects.ToList();
  36. }
  37. public List<WorkDay> GetWorkDays()
  38. {
  39. return db.WorkDays.ToList();
  40. }
  41. public List<Task1> GetProjectTasks()
  42. {
  43. return db.Task1.ToList();
  44. }
  45. public List<Site> GetProjectSites()
  46. {
  47. return db.Sites.ToList();
  48. }
  49. public List<Schedule> GetSchedules(int id)
  50. {
  51. return db.Schedules.Where(e=> e.EmployeeID == id).ToList();
  52. }
  53. public List<Role> GetRoles()
  54. {
  55. return db.Roles.ToList();
  56. }
  57. /// creation methods
  58. public bool CreateEmployee(Person p,Detail d)
  59. {
  60. try
  61. {
  62. db.People.Add(p).Detail = d;
  63. SaveChanges();
  64. return true;
  65. }
  66. catch (Exception)
  67. {
  68. return false;
  69. }
  70. }
  71. public bool CreateTask(Task t)
  72. {
  73. try
  74. {
  75. t.Task1 = db.Task1.First(e => e.Id == t.ProjectId);
  76. db.Tasks.Add(t);
  77. SaveChanges();
  78. return true;
  79. }
  80. catch (Exception ex)
  81. {
  82. return false;
  83. }
  84. }
  85. public bool CreateDetail(Detail d)
  86. {
  87. try
  88. {
  89. db.Details.Add(d);
  90. SaveChanges();
  91. return true;
  92. }
  93. catch (Exception)
  94. {
  95. return false;
  96. }
  97. }
  98. public bool CreateStatus(Status s)
  99. {
  100. try
  101. {
  102. db.Status.Add(s);
  103. SaveChanges();
  104. return true;
  105. }
  106. catch (Exception)
  107. {
  108. return false;
  109. }
  110. }
  111. public bool CreateWorkday(WorkDay w)
  112. {
  113. try
  114. {
  115. db.WorkDays.Add(w);
  116. SaveChanges();
  117. return true;
  118. }
  119. catch (Exception)
  120. {
  121. return false;
  122. }
  123. }
  124. public bool CreateSchedule(Schedule s)
  125. {
  126. db.Schedules.Add(s);
  127. return SaveChanges();
  128. }
  129. /// update methods
  130. public bool UpdateEmployee(Person p)
  131. {
  132. db.People.AddOrUpdate(p);
  133. try
  134. {
  135. return true;
  136. }
  137. catch (Exception)
  138. {
  139. return false;
  140. }
  141. }
  142. public bool UpdateWorkDay(WorkDay w)
  143. {
  144. try
  145. {
  146. db.WorkDays.AddOrUpdate(w);
  147. SaveChanges();
  148. return true;
  149. }
  150. catch (Exception)
  151. {
  152. return false;
  153. }
  154. }
  155. public bool UpdateDetail(Detail d)
  156. {
  157. try
  158. {
  159. db.Details.AddOrUpdate(d);
  160. return true;
  161. }
  162. catch (Exception)
  163. {
  164. return false;
  165. throw;
  166. }
  167. }
  168. public bool UpdatePersontask(Task t)
  169. {
  170. t.ProjectId = 3;
  171. db.Tasks.AddOrUpdate(t);
  172. return SaveChanges();
  173. }
  174. public bool UpdateProjectTask(Task1 t)
  175. {
  176. db.Task1.AddOrUpdate(t);
  177. return SaveChanges();
  178. }
  179. public bool UpdateAcceptedProject(AcceptedProject ap)
  180. {
  181. db.AcceptedProjects.AddOrUpdate(ap);
  182. return SaveChanges();
  183. }
  184. /// other methods
  185. public bool RemoveDay(Schedule s)
  186. {
  187. var temp = db.Schedules.First(e => e.Id == s.Id);
  188. db.Schedules.Remove(temp);
  189. return SaveChanges();
  190. }
  191. public bool RemoveTask(Task t)
  192. {
  193. try
  194. {
  195. db.Tasks.Remove(db.Tasks.First(e=> e.Id == t.Id));
  196. return SaveChanges();
  197. }
  198. catch(Exception ex)
  199. {
  200. return false;
  201. }
  202. }
  203. public bool RemovePerson(Person p)
  204. {
  205. try
  206. {
  207. db.People.Remove(p);
  208. return SaveChanges();
  209. }
  210. catch (Exception ex)
  211. {
  212. return false;
  213. throw;
  214. }
  215. }
  216. public bool RemoveManagement(Person p)
  217. {
  218. try
  219. {
  220. foreach (var item in p.Managers)
  221. {
  222. db.Managers.Remove(item);
  223. }
  224. foreach (var item in p.Managers1)
  225. {
  226. db.Managers.Remove(item);
  227. }
  228. return SaveChanges();
  229. }
  230. catch (Exception ex)
  231. {
  232. return false;
  233. }
  234. }
  235. public bool RemoveDetail(Detail d)
  236. {
  237. db.Details.Remove(d);
  238. return SaveChanges();
  239. }
  240. public bool RemoveWorkDay(WorkDay w)
  241. {
  242. db.WorkDays.Remove(w);
  243. return SaveChanges();
  244. }
  245. public bool SaveChanges()
  246. {
  247. try
  248. {
  249. db.SaveChanges();
  250. return true;
  251. }
  252. catch (Exception ex)
  253. {
  254. return false;
  255. }
  256. }
  257. }
  258. }