364be57e58c9c12c87968eb1d3ccf3783af19817.svn-base 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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 FmsConstructionEstimationController : ApiController
  21. {
  22. private iBemsEntities db = new iBemsEntities();
  23. [ResponseType(typeof(void))]
  24. public IHttpActionResult PostFmsConstructionEstimation(FmsConstructionEstimation estimateInfo)
  25. {
  26. Uri uri = Request.RequestUri;
  27. var uriQuery = HttpUtility.ParseQueryString(uri.Query);
  28. int siteId, constructionId;
  29. if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false ||
  30. int.TryParse(uriQuery.Get("ConstructionId"), out constructionId) == false)
  31. {
  32. return BadRequest("Not Found Parameters.");
  33. }
  34. try
  35. {
  36. estimateInfo.TotalEstimateScore = estimateInfo.AbilityScore + estimateInfo.SafetyScore + estimateInfo.ServiceScore;
  37. db.FmsConstructionEstimation.Add(estimateInfo);
  38. var construction = db.FmsConstruction.Where(c =>
  39. c.SiteId == siteId &&
  40. c.ConstructionId == constructionId
  41. ).FirstOrDefault();
  42. if (construction == null) { return StatusCode(HttpStatusCode.NoContent); }
  43. construction.ProgressId = 4;
  44. construction.UpdateDate = DateTime.Now;
  45. db.SaveChanges();
  46. }
  47. catch (DbUpdateException e) { throw e; }
  48. return StatusCode(HttpStatusCode.NoContent);
  49. }
  50. protected override void Dispose(bool disposing)
  51. {
  52. if (disposing)
  53. {
  54. db.Dispose();
  55. }
  56. base.Dispose(disposing);
  57. }
  58. }
  59. }