Fix osai file writing
Testing transaction
This commit is contained in:
Binary file not shown.
@@ -9,7 +9,7 @@ namespace Step.Database.Controllers
|
||||
{
|
||||
public class NcToolManagerController : IDisposable
|
||||
{
|
||||
private DatabaseContext dbCtx;
|
||||
public DatabaseContext dbCtx;
|
||||
|
||||
public NcToolManagerController()
|
||||
{
|
||||
@@ -319,7 +319,6 @@ namespace Step.Database.Controllers
|
||||
|
||||
public void DeleteShank(DbNcShankModel shank)
|
||||
{
|
||||
dbCtx.Shanks.Attach(shank);
|
||||
dbCtx.Shanks.Remove(shank);
|
||||
|
||||
dbCtx.SaveChanges();
|
||||
|
||||
@@ -28,10 +28,9 @@ namespace Step.Database
|
||||
public DbSet<PerformedMaintenanceModel> PerformedMaintenances { get; set; }
|
||||
public DbSet<MaintenanceNoteModel> MaintenancesNotes { get; set; }
|
||||
public DbSet<MaintenanceFileModel> MaintenanceFiles { get; set; }
|
||||
|
||||
// Tool manager
|
||||
public DbSet<DbNcFamilyModel> Families { get; set; }
|
||||
public DbSet<DbNcShankModel> Shanks { get; set; }
|
||||
// public DbSet<NcOffsetModel> Offsets { get; set; }
|
||||
public DbSet<DbNcToolModel> Tools { get; set; }
|
||||
public DbSet<DbNcMagazinePositionModel> MagazinePositions { get; set; }
|
||||
|
||||
@@ -40,17 +39,6 @@ namespace Step.Database
|
||||
|
||||
// public static string CONNECTION_STRING = "Server = " + ServerStartupConfig.DatabaseAddress + "; Database=" + DATABASE_NAME +";Uid="+ DATABASE_USER +";Pwd="+ DATABASE_PWD +";";
|
||||
|
||||
//protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||
//{
|
||||
// modelBuilder.Entity<NcToolModel>()
|
||||
// .HasOptional(e => e.Shank)
|
||||
// .WithMany()
|
||||
// .HasForeignKey(e => e.ShankId)
|
||||
// .WillCascadeOnDelete(false);
|
||||
|
||||
// base.OnModelCreating(modelBuilder);
|
||||
//}
|
||||
|
||||
public DatabaseContext()
|
||||
: base(CONNECTION_STRING)
|
||||
{
|
||||
|
||||
+193
-40
@@ -861,9 +861,9 @@ namespace Step.NC
|
||||
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
List<DbNcToolModel> tools = toolsManager.FindToolsWithDependencies();
|
||||
List<DbNcToolModel> tools = toolsManager.FindToolsWithDependencies();
|
||||
|
||||
foreach(DbNcToolModel tool in tools)
|
||||
foreach (DbNcToolModel tool in tools)
|
||||
{
|
||||
DTONcToolModel dtoTool = (DTONcToolModel)tool;
|
||||
|
||||
@@ -1131,21 +1131,89 @@ namespace Step.NC
|
||||
}
|
||||
}
|
||||
|
||||
public DTONcToolModel UpdateTool(int toolId, DTONewNcToolModel dtoTool)
|
||||
public DTONcToolModel UpdateTool(int toolId, DTONewNcToolModel newTool)
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
// Update Tool
|
||||
DbNcToolModel ncTool = toolsManager.UpdateTool(toolId, dtoTool);
|
||||
DbNcToolModel dbTool = toolsManager.UpdateTool(toolId, newTool);
|
||||
|
||||
DTONcToolModel toolWithOffsets = new DTONcToolModel();
|
||||
|
||||
DTONcToolModel toolWithOffset = new DTONcToolModel();
|
||||
// Populate tool offset
|
||||
GetToolData(ncTool, ref toolWithOffset);
|
||||
GetToolData(dbTool, ref toolWithOffsets);
|
||||
|
||||
return toolWithOffset;
|
||||
if (dbTool.ShankId != null)
|
||||
{
|
||||
DbNcShankModel shank = toolsManager.FindShank(dbTool.ShankId.Value);
|
||||
if (shank.MagazineId != null)
|
||||
{
|
||||
//CmsError cmsError = StopEditData();
|
||||
//if(cmsError.IsError())
|
||||
//{
|
||||
// Console.WriteLine("Ripristino");
|
||||
//}
|
||||
// Get mounted shanks
|
||||
CmsError cmsError = UpdateNcTools(toolsManager);
|
||||
if (cmsError.IsError())
|
||||
Console.WriteLine("Ripristino");
|
||||
else
|
||||
numericalControl.TOOLS_WStopEditData();
|
||||
}
|
||||
}
|
||||
|
||||
return toolWithOffsets;
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteNcTool(DbNcToolModel tool)
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
using (var dbContextTransaction = toolsManager.dbCtx.Database.BeginTransaction())
|
||||
{
|
||||
|
||||
toolsManager.DeleteTool(tool.ToolId);
|
||||
|
||||
if (tool.ShankId != null)
|
||||
{
|
||||
DbNcShankModel shank = toolsManager.FindShank(tool.ShankId.Value);
|
||||
if (shank.MagazineId != null)
|
||||
{
|
||||
// Get mounted shanks
|
||||
CmsError cmsError = UpdateNcTools(toolsManager);
|
||||
if (cmsError.IsError())
|
||||
Console.WriteLine("Ripristino");
|
||||
else
|
||||
numericalControl.TOOLS_WStopEditData();
|
||||
}
|
||||
}
|
||||
|
||||
dbContextTransaction.Rollback();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private CmsError UpdateNcTools(NcToolManagerController toolsManager)
|
||||
{
|
||||
List<NcShankModel> shanks = toolsManager
|
||||
.FindShanks()
|
||||
.Where(x => x.MagazineId != null)
|
||||
.Select(x => (NcShankModel)x)
|
||||
.ToList();
|
||||
|
||||
// Get tools
|
||||
List<NcToolModel> tools = toolsManager
|
||||
.FindTools()
|
||||
.Select(x => (NcToolModel)x)
|
||||
.Where(x => shanks.Any(y => y.Id == x.ShankId)) // Find only mounted tools
|
||||
.ToList();
|
||||
|
||||
// Update tools
|
||||
return numericalControl.TOOLS_WUpdateTools(tools);
|
||||
}
|
||||
|
||||
public DTONcFamilyModel AddFamily(DTONewNcFamilyModel family)
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
@@ -1158,10 +1226,59 @@ namespace Step.NC
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
return (DTONcFamilyModel)toolsManager.UpdateFamily(familyId, family);
|
||||
// Update db family
|
||||
DTONcFamilyModel newFamily = (DTONcFamilyModel)toolsManager.UpdateFamily(familyId, family);
|
||||
// Update nc families
|
||||
CmsError cmsError = UpdateNcFamily(toolsManager);
|
||||
if (cmsError.IsError())
|
||||
Console.WriteLine("Ripristino");
|
||||
else
|
||||
numericalControl.TOOLS_WStopEditData();
|
||||
|
||||
return newFamily;
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteNcFamily(DbNcFamilyModel family)
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
toolsManager.DeleteFamily(family);
|
||||
// Update nc families
|
||||
CmsError cmsError = UpdateNcFamily(toolsManager);
|
||||
if (cmsError.IsError())
|
||||
Console.WriteLine("Ripristino");
|
||||
else
|
||||
numericalControl.TOOLS_WStopEditData();
|
||||
}
|
||||
}
|
||||
|
||||
private CmsError UpdateNcFamily(NcToolManagerController toolsManager)
|
||||
{
|
||||
// Get mounted shanks
|
||||
List<NcShankModel> shanks = toolsManager
|
||||
.FindShanks()
|
||||
.Where(x => x.MagazineId != null)
|
||||
.Select(x => (NcShankModel)x)
|
||||
.ToList();
|
||||
|
||||
// Get tools
|
||||
List<NcToolModel> tools = toolsManager
|
||||
.FindTools()
|
||||
.Select(x => (NcToolModel)x)
|
||||
.Where(x => shanks.Any(y => y.Id == x.ShankId)) // Find only mounted tools
|
||||
.ToList();
|
||||
|
||||
List<NcFamilyModel> families = toolsManager
|
||||
.FindFamilies()
|
||||
.Select(x => (NcFamilyModel)x)
|
||||
.Where(x => tools.Any(y => y.FamilyId == x.Id)) // Find only families of mounted tools
|
||||
.ToList();
|
||||
|
||||
// Update nc families
|
||||
return numericalControl.TOOLS_WUpdateFamilies(families);
|
||||
}
|
||||
|
||||
public DTONcShankModel AddShank(DTONewNcShankModel shank)
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
@@ -1174,39 +1291,70 @@ namespace Step.NC
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
return (DTONcShankModel)toolsManager.UpdateShank(shankId, dtoShank);
|
||||
// Update db data
|
||||
DTONcShankModel shank = (DTONcShankModel)toolsManager.UpdateShank(shankId, dtoShank);
|
||||
if (shank.MagazineId != null)
|
||||
{
|
||||
// Update nc data
|
||||
CmsError cmsError = UpdateNcShank(toolsManager);
|
||||
if (cmsError.IsError())
|
||||
Console.WriteLine("Ripristino");
|
||||
else
|
||||
numericalControl.TOOLS_WStopEditData();
|
||||
}
|
||||
|
||||
return shank;
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteNcShank(int shankId)
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
// Delete database shank
|
||||
toolsManager.DeleteShank(shankId);
|
||||
|
||||
// Update nc data
|
||||
CmsError cmsError = UpdateNcShank(toolsManager);
|
||||
if (cmsError.IsError())
|
||||
Console.WriteLine("Ripristino");
|
||||
else
|
||||
numericalControl.TOOLS_WStopEditData();
|
||||
}
|
||||
}
|
||||
|
||||
private CmsError UpdateNcShank(NcToolManagerController toolsManager)
|
||||
{
|
||||
// Get mounted shanks
|
||||
List<NcShankModel> shanks = toolsManager
|
||||
.FindShanks()
|
||||
.Where(x => x.MagazineId != null)
|
||||
.Select(x => (NcShankModel)x)
|
||||
.ToList();
|
||||
|
||||
// Update nc data
|
||||
return numericalControl.TOOLS_WUpdateShanks(shanks);
|
||||
}
|
||||
|
||||
public DTONcMagazinePositionModel UpdateMagazinePosition(DbNcMagazinePositionModel dbPos, DTONcMagazinePositionModel dtoPos)
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
return (DTONcMagazinePositionModel)toolsManager.UpdatePosition(dbPos, dtoPos);
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteNcTool(DbNcToolModel tool)
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
toolsManager.DeleteTool(tool);
|
||||
}
|
||||
}
|
||||
DTONcMagazinePositionModel magPos = (DTONcMagazinePositionModel)toolsManager.UpdatePosition(dbPos, dtoPos);
|
||||
|
||||
public void DeleteNcShank(DbNcShankModel shank)
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
toolsManager.DeleteShank(shank);
|
||||
}
|
||||
}
|
||||
// Get magazine positions
|
||||
List<NcMagazinePositionModel> positions = toolsManager.FindPositions()
|
||||
.Select(x => (NcMagazinePositionModel)x)
|
||||
.ToList();
|
||||
|
||||
public void DeleteNcFamily(DbNcFamilyModel family)
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
toolsManager.DeleteFamily(family);
|
||||
// Update nc data
|
||||
CmsError cmsError = numericalControl.TOOLS_WUpdateMagazinePositions(positions);
|
||||
if (cmsError.IsError())
|
||||
Console.WriteLine("Ripristino");
|
||||
else
|
||||
numericalControl.TOOLS_WStopEditData();
|
||||
|
||||
return magPos;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1247,12 +1395,17 @@ namespace Step.NC
|
||||
}
|
||||
}
|
||||
|
||||
public CmsError StartEdit()
|
||||
public CmsError StartEditData()
|
||||
{
|
||||
return numericalControl.TOOLS_WStartEdit();
|
||||
return numericalControl.TOOLS_WStartEditData();
|
||||
}
|
||||
|
||||
public CmsError StopEdit()
|
||||
public CmsError StartEditTooling(int magazineId)
|
||||
{
|
||||
return numericalControl.TOOLS_WStartEditTooling(magazineId);
|
||||
}
|
||||
|
||||
public CmsError StopEditTooling()
|
||||
{
|
||||
using (NcToolManagerController toolsManager = new NcToolManagerController())
|
||||
{
|
||||
@@ -1264,7 +1417,7 @@ namespace Step.NC
|
||||
.Where(x => x.MagazineId != null)
|
||||
.Select(x => (NcShankModel)x)
|
||||
.ToList();
|
||||
|
||||
|
||||
CmsError cmsError = numericalControl.TOOLS_WUpdateShanks(shanks);
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
@@ -1277,12 +1430,12 @@ namespace Step.NC
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
|
||||
// Get tools
|
||||
// Get tools
|
||||
List<NcToolModel> tools = toolsManager
|
||||
.FindTools()
|
||||
.Select(x => (NcToolModel)x)
|
||||
.Where(x => shanks.Any(y => y.Id == x.ShankId)) // Find only mounted tools
|
||||
.ToList();
|
||||
.Where(x => shanks.Any(y => y.Id == x.ShankId)) // Find only mounted tools
|
||||
.ToList();
|
||||
|
||||
// Update tools
|
||||
cmsError = numericalControl.TOOLS_WUpdateTools(tools);
|
||||
@@ -1302,7 +1455,7 @@ namespace Step.NC
|
||||
Console.WriteLine(sw.ElapsedMilliseconds);
|
||||
}
|
||||
|
||||
return numericalControl.TOOLS_WStopEdit();
|
||||
return numericalControl.TOOLS_WStopEditData();
|
||||
}
|
||||
|
||||
#endregion Osai/Fanuc Tools
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Libs\CMS_CORE_Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
|
||||
@@ -128,7 +128,7 @@ namespace Step.Controllers.WebApi
|
||||
// If option is active find & delete tool shank
|
||||
DbNcShankModel shank = toolsManager.FindShank(tool.ShankId.Value);
|
||||
|
||||
ncHandler.DeleteNcShank(shank);
|
||||
ncHandler.DeleteNcShank(shank.ShankId);
|
||||
}
|
||||
|
||||
ncHandler.DeleteNcTool(tool);
|
||||
@@ -206,7 +206,7 @@ namespace Step.Controllers.WebApi
|
||||
{
|
||||
ncHandler.Connect();
|
||||
|
||||
ncHandler.DeleteNcShank(shank);
|
||||
ncHandler.DeleteNcShank(shank.ShankId);
|
||||
|
||||
return Ok();
|
||||
}
|
||||
@@ -471,14 +471,14 @@ namespace Step.Controllers.WebApi
|
||||
}
|
||||
}
|
||||
|
||||
[Route("start_edit"), HttpPut]
|
||||
public IHttpActionResult StartEdit()
|
||||
[Route("start_edit_data"), HttpPut]
|
||||
public IHttpActionResult StartEditData()
|
||||
{
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
ncHandler.Connect();
|
||||
|
||||
CmsError cmsError = ncHandler.StartEdit();
|
||||
CmsError cmsError = ncHandler.StartEditData();
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
@@ -487,19 +487,33 @@ namespace Step.Controllers.WebApi
|
||||
}
|
||||
}
|
||||
|
||||
[Route("stop_edit"), HttpPut]
|
||||
[Route("start_edit_tooling/{magazineId:int}"), HttpPut]
|
||||
public IHttpActionResult StartEditTooling(int magazineId)
|
||||
{
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
ncHandler.Connect();
|
||||
|
||||
CmsError cmsError = ncHandler.StartEditTooling(magazineId);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
[Route("stop_edit_data"), HttpPut]
|
||||
public IHttpActionResult StopEdit()
|
||||
{
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
ncHandler.Connect();
|
||||
|
||||
CmsError cmsError = ncHandler.StopEdit();
|
||||
CmsError cmsError = ncHandler.StopEditTooling();
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
|
||||
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user