| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 | 
							- using System;
 
- using System.Collections;
 
- using System.Collections.Generic;
 
- using System.Data.Entity;
 
- using System.Data.Entity.Infrastructure;
 
- using System.Linq;
 
- using System.Net;
 
- using System.Web;
 
- using System.Web.Http;
 
- using System.Web.Http.Description;
 
- using DevExpress.Office.Utils;
 
- using iBemsDataService.Model;
 
- using iBemsDataService.Util;
 
- namespace iBemsDataService.Controllers
 
- {
 
-     public class FmsBudgetDetailController : ApiController
 
-     {
 
-         private iBemsEntities db = new iBemsEntities();
 
-         // GET: odata/FmsBudgetCodeClassEx
 
-         [Queryable]
 
-         public List<FmsBudgetDetail> GetFmsBudgetDetail()
 
-         {
 
-             var list = db.FmsBudgetDetail.Where(a => a.Depth == 2).ToList();
 
-             
 
-             var codeList = db.FmsBudgetCodeClass.ToList();
 
-             foreach (var item in list)
 
-             {
 
-                 item.RootBudgetName = codeList.Where(a => a.BudgetClassId == item.RootBudgetClassId).FirstOrDefault().Name;
 
-                 item.ParentBudgetName = codeList.Where(a => a.BudgetClassId == item.ParentBudgetClassId).FirstOrDefault().Name;
 
-             }
 
-             return list;
 
-         }
 
-         // POST: api/FmsBudgetDetail
 
-         [ResponseType(typeof(void))]
 
-         [ActionName("Save")]
 
-         public IHttpActionResult PostFmsBudgetDetail(List<FmsBudgetDetail> budgetList)
 
-         {
 
-             Uri uri = Request.RequestUri;
 
-             var uriQuery = HttpUtility.ParseQueryString(uri.Query);
 
-             int siteId, year;
 
-             if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false ||
 
-                 int.TryParse(uriQuery.Get("Year"), out year) == false)
 
-             {
 
-                 return BadRequest("Not Found Parameters.");
 
-             }
 
-             try
 
-             {
 
-                 // 예산편성 등록시 실적 코드도 미리 생성 
 
-                 foreach (var detailItem in budgetList)
 
-                 {
 
-                     for (int i = 1; i <= 12; i++)
 
-                     {
 
-                         FmsBudgetDetailExecution execution = new FmsBudgetDetailExecution()
 
-                         {
 
-                             BudgetClassId = detailItem.BudgetClassId,
 
-                             Month = i,
 
-                             Year = detailItem.Year,
 
-                             MonthlyExecution = 0,
 
-                             YearlyExecution = 0,
 
-                             MonthlyBudget = detailItem.MonthlyBudget,
 
-                             YearlyBudget = detailItem.YearlyBudget,
 
-                             RootBudgetClassId = detailItem.RootBudgetClassId,
 
-                             ParentBudgetClassId = detailItem.ParentBudgetClassId,
 
-                             SiteId = detailItem.SiteId,
 
-                         };
 
-                         detailItem.FmsBudgetDetailExecution.Add(execution);
 
-                     }
 
-                 }
 
-                 FmsBudget budget = new FmsBudget() 
 
-                 {
 
-                     SiteId = siteId,
 
-                     Year = year,
 
-                     FmsBudgetDetail = budgetList
 
-                 };
 
-                 db.FmsBudget.Add(budget);
 
-                 db.SaveChanges();
 
-             }
 
-             catch (Exception) { throw; }
 
-             return StatusCode(HttpStatusCode.NoContent);
 
-         }
 
-         // POST: api/FmsBudgetDetail
 
-         [ResponseType(typeof(void))]
 
-         [ActionName("Update")]
 
-         public IHttpActionResult PostFmsBudgetDetailUpdate(List<FmsBudgetDetail> budgetList)
 
-         {
 
-             Uri uri = Request.RequestUri;
 
-             var uriQuery = HttpUtility.ParseQueryString(uri.Query);
 
-             int siteId, year;
 
-             if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false ||
 
-                 int.TryParse(uriQuery.Get("Year"), out year) == false)
 
-             {
 
-                 return BadRequest("Not Found Parameters.");
 
-             }
 
-             try
 
-             {
 
-                 //var query = from d in db.FmsBudgetDetail
 
-                 //            where d.SiteId == siteId && d.Year == year
 
-                 //            select d;
 
-                 //var qm = new QueryManager<FmsBudgetDetail>(db);
 
-                 //qm.DeleteAndInsert(db.FmsBudgetDetail, budgetList, query);
 
-                 
 
-                 foreach (var item in budgetList)
 
- 	            {
 
-                     db.FmsBudgetDetail.Attach(item);
 
-                     DbEntityEntry<FmsBudgetDetail> entry = db.Entry(item);
 
-                     entry.State = System.Data.EntityState.Modified;
 
-                     var updateED = (from us in db.FmsBudgetDetailExecution
 
-                                     where us.SiteId == siteId && us.Year == item.Year && us.BudgetClassId == item.BudgetClassId && us.ParentBudgetClassId == item.ParentBudgetClassId
 
-                         select us);
 
-                     foreach (var ED in updateED)
 
-                         ED.MonthlyBudget = item.MonthlyBudget;
 
- 	            }
 
-                 db.SaveChanges();
 
-             }
 
-             catch (Exception) { throw; }
 
-             return StatusCode(HttpStatusCode.NoContent);
 
-         }
 
-         [ResponseType(typeof(void))]
 
-         [ActionName("Delete")]
 
-         public IHttpActionResult PostFmsBudgetDetail()
 
-         {
 
-             Uri uri = Request.RequestUri;
 
-             var uriQuery = HttpUtility.ParseQueryString(uri.Query);
 
-             int siteId, year;
 
-             if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false ||
 
-                 int.TryParse(uriQuery.Get("Year"), out year) == false)
 
-             {
 
-                 return BadRequest("Not Found Parameters.");
 
-             }
 
-             try
 
-             {
 
-                 var budgetED = db.FmsBudgetDetailExecution
 
-                     .Where(b => b.SiteId == siteId && b.Year == year);
 
-                 foreach (var deleteItem in budgetED)
 
-                 {
 
-                     db.FmsBudgetDetailExecution.Remove(deleteItem);
 
-                 }
 
-                 var budgetE = db.FmsBudgetDetail
 
-                     .Where(b => b.SiteId == siteId && b.Year == year);
 
-                 foreach (var deleteItem in budgetE)
 
-                 {
 
-                     db.FmsBudgetDetail.Remove(deleteItem);
 
-                 }
 
-                 var budget = db.FmsBudget
 
-                     .Where(b => b.SiteId == siteId && b.Year == year)
 
-                     .FirstOrDefault();
 
-                 if (budget != null)
 
-                 {
 
-                     db.FmsBudget.Remove(budget);
 
-                 }
 
-                 db.SaveChanges();
 
-             }
 
-             catch (Exception) { throw; }
 
-             return StatusCode(HttpStatusCode.NoContent);
 
-         }
 
-         protected override void Dispose(bool disposing)
 
-         {
 
-             if (disposing)
 
-             {
 
-                 db.Dispose();
 
-             }
 
-             base.Dispose(disposing);
 
-         }
 
-     }
 
- }
 
- namespace iBemsDataService.Model
 
- {
 
-     public partial class FmsBudgetDetail
 
-     {
 
-         public string RootBudgetName { get; set; }
 
-         public string ParentBudgetName { get; set; }
 
-     }
 
- }
 
 
  |