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 FmsMaterialPurchaseRequestController : ApiController { private iBemsEntities db = new iBemsEntities(); [ResponseType( typeof( void ) )] [ActionName( "Approval" )] public IHttpActionResult PostFmsMaterialPurchaseRequest( PurchaseRequestAppovalInfo info ) { if ( !ModelState.IsValid ) { return BadRequest( ModelState ); } if( info.UserId == null || info.UserId.IsEmpty() || info.PurchaseRequests == null || info.PurchaseRequests.IsEmpty() ) { return BadRequest( "Not Found Parameters." ); } try { var purchaseRequests = info.PurchaseRequests; foreach( var p in purchaseRequests ) { var purchaseRequest = db.FmsMaterialPurchaseRequest.Where( x => x.SiteId == p.SiteId && x.BusinessFieldId == p.BusinessFieldId && x.PurchaseRequestId == p.PurchaseRequestId ).First(); purchaseRequest.ProgressId = (short)PurchaseProgress.PURCHASE_REQUEST_APPROVAL; purchaseRequest.ApprovalUserId = info.UserId; purchaseRequest.ApprovalDate = DateTime.Now; } db.SaveChanges(); } catch( DbUpdateException e ) { { throw e; } } return StatusCode( HttpStatusCode.NoContent ); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } } public class PurchaseRequestAppovalInfo { public string UserId { get; set; } public List PurchaseRequests { get; set; } } public class PurchaseRequest { public int SiteId { get; set; } public int BusinessFieldId { get; set; } public int PurchaseRequestId { get; set; } }; }