Files
cms_thermo_active/Step/Controllers/WebApi/NcToolTableController.cs
T
2018-06-26 17:21:58 +02:00

110 lines
3.1 KiB
C#

using Step.Model.DatabaseModels;
using Step.Model.DTOModels.ToolModels;
using Step.NC;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;
namespace Step.Controllers.WebApi
{
[RoutePrefix("api/tool_manager/nc")]
public class NcToolTableController : ApiController
{
[Route("tools"), HttpGet]
public IHttpActionResult GetNcToolTable()
{
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
ncHandler.GetToolTableData(out List<NcToolModel> tools);
return Ok(tools);
}
}
[Route("families"), HttpGet]
public IHttpActionResult GetFamilies()
{
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
ncHandler.GetFamilies(out List<NcFamilyModel> families);
return Ok(families);
}
}
[Route("magazines_positions"), HttpGet]
public IHttpActionResult GetMagazinesPositions()
{
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
ncHandler.GetPositions(out List<NcMagazinePositionModel> magazines);
return Ok(magazines);
}
}
[Route("magazine/{magazineId:int}/positions"), HttpGet]
public IHttpActionResult GetMagazinesPositions(int magazineId)
{
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
ncHandler.GetPositions(out List<NcMagazinePositionModel> magazines);
magazines = magazines.Where(x => x.MagazineId == magazineId).ToList();
return Ok(magazines);
}
}
[Route("shanks"), HttpGet]
public IHttpActionResult GetShanks()
{
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
ncHandler.GetShanksData(out List<NcShankModel> shanks);
return Ok(shanks);
}
}
[Route("tool"), HttpPost]
public IHttpActionResult AddTool([FromBody][Required]DTONcToolModel tool)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
NcToolModel newTool = ncHandler.AddTool(tool);
return Ok(newTool);
}
}
[Route("tool"), HttpPost]
public IHttpActionResult AddFamily([FromBody][Required]DTONcFamilyModel family)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
NcFamilyModel newFamily = ncHandler.AddFamily(family);
return Ok(newFamily);
}
}
}
}