c2d9843c4b9341abcd9dd99d1721418160383d59.svn-base 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Data.Entity;
  5. using System.Data.Entity.Infrastructure;
  6. using System.Linq;
  7. using System.Net;
  8. using System.Web;
  9. using System.Web.Http;
  10. using System.Web.Http.Description;
  11. using DevExpress.Office.Utils;
  12. using iBemsDataService.Model;
  13. using iBemsDataService.Util;
  14. using System.Transactions;
  15. using System.Diagnostics;
  16. namespace iBemsDataService.Controllers
  17. {
  18. public class FmsWorkHistoryController : ApiController
  19. {
  20. private iBemsEntities db = new iBemsEntities();
  21. [ResponseType(typeof(void))]
  22. [ActionName("Remove")]
  23. public IHttpActionResult PostFmsWorkHistoryRemove(FmsWorkHistory workRequest)
  24. {
  25. if (!ModelState.IsValid)
  26. {
  27. return BadRequest(ModelState);
  28. }
  29. try
  30. {
  31. using (var transaction = new TransactionScope())
  32. {
  33. var tempSiteId = workRequest.SiteId;
  34. var tempWorkRequestId = workRequest.WorkRequestId;
  35. var foundQuery = db.FmsWorkResultCheckItemMaterial.Where(x =>
  36. x.SiteId == tempSiteId &&
  37. x.WorkRequestId == tempWorkRequestId);
  38. foreach (var deleteItem in foundQuery)
  39. {
  40. db.FmsWorkResultCheckItemMaterial.Remove(deleteItem);
  41. }
  42. var foundQuery1 = db.FmsWorkResultCheckItem.Where(x =>
  43. x.SiteId == tempSiteId &&
  44. x.WorkRequestId == tempWorkRequestId);
  45. foreach (var deleteItem in foundQuery1)
  46. {
  47. db.FmsWorkResultCheckItem.Remove(deleteItem);
  48. }
  49. var foundQuery2 = db.FmsWorkResultFile.Where(x =>
  50. x.SiteId == tempSiteId &&
  51. x.WorkRequestId == tempWorkRequestId);
  52. foreach (var deleteItem in foundQuery2)
  53. {
  54. db.FmsWorkResultFile.Remove(deleteItem);
  55. }
  56. var foundQuery3 = db.FmsWorkResultLaw.Where(x =>
  57. x.SiteId == tempSiteId &&
  58. x.WorkRequestId == tempWorkRequestId);
  59. foreach (var deleteItem in foundQuery3)
  60. {
  61. db.FmsWorkResultLaw.Remove(deleteItem);
  62. }
  63. var foundQuery4 = db.FmsWorkResultToFacility.Where(x =>
  64. x.SiteId == tempSiteId &&
  65. x.WorkRequestId == tempWorkRequestId);
  66. foreach (var deleteItem in foundQuery4)
  67. {
  68. db.FmsWorkResultToFacility.Remove(deleteItem);
  69. }
  70. var foundQuery10 = db.FmsMaterialRelease.Where(x => //추가
  71. x.SiteId == tempSiteId &&
  72. x.WorkRequestId == tempWorkRequestId);
  73. foreach (var deleteItem in foundQuery10)
  74. {
  75. db.FmsMaterialRelease.Remove(deleteItem);
  76. }
  77. var foundQuery5 = db.FmsWorkResult.Where(x =>
  78. x.SiteId == tempSiteId &&
  79. x.WorkRequestId == tempWorkRequestId);
  80. foreach (var deleteItem in foundQuery5)
  81. {
  82. db.FmsWorkResult.Remove(deleteItem);
  83. }
  84. var foundQuery6 = db.FmsWorkOrderToFacility.Where(x =>
  85. x.SiteId == tempSiteId &&
  86. x.WorkRequestId == tempWorkRequestId);
  87. foreach (var deleteItem in foundQuery6)
  88. {
  89. db.FmsWorkOrderToFacility.Remove(deleteItem);
  90. }
  91. var foundQuery7 = db.FmsWorkOrder.Where(x =>
  92. x.SiteId == tempSiteId &&
  93. x.WorkRequestId == tempWorkRequestId);
  94. foreach (var deleteItem in foundQuery7)
  95. {
  96. db.FmsWorkOrder.Remove(deleteItem);
  97. }
  98. var foundQuery8 = db.FmsWorkRequestToFacility.Where(x =>
  99. x.SiteId == tempSiteId &&
  100. x.WorkRequestId == tempWorkRequestId);
  101. foreach (var deleteItem in foundQuery8)
  102. {
  103. db.FmsWorkRequestToFacility.Remove(deleteItem);
  104. }
  105. var foundQuery9 = db.FmsWorkRequest.Where(x =>
  106. x.SiteId == tempSiteId &&
  107. x.WorkRequestId == tempWorkRequestId);
  108. foreach (var deleteItem in foundQuery9)
  109. {
  110. db.FmsWorkRequest.Remove(deleteItem);
  111. }
  112. db.SaveChanges();
  113. transaction.Complete();
  114. }
  115. }
  116. catch (Exception)
  117. {
  118. throw;
  119. }
  120. return StatusCode(HttpStatusCode.NoContent);
  121. }
  122. protected override void Dispose(bool disposing)
  123. {
  124. if (disposing)
  125. {
  126. db.Dispose();
  127. }
  128. base.Dispose(disposing);
  129. }
  130. public class FmsWorkHistory
  131. {
  132. public int SiteId { get; set; }
  133. public int WorkRequestId { get; set; }
  134. public int WorkTypeId { get; set; }
  135. public int BusinessFieldId { get; set; }
  136. public int WorkScheduleId { get; set; }
  137. public int WorkProgressId { get; set; }
  138. public string Title { get; set; }
  139. public string Content { get; set; }
  140. public string RequestUserId { get; set; }
  141. public System.DateTime RequestDate { get; set; }
  142. public System.DateTime StartWorkDate { get; set; }
  143. public string RejectUserId { get; set; }
  144. public System.DateTime RejectDate { get; set; }
  145. public string RejectReason { get; set; }
  146. public int InspectionAgencyId { get; set; }
  147. }
  148. }
  149. }