511cd03f817cbba49658e2ed7f6c2d3fdbcc595c.svn-base 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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 FmsMaterialPurchaseRequestMaterialController : ApiController
  21. {
  22. private iBemsEntities db = new iBemsEntities();
  23. [ResponseType( typeof( void ) )]
  24. public IHttpActionResult PostFmsMaterialPurchaseRequestMaterial( List<PurchaseRequestMaterial> materials )
  25. {
  26. if ( !ModelState.IsValid )
  27. {
  28. return BadRequest( ModelState );
  29. }
  30. Uri uri = Request.RequestUri;
  31. var uriQuery = HttpUtility.ParseQueryString( uri.Query );
  32. int siteId, businessFieldId, purchaseRequestId;
  33. if( int.TryParse( uriQuery.Get( "SiteId" ) , out siteId ) == false ||
  34. int.TryParse( uriQuery.Get( "BusinessFieldId" ) , out businessFieldId ) == false ||
  35. int.TryParse( uriQuery.Get( "PurchaseRequestId" ) , out purchaseRequestId ) == false )
  36. {
  37. return BadRequest( "Not Found Parameters." );
  38. }
  39. var query = from d in db.FmsMaterialPurchaseRequestMaterial
  40. where d.SiteId == siteId &&
  41. d.BusinessFieldId == businessFieldId &&
  42. d.PurchaseRequestId == purchaseRequestId
  43. select d;
  44. var qm = new QueryManager<FmsMaterialPurchaseRequestMaterial>( db );
  45. try
  46. {
  47. qm.DeleteAndInsert( db.FmsMaterialPurchaseRequestMaterial , materials , query );
  48. }
  49. catch( DbUpdateException e )
  50. {
  51. {
  52. throw e;
  53. }
  54. }
  55. return StatusCode( HttpStatusCode.NoContent );
  56. }
  57. protected override void Dispose(bool disposing)
  58. {
  59. if (disposing)
  60. {
  61. db.Dispose();
  62. }
  63. base.Dispose(disposing);
  64. }
  65. }
  66. public class PurchaseRequestMaterial
  67. {
  68. public int SiteId { get; set; }
  69. public int BusinessFieldId { get; set; }
  70. public int PurchaseRequestId { get; set; }
  71. public int MaterialId { get; set; }
  72. public int MaterialCount { get; set; }
  73. };
  74. }