| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 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 FmsWorkResultToFacilityController : ApiController    {        private iBemsEntities db = new iBemsEntities();        // POST: api/FmsWorkResultToFacility        [ResponseType( typeof( void ) )]        public IHttpActionResult PostFmsWorkResultToFacility( List<WorkResultToFacility> workResultToFacilities )        {            if ( !ModelState.IsValid )            {                return BadRequest( ModelState );            }                        Uri uri = Request.RequestUri;            var uriQuery = HttpUtility.ParseQueryString( uri.Query );            int siteId, workRequestId;            if( int.TryParse( uriQuery.Get( "SiteId" ) , out siteId ) == false ||                int.TryParse( uriQuery.Get( "WorkRequestId" ) , out workRequestId ) == false )            {                return BadRequest( "Not Found Parameters." );            }            var query = from d in db.FmsWorkResultToFacility                        where d.SiteId == siteId &&                              d.WorkRequestId == workRequestId                        select d;            var qm = new QueryManager<FmsWorkResultToFacility>( db );            try            {                qm.DeleteAndInsert(db.FmsWorkResultToFacility, workResultToFacilities, query);                var updateRequestQuery = (                    from u in db.FmsWorkRequest                    where u.SiteId == siteId &&                        u.WorkRequestId == workRequestId                    select u).FirstOrDefault();                // 작업상태가 대기인 경우 작업중으로 변경                if (updateRequestQuery.WorkProgressId == (short)WorkProgress.WORK_STANDBY)                {                    updateRequestQuery.WorkProgressId = (short)WorkProgress.WORKING;                    db.SaveChanges();                }            }            catch( DbUpdateException e ) { throw e; }                        return StatusCode( HttpStatusCode.NoContent );        }        protected override void Dispose(bool disposing)        {            if (disposing)            {                db.Dispose();            }            base.Dispose(disposing);        }    }    public class WorkResultToFacility    {        public int SiteId { get; set; }        public int WorkRequestId { get; set; }        public int FacilityCode { get; set; }    };}
 |