6b3d5eb4c4c5e94a7e0fe416bc1e533b563b4919.svn-base 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Data.Entity;
  5. using System.Data.Entity.Infrastructure;
  6. using System.Linq;
  7. using System.Net;
  8. using System.Web;
  9. using System.Web.Http;
  10. using System.Web.Http.Description;
  11. using DevExpress.Office.Utils;
  12. using iBemsDataService.Model;
  13. using iBemsDataService.Util;
  14. using System.Transactions;
  15. using System.Diagnostics;
  16. namespace iBemsDataService.Controllers
  17. {
  18. public class BemsControlAHUTempConfigController : ApiController
  19. {
  20. private iBemsEntities db = new iBemsEntities();
  21. [ResponseType(typeof(void))]
  22. [ActionName("Insert")]
  23. public IHttpActionResult PostBemsControlAHUTempConfigInsert(ControlAHUTempConfig ControlAHUTempConfig)
  24. {
  25. if (!ModelState.IsValid)
  26. {
  27. return BadRequest(ModelState);
  28. }
  29. try
  30. {
  31. // 그룹을 추가하면서 메뉴들을 그룹에 맞는 권한 테이블로 모두 옮겨 놓는다.
  32. using (var transaction = new TransactionScope())
  33. {
  34. var newPriceFormula = db.BemsControlAHUTempConfig.Add(new BemsControlAHUTempConfig
  35. {
  36. SiteId = ControlAHUTempConfig.SiteId,
  37. FacilityTypeId = ControlAHUTempConfig.FacilityTypeId,
  38. FacilityCode = ControlAHUTempConfig.FacilityCode,
  39. MaxTemperature = Math.Round(ControlAHUTempConfig.MaxTemperature * 100) / 100.0,
  40. MinTemperature = Math.Round(ControlAHUTempConfig.MinTemperature * 100) / 100.0,
  41. });
  42. db.SaveChanges();
  43. transaction.Complete();
  44. }
  45. }
  46. catch (Exception)
  47. {
  48. throw;
  49. }
  50. return StatusCode(HttpStatusCode.NoContent);
  51. }
  52. [ResponseType(typeof(void))]
  53. [ActionName("InsertAll")]
  54. public IHttpActionResult PostBemsPriceFormulaInsertAll(List<ControlAHUTempConfig> ControlAHUTempConfig)
  55. {
  56. if (!ModelState.IsValid)
  57. {
  58. return BadRequest(ModelState);
  59. }
  60. try
  61. {
  62. using (var transaction = new TransactionScope())
  63. {
  64. foreach (var m in ControlAHUTempConfig)
  65. {
  66. var foundQuery = db.BemsControlAHUTempConfig.Where(
  67. x =>
  68. x.SiteId == m.SiteId &&
  69. x.FacilityTypeId == m.FacilityTypeId &&
  70. x.FacilityCode == m.FacilityCode);
  71. if (foundQuery.Any() == false)
  72. {
  73. var newM = db.BemsControlAHUTempConfig.Add(new BemsControlAHUTempConfig
  74. {
  75. SiteId = m.SiteId,
  76. FacilityTypeId = m.FacilityTypeId,
  77. FacilityCode = m.FacilityCode,
  78. MaxTemperature = m.MaxTemperature,
  79. MinTemperature = m.MinTemperature
  80. });
  81. }
  82. }
  83. db.SaveChanges();
  84. transaction.Complete();
  85. }
  86. }
  87. catch (Exception)
  88. {
  89. throw;
  90. }
  91. return StatusCode(HttpStatusCode.NoContent);
  92. }
  93. [ResponseType(typeof(void))]
  94. [ActionName("DeleteAll")]
  95. public IHttpActionResult PostBemsPriceFormulaDeleteAll(ControlAHUTempConfig ControlAHUTempConfig)
  96. {
  97. if (!ModelState.IsValid)
  98. {
  99. return BadRequest(ModelState);
  100. }
  101. try
  102. {
  103. using (var transaction = new TransactionScope())
  104. {
  105. var foundQuery = db.BemsControlAHUTempConfig.Where(
  106. x =>
  107. x.SiteId == ControlAHUTempConfig.SiteId &&
  108. x.FacilityTypeId == ControlAHUTempConfig.FacilityTypeId &&
  109. x.FacilityCode == ControlAHUTempConfig.FacilityCode);
  110. //db.BemsPriceFormula.Remove(foundQuery.FirstOrDefault()); 한개만 지운다
  111. new QueryManager<BemsControlAHUTempConfig>(db).Delete(db.BemsControlAHUTempConfig, foundQuery);
  112. db.SaveChanges();
  113. transaction.Complete();
  114. }
  115. }
  116. catch (Exception)
  117. {
  118. throw;
  119. }
  120. return StatusCode(HttpStatusCode.NoContent);
  121. }
  122. [ResponseType(typeof(void))]
  123. [ActionName("Update")]
  124. public IHttpActionResult PostBemsPriceFormulaUpdate(ControlAHUTempConfig ControlAHUTempConfig)
  125. {
  126. if (!ModelState.IsValid)
  127. {
  128. return BadRequest(ModelState);
  129. }
  130. try
  131. {
  132. using (var transaction = new TransactionScope())
  133. {
  134. var foundQuery = db.BemsControlAHUTempConfig.Where(
  135. x =>
  136. x.SiteId == ControlAHUTempConfig.SiteId &&
  137. x.FacilityTypeId == ControlAHUTempConfig.FacilityTypeId &&
  138. x.FacilityCode == ControlAHUTempConfig.FacilityCode
  139. );
  140. new QueryManager<BemsControlAHUTempConfig>(db).Delete(db.BemsControlAHUTempConfig, foundQuery);
  141. var newPriceFormula = db.BemsControlAHUTempConfig.Add(new BemsControlAHUTempConfig
  142. {
  143. SiteId = ControlAHUTempConfig.SiteId,
  144. FacilityTypeId = ControlAHUTempConfig.FacilityTypeId,
  145. FacilityCode = ControlAHUTempConfig.FacilityCode,
  146. MaxTemperature = Math.Round(ControlAHUTempConfig.MaxTemperature * 100) / 100.0,
  147. MinTemperature = Math.Round(ControlAHUTempConfig.MinTemperature * 100) / 100.0
  148. });
  149. db.SaveChanges();
  150. transaction.Complete();
  151. }
  152. }
  153. catch (Exception)
  154. {
  155. throw;
  156. }
  157. return StatusCode(HttpStatusCode.NoContent);
  158. }
  159. protected override void Dispose(bool disposing)
  160. {
  161. if (disposing)
  162. {
  163. db.Dispose();
  164. }
  165. base.Dispose(disposing);
  166. }
  167. public class ControlAHUTempConfig
  168. {
  169. public int SiteId { get; set; }
  170. public int FacilityTypeId { get; set; }
  171. public int FacilityCode { get; set; }
  172. public float MaxTemperature { get; set; }
  173. public float MinTemperature { get; set; }
  174. };
  175. }
  176. }