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 FmsWorkResultCheckItemMaterialController : ApiController { private iBemsEntities db = new iBemsEntities(); // POST: api/FmsWorkResultCheckItemMaterial [ResponseType( typeof( void ) )] [ActionName("Update")] public IHttpActionResult PostFmsWorkResultCheckItemMaterial( List workResultCheckItemMaterials ) { if ( !ModelState.IsValid ) { return BadRequest( ModelState ); } Uri uri = Request.RequestUri; var uriQuery = HttpUtility.ParseQueryString( uri.Query ); int siteId, workRequestId, businessFieldId , checkItemId; if( int.TryParse( uriQuery.Get( "SiteId" ) , out siteId ) == false || int.TryParse(uriQuery.Get("WorkRequestId"), out workRequestId) == false || int.TryParse(uriQuery.Get("BusinessFieldId"), out businessFieldId) == false || int.TryParse(uriQuery.Get("CheckItemId"), out checkItemId) == false) { return BadRequest( "Not Found Parameters." ); } var query = from d in db.FmsWorkResultCheckItemMaterial where d.SiteId == siteId && d.WorkRequestId == workRequestId && d.CheckItemId == checkItemId select d; var qm = new QueryManager(db); try { qm.DeleteAndInsert(db.FmsWorkResultCheckItemMaterial, workResultCheckItemMaterials, query); } catch (DbUpdateException e) { throw e; } return StatusCode( HttpStatusCode.NoContent ); } // POST: api/FmsWorkResultCheckItemMaterial [ResponseType(typeof(void))] [ActionName("Approval")] public IHttpActionResult PostFmsWorkResultCheckItemMaterialApproval(List workResultCheckItemMaterials) { if (!ModelState.IsValid) { return BadRequest(ModelState); } Uri uri = Request.RequestUri; var uriQuery = HttpUtility.ParseQueryString(uri.Query); int siteId, workRequestId, businessFieldId, checkItemId; if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false || int.TryParse(uriQuery.Get("WorkRequestId"), out workRequestId) == false || int.TryParse(uriQuery.Get("BusinessFieldId"), out businessFieldId) == false || int.TryParse(uriQuery.Get("CheckItemId"), out checkItemId) == false) { return BadRequest("Not Found Parameters."); } var query = from d in db.FmsWorkResultCheckItemMaterial where d.SiteId == siteId && d.WorkRequestId == workRequestId // && d.CheckItemId == checkItemId select d; var qm = new QueryManager(db); try { qm.DeleteAndInsert(db.FmsWorkResultCheckItemMaterial, workResultCheckItemMaterials, 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 WorkResultCheckItemMaterial { public int SiteId { get; set; } //public int BusinessFieldId { get; set; } public int WorkRequestId { get; set; } public int MaterialId { get; set; } public int MaterialCount { get; set; } public int CheckItemId { get; set; } public string MaterialCode { get; set; } public string Name { get; set; } }; }