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 FmsConstructionEstimationController : ApiController { private iBemsEntities db = new iBemsEntities(); [ResponseType(typeof(void))] public IHttpActionResult PostFmsConstructionEstimation(FmsConstructionEstimation estimateInfo) { Uri uri = Request.RequestUri; var uriQuery = HttpUtility.ParseQueryString(uri.Query); int siteId, constructionId; if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false || int.TryParse(uriQuery.Get("ConstructionId"), out constructionId) == false) { return BadRequest("Not Found Parameters."); } try { estimateInfo.TotalEstimateScore = estimateInfo.AbilityScore + estimateInfo.SafetyScore + estimateInfo.ServiceScore; db.FmsConstructionEstimation.Add(estimateInfo); var construction = db.FmsConstruction.Where(c => c.SiteId == siteId && c.ConstructionId == constructionId ).FirstOrDefault(); if (construction == null) { return StatusCode(HttpStatusCode.NoContent); } construction.ProgressId = 4; construction.UpdateDate = 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); } } }