FmsWorkRequestToFacilityController.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.Entity;
  5. using System.Data.Entity.Infrastructure;
  6. using System.Diagnostics;
  7. using System.Linq;
  8. using System.Net;
  9. using System.Net.Http;
  10. using System.Web;
  11. using System.Web.Http;
  12. using System.Web.Http.Description;
  13. using DevExpress.XtraCharts.Native;
  14. using DevExpress.XtraPrinting.Native;
  15. using iBemsDataService;
  16. using iBemsDataService.Model;
  17. using iBemsDataService.Util;
  18. namespace iBemsDataService.Controllers
  19. {
  20. public class FmsWorkRequestToFacilityController : ApiController
  21. {
  22. private iBemsEntities db = new iBemsEntities();
  23. // POST: api/FmsWorkRequestToFacility
  24. [ResponseType(typeof(void))]
  25. [ActionName("Insert")]
  26. public IHttpActionResult PostFmsWorkRequestToFacility(List<WorkRequestToFacility> workRequestToFacilities)
  27. {
  28. if (!ModelState.IsValid)
  29. {
  30. return BadRequest(ModelState);
  31. }
  32. Uri uri = Request.RequestUri;
  33. var uriQuery = HttpUtility.ParseQueryString(uri.Query);
  34. int siteId, workRequestId;
  35. if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false ||
  36. int.TryParse(uriQuery.Get("WorkRequestId"), out workRequestId) == false)
  37. {
  38. return BadRequest("Not Found Parameters.");
  39. }
  40. var query = from d in db.FmsWorkRequestToFacility
  41. where d.SiteId == siteId &&
  42. d.WorkRequestId == workRequestId
  43. select d;
  44. var qm = new QueryManager<FmsWorkRequestToFacility>(db);
  45. try
  46. {
  47. qm.DeleteAndInsert(db.FmsWorkRequestToFacility, workRequestToFacilities, query);
  48. }
  49. catch (DbUpdateException e)
  50. {
  51. {
  52. throw e;
  53. }
  54. }
  55. return StatusCode(HttpStatusCode.NoContent);
  56. }
  57. [ResponseType(typeof(void))]
  58. [ActionName("Delete")]
  59. public IHttpActionResult PostFmsWorkRequestToFacilityDelete(WorkRequestToFacility workRequestToFacilities)
  60. {
  61. if (!ModelState.IsValid)
  62. {
  63. return BadRequest(ModelState);
  64. }
  65. Uri uri = Request.RequestUri;
  66. var uriQuery = HttpUtility.ParseQueryString(uri.Query);
  67. int siteId, workRequestId;
  68. if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false ||
  69. int.TryParse(uriQuery.Get("WorkRequestId"), out workRequestId) == false)
  70. {
  71. return BadRequest("Not Found Parameters.");
  72. }
  73. var query = from d in db.FmsWorkRequestToFacility
  74. where d.SiteId == siteId &&
  75. d.WorkRequestId == workRequestId
  76. select d;
  77. try
  78. {
  79. foreach (var deleteItem in query)
  80. {
  81. db.FmsWorkRequestToFacility.Remove(deleteItem);
  82. }
  83. db.SaveChanges();
  84. }
  85. catch (Exception) { throw; }
  86. return StatusCode(HttpStatusCode.NoContent);
  87. }
  88. protected override void Dispose(bool disposing)
  89. {
  90. if (disposing)
  91. {
  92. db.Dispose();
  93. }
  94. base.Dispose(disposing);
  95. }
  96. }
  97. public class WorkRequestToFacility
  98. {
  99. public int SiteId { get; set; }
  100. public int WorkRequestId { get; set; }
  101. public int FacilityCode { get; set; }
  102. };
  103. }