diff --git a/Libs/CMS_CORE_Library.dll b/Libs/CMS_CORE_Library.dll index 67f005f4..de39a80e 100644 Binary files a/Libs/CMS_CORE_Library.dll and b/Libs/CMS_CORE_Library.dll differ diff --git a/Step.Model/DTOModels/ToolModels/DTOShankModel.cs b/Step.Model/DTOModels/ToolModels/DTOShankModel.cs new file mode 100644 index 00000000..89954ee9 --- /dev/null +++ b/Step.Model/DTOModels/ToolModels/DTOShankModel.cs @@ -0,0 +1,39 @@ +using System.Collections.Generic; +using static CMS_CORE_Library.DataStructures; + +namespace Step.Model.DTOModels.ToolModels +{ + public class DTOShankModel + { + + public int Id; + public string Name; + public bool IsEnabled; + public bool IsInhibited; + public bool InChangeTool; + public bool InFixedPlace; + public bool InUse; + public int LeftSize; + public int RightSize; + public int MagazinePositionType; + public List ChildsTools; + + public static explicit operator ShankModel(DTOShankModel obj) + { + return new ShankModel() + { + Id = 0, + Name = obj.Name, + IsEnabled = obj.IsEnabled, + IsInhibited = obj.IsInhibited, + InChangeTool = obj.InChangeTool, + InFixedPlace = obj.InFixedPlace, + InUse = obj.InUse, + LeftSize = obj.LeftSize, + RightSize = obj.RightSize, + MagazinePositionType = obj.MagazinePositionType, + ChildsTools = obj.ChildsTools + }; + } + } +} diff --git a/Step.Model/DTOModels/ToolModels/DTOSiemensToolModel.cs b/Step.Model/DTOModels/ToolModels/DTOSiemensToolModel.cs index d44abf30..2469bf23 100644 --- a/Step.Model/DTOModels/ToolModels/DTOSiemensToolModel.cs +++ b/Step.Model/DTOModels/ToolModels/DTOSiemensToolModel.cs @@ -33,7 +33,7 @@ namespace Step.Model.DTOModels.ToolModels public bool IsActive; [Required] - public bool FixedPlace; + public bool InFixedPlace; [Required] public bool IsInhibited; @@ -42,7 +42,7 @@ namespace Step.Model.DTOModels.ToolModels public bool IsMeasured; [Required] - public bool ChangeTool; + public bool InChangeTool; [Required] public bool IsInUse; diff --git a/Step.Model/Step.Model.csproj b/Step.Model/Step.Model.csproj index 5c327a38..6c9a20c2 100644 --- a/Step.Model/Step.Model.csproj +++ b/Step.Model/Step.Model.csproj @@ -101,6 +101,7 @@ + diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs index f94ea7a9..0bfcaaa6 100644 --- a/Step.NC/NcHandler.cs +++ b/Step.NC/NcHandler.cs @@ -752,13 +752,17 @@ namespace Step.NC return numericalControl.TOOLS_WAddFamily(ref family); } - public CmsError AddShank(out ShankModel shank) + public CmsError AddShank(ref ShankModel shank) { - shank = new ShankModel(); - return numericalControl.TOOLS_WAddShank(ref shank); } + + public CmsError UpdateShank(ref ShankModel shank) + { + return numericalControl.TOOLS_WUpdateShank(ref shank); + } + public CmsError UpdateFamilyName(string oldName, string newName) { return numericalControl.TOOLS_WUpdateFamilyData(oldName, newName); diff --git a/Step/Controllers/WebApi/ToolTableController.cs b/Step/Controllers/WebApi/ToolTableController.cs index 11338098..d9a6f69b 100644 --- a/Step/Controllers/WebApi/ToolTableController.cs +++ b/Step/Controllers/WebApi/ToolTableController.cs @@ -102,8 +102,8 @@ namespace Step.Controllers.WebApi IsInhibited = dtoModel.IsInhibited, IsInUse = dtoModel.IsInUse, IsMeasured = dtoModel.IsMeasured, - ChangeTool = dtoModel.ChangeTool, - FixedPlace = dtoModel.FixedPlace, + InChangeTool = dtoModel.InChangeTool, + InFixedPlace = dtoModel.InFixedPlace, PreAlarm = dtoModel.PreAlarm, Cooling1 = dtoModel.Cooling1, @@ -251,12 +251,14 @@ namespace Step.Controllers.WebApi } [Route("shank"), HttpPost] - public IHttpActionResult AddShank() + public IHttpActionResult AddShank([FromBody] DTOShankModel dtoShank) { using (NcHandler ncHandler = new NcHandler()) { + ShankModel shank = (ShankModel)dtoShank; + ncHandler.Connect(); - CmsError libraryError = ncHandler.AddShank(out ShankModel shank); + CmsError libraryError = ncHandler.AddShank(ref shank); if (libraryError.IsError()) if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED) return BadRequest(libraryError.message); @@ -264,7 +266,25 @@ namespace Step.Controllers.WebApi return Ok(shank); } } - + + [Route("shank/{shankId:int}"), HttpPut] + public IHttpActionResult UpdateShank(int shankId, [FromBody] DTOShankModel dtoShank) + { + using (NcHandler ncHandler = new NcHandler()) + { + ShankModel shank = (ShankModel)dtoShank; + shank.Id = shankId; + + ncHandler.Connect(); + CmsError libraryError = ncHandler.UpdateShank(ref shank); + if (libraryError.IsError()) + if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED) + return BadRequest(libraryError.message); + + return Ok(shank); + } + } + [Route("shank/{id:int}"), HttpDelete] public IHttpActionResult DeleteShank(int id) {