Added load/unload into shank
Fixed magazine position returned data WIP loading/unloading rules
This commit is contained in:
@@ -4,6 +4,7 @@ using Step.Model.DTOModels.ToolModels;
|
||||
using Step.NC;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Web.Http;
|
||||
using static CMS_CORE_Library.DataStructures;
|
||||
using static Step.Config.ServerConfig;
|
||||
@@ -307,14 +308,14 @@ namespace Step.Controllers.WebApi
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
List<NcMagazinePositionModel> magazine = toolsManager.FindMagazinePositions(magazineId);
|
||||
List<DTONcMagazinePositionModel> magazine = toolsManager.GetMagazinePositions(magazineId);
|
||||
|
||||
return Ok(magazine);
|
||||
}
|
||||
}
|
||||
|
||||
[Route("magazine/{magazineId}/position/{positionId}"), HttpPut]
|
||||
public IHttpActionResult PutMagazinePosition([Required]byte magazineId, [Required]byte positionId, [FromBody]DTONcMagazinesPositionsModel dtoPos)
|
||||
public IHttpActionResult PutMagazinePosition([Required]byte magazineId, [Required]byte positionId, [FromBody]DTONcMagazinePositionModel dtoPos)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
return BadRequest(ModelState);
|
||||
@@ -328,8 +329,8 @@ namespace Step.Controllers.WebApi
|
||||
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
pos = ncHandler.UpdateMagazinePosition(pos, dtoPos);
|
||||
return Ok(pos);
|
||||
DTONcMagazinePositionModel newPos = ncHandler.UpdateMagazinePosition(pos, dtoPos);
|
||||
return Ok(newPos);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -371,20 +372,35 @@ namespace Step.Controllers.WebApi
|
||||
if (shankId.ToolId == 0)
|
||||
return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS);
|
||||
|
||||
// Check data
|
||||
NcShankModel shank;
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
NcShankModel shank = toolsManager.FindShank(shankId.ToolId);
|
||||
// Check if shank exists
|
||||
shank = toolsManager.FindShank(shankId.ToolId);
|
||||
if (shank == null)
|
||||
return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS);
|
||||
// Check if shank is already loaded somewhere
|
||||
if (shank.MagazineId != null)
|
||||
return BadRequest(API_ERROR_KEYS.TOOL_IS_MOUNTED);
|
||||
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
ncHandler.Connect();
|
||||
DTONcMagazinesPositionsModel magPos = ncHandler.LoadToolInMagazine(magazineId, positionId, shank);
|
||||
|
||||
return Ok(magPos);
|
||||
}
|
||||
// Check if magazine position exists
|
||||
NcMagazinePositionModel magPos = toolsManager.FindMagazinePosition(magazineId, positionId);
|
||||
if(magPos == null)
|
||||
return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS);
|
||||
// Check if the mag pos is disabled
|
||||
if(magPos.Disabled == true)
|
||||
return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS);
|
||||
}
|
||||
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
ncHandler.Connect();
|
||||
DTONcMagazinePositionModel magazinePos = ncHandler.LoadToolInMagazine(magazineId, positionId, shank);
|
||||
|
||||
return Ok(magazinePos);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Route("magazine/{magazineId:int}/unload/position/{positionId:int}"), HttpPut]
|
||||
@@ -395,19 +411,63 @@ namespace Step.Controllers.WebApi
|
||||
if (shankId.ToolId == 0)
|
||||
return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS);
|
||||
|
||||
// Check data
|
||||
NcShankModel shank;
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
NcShankModel shank = toolsManager.FindShank(shankId.ToolId);
|
||||
// Check if shank exists
|
||||
shank = toolsManager.FindShank(shankId.ToolId);
|
||||
if (shank == null)
|
||||
return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS);
|
||||
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
ncHandler.Connect();
|
||||
DTONcShankModel responseShank = ncHandler.UnloadToolInMagazine(magazineId, positionId, shank);
|
||||
// Check if magazine position exists
|
||||
NcMagazinePositionModel magPos = toolsManager.FindMagazinePosition(magazineId, positionId);
|
||||
if (magPos == null)
|
||||
return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS);
|
||||
// Check if the mag pos is disabled
|
||||
if (magPos.Disabled == true)
|
||||
return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS);
|
||||
// Check if magazine position is occupied
|
||||
NcShankModel shankMounted = toolsManager.FindShanks().Where(x => x.MagazineId == magazineId && x.PositionId == positionId).FirstOrDefault();
|
||||
if (shankMounted != null)
|
||||
return BadRequest(API_ERROR_KEYS.MAGAZINE_POSITION_OCCUPIED);
|
||||
}
|
||||
|
||||
return Ok(responseShank);
|
||||
}
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
ncHandler.Connect();
|
||||
DTONcShankModel responseShank = ncHandler.UnloadToolInMagazine(magazineId, positionId, shank);
|
||||
|
||||
return Ok(responseShank);
|
||||
}
|
||||
}
|
||||
|
||||
[Route("shank/{shankId:int}/load/tool/{toolId:int}"), HttpPut]
|
||||
public IHttpActionResult LoadToolIntoShank(int shankId, int toolId)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
return BadRequest(ModelState);
|
||||
|
||||
NcToolModel tool;
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
// Check if shank exists
|
||||
NcShankModel shank = toolsManager.FindShank(shankId);
|
||||
if (shank == null)
|
||||
return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS);
|
||||
|
||||
tool = toolsManager.FindTool(toolId);
|
||||
if(tool== null)
|
||||
return BadRequest(API_ERROR_KEYS.INCORRECT_PARAMETERS);
|
||||
}
|
||||
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
ncHandler.Connect();
|
||||
|
||||
DTONcShankModel shank = ncHandler.LoadIntoShank(tool, shankId);
|
||||
|
||||
return Ok(shank);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user