9afad4640cc4f8a43dc69068ccc3ee76a28b4c73.svn-base 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. namespace iBemsDataService.Controllers
  15. {
  16. public class FmsWorkOrderToFacilityController : ApiController
  17. {
  18. private iBemsEntities db = new iBemsEntities();
  19. // POST: api/FmsWorkOrderToToFacility
  20. [ResponseType( typeof ( void ) )]
  21. public IHttpActionResult PostFmsWorkOrderToFacility(
  22. List<WorkOrderToFacility> workOrderToFacilities )
  23. {
  24. if ( !ModelState.IsValid )
  25. {
  26. return BadRequest( ModelState );
  27. }
  28. Uri uri = Request.RequestUri;
  29. var uriQuery = HttpUtility.ParseQueryString( uri.Query );
  30. int siteId, workRequestId;
  31. if( int.TryParse( uriQuery.Get( "SiteId" ) , out siteId ) == false ||
  32. int.TryParse( uriQuery.Get( "WorkRequestId" ) , out workRequestId ) == false )
  33. {
  34. return BadRequest("Not Found Parameters.");
  35. }
  36. var query = from d in db.FmsWorkOrderToFacility
  37. where d.SiteId == siteId &&
  38. d.WorkRequestId == workRequestId
  39. select d;
  40. var qm = new QueryManager<FmsWorkOrderToFacility>( db );
  41. try
  42. {
  43. qm.DeleteAndInsert( db.FmsWorkOrderToFacility , workOrderToFacilities , query );
  44. }
  45. catch ( Exception )
  46. {
  47. throw;
  48. }
  49. return StatusCode( HttpStatusCode.NoContent );
  50. }
  51. protected override void Dispose(bool disposing)
  52. {
  53. if (disposing)
  54. {
  55. db.Dispose();
  56. }
  57. base.Dispose(disposing);
  58. }
  59. private bool FmsWorkOrderToFacilityExists( int id )
  60. {
  61. return db.FmsWorkOrderToFacility.Count( e => e.SiteId == id ) > 0;
  62. }
  63. }
  64. public class WorkOrderToFacility
  65. {
  66. public int SiteId { get; set; }
  67. public int WorkRequestId { get; set; }
  68. public int FacilityCode { get; set; }
  69. };
  70. }