123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- 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.Controllers.Fms.WorkManagement.ScheduledTask;
- using iBemsDataService.Model;
- using iBemsDataService.Util;
- namespace iBemsDataService.Controllers
- {
- public class FmsWorkScheduleToFacilityController : ApiController
- {
- private iBemsEntities db = new iBemsEntities();
- // POST: api/FmsWorkScheduleToFacility
- [ResponseType(typeof(void))]
- [ActionName("Insert")]
- public IHttpActionResult PostFmsWorkScheduleToFacility(List<WorkScheduleToFacility> workScheduleToFacilities)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- Uri uri = Request.RequestUri;
- var uriQuery = HttpUtility.ParseQueryString(uri.Query);
- int siteId, workScheduleId;
- if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false ||
- int.TryParse(uriQuery.Get("WorkScheduleId"), out workScheduleId) == false)
- {
- return BadRequest("Not Found Parameters.");
- }
- var query = from d in db.FmsWorkScheduleToFacility
- where d.SiteId == siteId &&
- d.WorkScheduleId == workScheduleId
- select d;
- var qm = new QueryManager<FmsWorkScheduleToFacility>(db);
- try
- {
- qm.DeleteAndInsert(db.FmsWorkScheduleToFacility, workScheduleToFacilities, query);
- // 실행계획 관련 스케줄러 실행
- var workSchedule = db.FmsWorkSchedule
- .Where(s => s.WorkScheduleId == workScheduleId)
- .FirstOrDefault();
- if (workSchedule != null)
- {
- // if (workSchedule.WorkDueDate.Date == DateTime.Now.Date.Date ||
- // workSchedule.WorkDueDate.Date == DateTime.Now.AddDays(1).Date)
- // 무조건 동작하기로 수정 2016 04 04 hcLee
- {
- // 작업계획이 오늘이나 내일이면 실행계획으로 들어가야 함.
- // 관련 스케줄러를 강제로 실행
- WorkExecutionPlanJob tempJob = new WorkExecutionPlanJob();
- tempJob.Execute(null);
- }
- }
- }
- catch (DbUpdateException e) { throw e; }
- return StatusCode(HttpStatusCode.NoContent);
- }
- [ResponseType(typeof(void))]
- [ActionName("Delete")]
- public IHttpActionResult PostFmsWorkScheduleToFacilityDelete(WorkScheduleToFacility workScheduleToFacilities)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- Uri uri = Request.RequestUri;
- var uriQuery = HttpUtility.ParseQueryString(uri.Query);
- int siteId, workScheduleId;
- if (int.TryParse(uriQuery.Get("SiteId"), out siteId) == false ||
- int.TryParse(uriQuery.Get("WorkScheduleId"), out workScheduleId) == false)
- {
- return BadRequest("Not Found Parameters.");
- }
- var query = from d in db.FmsWorkScheduleToFacility
- where d.SiteId == siteId &&
- d.WorkScheduleId == workScheduleId
- select d;
- try
- {
- foreach (var deleteItem in query)
- {
- db.FmsWorkScheduleToFacility.Remove(deleteItem);
- }
- db.SaveChanges();
- // 실행계획 관련 스케줄러 실행
- var workSchedule = db.FmsWorkSchedule
- .Where(s => s.WorkScheduleId == workScheduleId)
- .FirstOrDefault();
- if (workSchedule != null)
- {
- // if (workSchedule.WorkDueDate.Date == DateTime.Now.Date.Date ||
- // workSchedule.WorkDueDate.Date == DateTime.Now.AddDays(1).Date)
- // 무조건 동작하기로 수정 2016 04 04 hcLee
- {
- // 작업계획이 오늘이나 내일이면 실행계획으로 들어가야 함.
- // 관련 스케줄러를 강제로 실행
- WorkExecutionPlanJob tempJob = new WorkExecutionPlanJob();
- tempJob.Execute(null);
- }
- }
- }
- catch (DbUpdateException e) { throw e; }
- return StatusCode(HttpStatusCode.NoContent);
- }
- protected override void Dispose(bool disposing)
- {
- if (disposing)
- {
- db.Dispose();
- }
- base.Dispose(disposing);
- }
- }
- public class WorkScheduleToFacility
- {
- public int SiteId { get; set; }
- public int WorkScheduleId { get; set; }
- public int FacilityCode { get; set; }
- };
- }
|