12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 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;
- using System.Transactions;
- // hcLee 2015 03 06 작성
- namespace iBemsDataService.Controllers
- {
- public class FmsWorkCodeCauseClassController : ApiController
- {
- private iBemsEntities db = new iBemsEntities();
- [ResponseType( typeof( void ) )]
- public IHttpActionResult DeleteFmsWorkCodeCauseClass()
- {
- if ( !ModelState.IsValid )
- {
- return BadRequest( ModelState );
- }
- Uri uri = Request.RequestUri;
- var uriQuery = HttpUtility.ParseQueryString( uri.Query );
- int siteId, causeClassId;
- if( int.TryParse( uriQuery.Get( "SiteId" ) , out siteId ) == false ||
- int.TryParse(uriQuery.Get("CauseClassId"), out causeClassId) == false) //||
- //int.TryParse( uriQuery.Get( "Depth" ) , out depth ) == false )
- {
- return BadRequest("Not Found Parameters.");
- }
- using( var transaction = new TransactionScope() )
- {
- var qm = new QueryManager<FmsWorkCodeCauseClass>( db );
- var dbSet = db.FmsWorkCodeCauseClass;
- // 자식이 있으면 먼저 지운다 hcLee 2015 03 06
- var query = from d in dbSet where d.SiteId == siteId && d.ParentId == causeClassId
- select d;
- var list = query.ToList();
- foreach( var item in list )
- {
- qm.Delete( dbSet , item , true );
- }
- //그다음 자신을 지운다
- qm.Delete(dbSet, new FmsWorkCodeCauseClass
- {
- SiteId = siteId ,
- CauseClassId = causeClassId
- } , true );
- db.SaveChanges();
- transaction.Complete();
- }
- return StatusCode( HttpStatusCode.NoContent );
- }
- protected override void Dispose(bool disposing)
- {
- if (disposing)
- {
- db.Dispose();
- }
- base.Dispose(disposing);
- }
- }
- }
|