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 FmsWorkRequestToFacilityController : ApiController { private iBemsEntities db = new iBemsEntities(); // POST: api/FmsWorkRequestToFacility [ResponseType(typeof(void))] [ActionName("Insert")] public IHttpActionResult PostFmsWorkRequestToFacility(List workRequestToFacilities) { 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.FmsWorkRequestToFacility where d.SiteId == siteId && d.WorkRequestId == workRequestId select d; var qm = new QueryManager(db); try { qm.DeleteAndInsert(db.FmsWorkRequestToFacility, workRequestToFacilities, query); } catch (DbUpdateException e) { { throw e; } } return StatusCode(HttpStatusCode.NoContent); } [ResponseType(typeof(void))] [ActionName("Delete")] public IHttpActionResult PostFmsWorkRequestToFacilityDelete(WorkRequestToFacility workRequestToFacilities) { 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.FmsWorkRequestToFacility where d.SiteId == siteId && d.WorkRequestId == workRequestId select d; try { foreach (var deleteItem in query) { db.FmsWorkRequestToFacility.Remove(deleteItem); } db.SaveChanges(); } catch (Exception) { throw; } return StatusCode(HttpStatusCode.NoContent); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } } public class WorkRequestToFacility { public int SiteId { get; set; } public int WorkRequestId { get; set; } public int FacilityCode { get; set; } }; }