DeviationService.cs 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using GreenTree.Nachtragsmanagement.Core.Data;
  7. using GreenTree.Nachtragsmanagement.Core.Domain.Deviation;
  8. namespace GreenTree.Nachtragsmanagement.Services.Deviation
  9. {
  10. public class DeviationService : IDeviationService
  11. {
  12. #region Fields
  13. private readonly IRepository<Core.Domain.Deviation.Deviation> _deviationRepository;
  14. private readonly IRepository<Disturbance> _disturbanceRepository;
  15. private readonly IRepository<Kind> _kindRepository;
  16. private readonly IRepository<Status> _statusRepository;
  17. #endregion
  18. #region Ctor
  19. /// <summary>
  20. /// Initializes a new instance of the DeviationService class
  21. /// </summary>
  22. public DeviationService(
  23. IRepository<Core.Domain.Deviation.Deviation> deviationRepository,
  24. IRepository<Disturbance> disturbanceRepository,
  25. IRepository<Kind> kindRepository,
  26. IRepository<Status> statusRepository)
  27. {
  28. _deviationRepository = deviationRepository;
  29. _disturbanceRepository = disturbanceRepository;
  30. _kindRepository = kindRepository;
  31. _statusRepository = statusRepository;
  32. }
  33. #endregion
  34. #region Deviation
  35. /// <summary>
  36. /// Gets all deviations
  37. /// </summary>
  38. public IList<Core.Domain.Deviation.Deviation> GetAllDeviations()
  39. {
  40. return _deviationRepository.Table.ToList();
  41. }
  42. /// <summary>
  43. /// Gets a deviation by specified Id
  44. /// </summary>
  45. /// <param name="id">Deviation identifier.</param>
  46. public Core.Domain.Deviation.Deviation GetDeviationById(int id)
  47. {
  48. return _deviationRepository.GetById(id);
  49. }
  50. /// <summary>
  51. /// Gets all deviations to the specified ids
  52. /// </summary>
  53. public IList<Core.Domain.Deviation.Deviation> GetDeviationsByIds(int[] ids)
  54. {
  55. return _deviationRepository.Table
  56. .Where(u => ids.Contains(u.Id))
  57. .ToList();
  58. }
  59. /// <summary>
  60. /// Gets a deviation by specified custom number
  61. /// </summary>
  62. /// <param name="customNumber">Customer number.</param>
  63. public Core.Domain.Deviation.Deviation GetDeviationByCustomNumber(string customNumber)
  64. {
  65. return _deviationRepository
  66. .Table.FirstOrDefault(u => u.CustomNumber == customNumber);
  67. }
  68. /// <summary>
  69. /// Insert a deviation
  70. /// </summary>
  71. /// <param name="deviation">Deviation.</param>
  72. public void InsertDeviation(Core.Domain.Deviation.Deviation deviation)
  73. {
  74. _deviationRepository.Insert(deviation);
  75. }
  76. /// <summary>
  77. /// Update a deviation
  78. /// </summary>
  79. /// <param name="deviation">Deviation.</param>
  80. public void UpdateDeviation(Core.Domain.Deviation.Deviation deviation)
  81. {
  82. _deviationRepository.Update(deviation);
  83. }
  84. /// <summary>
  85. /// Delete a deviation
  86. /// </summary>
  87. /// <param name="deviation">Deviation.</param>
  88. public void DeleteDeviation(Core.Domain.Deviation.Deviation deviation)
  89. {
  90. _deviationRepository.Delete(deviation);
  91. }
  92. #endregion
  93. #region Disturbance
  94. /// <summary>
  95. /// Gets all disturbances
  96. /// </summary>
  97. public IList<Disturbance> GetAllDisturbances()
  98. {
  99. return _disturbanceRepository.Table.ToList();
  100. }
  101. /// <summary>
  102. /// Gets a disturbance by specified Id
  103. /// </summary>
  104. /// <param name="id">Disturbance identifier.</param>
  105. public Disturbance GetDisturbanceById(int id)
  106. {
  107. return _disturbanceRepository.GetById(id);
  108. }
  109. /// <summary>
  110. /// Gets all disturbances to the specified ids
  111. /// </summary>
  112. public IList<Disturbance> GetDisturbancesByIds(int[] ids)
  113. {
  114. return _disturbanceRepository.Table
  115. .Where(r => ids.Contains(r.Id))
  116. .ToList();
  117. }
  118. /// <summary>
  119. /// Gets all deviations to the specified with the specified disturbance id
  120. /// </summary>
  121. /// <param name="id">Disturbance identifier.</param>
  122. public IList<Core.Domain.Deviation.Deviation> GetDeviationsByDisturbance(int id)
  123. {
  124. return _deviationRepository.Table
  125. .Where(d => d.DisturbanceId == id)
  126. .ToList();
  127. }
  128. /// <summary>
  129. /// Insert a deviation
  130. /// </summary>
  131. /// <param name="disturbance">Disturbance.</param>
  132. public void InsertDisturbance(Disturbance disturbance)
  133. {
  134. _disturbanceRepository.Insert(disturbance);
  135. }
  136. /// <summary>
  137. /// Update a disturbance
  138. /// </summary>
  139. /// <param name="disturbance">Disturbance.</param>
  140. public void UpdateDisturbance(Disturbance disturbance)
  141. {
  142. _disturbanceRepository.Update(disturbance);
  143. }
  144. /// <summary>
  145. /// Delete a disturbance
  146. /// </summary>
  147. /// <param name="disturbance">Disturbance.</param>
  148. public void DeleteDisturbance(Disturbance disturbance)
  149. {
  150. _disturbanceRepository.Delete(disturbance);
  151. }
  152. #endregion
  153. #region Kind
  154. /// <summary>
  155. /// Gets all kinds
  156. /// </summary>
  157. public IList<Kind> GetAllKinds()
  158. {
  159. return _kindRepository.Table.ToList();
  160. }
  161. /// <summary>
  162. /// Gets a kind by specified Id
  163. /// </summary>
  164. /// <param name="id">Kind identifier.</param>
  165. public Kind GetKindById(int id)
  166. {
  167. return _kindRepository.GetById(id);
  168. }
  169. /// <summary>
  170. /// Gets all kinds to the specified ids
  171. /// </summary>
  172. public IList<Kind> GetKindsByIds(int[] ids)
  173. {
  174. return _kindRepository.Table
  175. .Where(r => ids.Contains(r.Id))
  176. .ToList();
  177. }
  178. /// <summary>
  179. /// Gets all deviations to the specified with the specified kind id
  180. /// </summary>
  181. /// <param name="id">Kind identifier.</param>
  182. public IList<Core.Domain.Deviation.Deviation> GetDeviationsByKind(int id)
  183. {
  184. return _deviationRepository.Table
  185. .Where(d => d.KindId == id)
  186. .ToList();
  187. }
  188. /// <summary>
  189. /// Insert a kind
  190. /// </summary>
  191. /// <param name="kind">Kind.</param>
  192. public void InsertKind(Kind kind)
  193. {
  194. _kindRepository.Insert(kind);
  195. }
  196. /// <summary>
  197. /// Update a kind
  198. /// </summary>
  199. /// <param name="kind">Kind.</param>
  200. public void UpdateKind(Kind kind)
  201. {
  202. _kindRepository.Update(kind);
  203. }
  204. /// <summary>
  205. /// Delete a kind
  206. /// </summary>
  207. /// <param name="kind">Kind.</param>
  208. public void DeleteKind(Kind kind)
  209. {
  210. _kindRepository.Delete(kind);
  211. }
  212. #endregion
  213. #region Status
  214. /// <summary>
  215. /// Gets all statuses
  216. /// </summary>
  217. public IList<Status> GetAllStatuses()
  218. {
  219. return _statusRepository.Table.ToList();
  220. }
  221. /// <summary>
  222. /// Gets a status by specified Id
  223. /// </summary>
  224. /// <param name="id">Status identifier.</param>
  225. public Status GetStatusById(int id)
  226. {
  227. return _statusRepository.GetById(id);
  228. }
  229. /// <summary>
  230. /// Gets all statuses to the specified ids
  231. /// </summary>
  232. public IList<Status> GetStatusesByIds(int[] ids)
  233. {
  234. return _statusRepository.Table
  235. .Where(r => ids.Contains(r.Id))
  236. .ToList();
  237. }
  238. /// <summary>
  239. /// Gets all deviations to the specified with the specified status id
  240. /// </summary>
  241. /// <param name="id">Status identifier.</param>
  242. public IList<Core.Domain.Deviation.Deviation> GetDeviationsByStatus(int id)
  243. {
  244. return _deviationRepository.Table
  245. .Where(d => d.StatusId == id)
  246. .ToList();
  247. }
  248. /// <summary>
  249. /// Insert a status
  250. /// </summary>
  251. /// <param name="status">Status.</param>
  252. public void InsertStatus(Status status)
  253. {
  254. _statusRepository.Insert(status);
  255. }
  256. /// <summary>
  257. /// Update a status
  258. /// </summary>
  259. /// <param name="status">Status.</param>
  260. public void UpdateStatus(Status status)
  261. {
  262. _statusRepository.Update(status);
  263. }
  264. /// <summary>
  265. /// Delete a status
  266. /// </summary>
  267. /// <param name="status">Status.</param>
  268. public void DeleteStatus(Status status)
  269. {
  270. _statusRepository.Delete(status);
  271. }
  272. #endregion
  273. }
  274. }