using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Data.Entity.Infrastructure; using System.Diagnostics; using System.Linq; using System.Net; using System.Net.Http; using System.Web; using System.Web.Http; using System.Web.Http.Description; using DevExpress.XtraCharts.Native; using DevExpress.XtraPrinting.Native; using iBemsDataService; using iBemsDataService.Model; using iBemsDataService.Util; namespace iBemsDataService.Controllers { public class FmsMaterialPurchaseRequestMaterialController : ApiController { private iBemsEntities db = new iBemsEntities(); [ResponseType( typeof( void ) )] public IHttpActionResult PostFmsMaterialPurchaseRequestMaterial( List materials ) { if ( !ModelState.IsValid ) { return BadRequest( ModelState ); } Uri uri = Request.RequestUri; var uriQuery = HttpUtility.ParseQueryString( uri.Query ); int siteId, businessFieldId, purchaseRequestId; if( int.TryParse( uriQuery.Get( "SiteId" ) , out siteId ) == false || int.TryParse( uriQuery.Get( "BusinessFieldId" ) , out businessFieldId ) == false || int.TryParse( uriQuery.Get( "PurchaseRequestId" ) , out purchaseRequestId ) == false ) { return BadRequest( "Not Found Parameters." ); } var query = from d in db.FmsMaterialPurchaseRequestMaterial where d.SiteId == siteId && d.BusinessFieldId == businessFieldId && d.PurchaseRequestId == purchaseRequestId select d; var qm = new QueryManager( db ); try { qm.DeleteAndInsert( db.FmsMaterialPurchaseRequestMaterial , materials , query ); } catch( DbUpdateException e ) { { throw e; } } return StatusCode( HttpStatusCode.NoContent ); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } } public class PurchaseRequestMaterial { public int SiteId { get; set; } public int BusinessFieldId { get; set; } public int PurchaseRequestId { get; set; } public int MaterialId { get; set; } public int MaterialCount { get; set; } }; }