Added load/Unloading in magazine

Available tools/mounted tools
Added Osai configuration
This commit is contained in:
Lucio Maranta
2018-07-02 17:31:11 +02:00
parent 028770dd0a
commit d461fde0e8
17 changed files with 368 additions and 169 deletions
@@ -52,14 +52,17 @@ namespace Step.Database.Controllers
public NcFamilyModel FindFamily(int familyId)
{
return dbCtx.Families
.Where(x => x.FamilyId == familyId)
.FirstOrDefault();
return dbCtx
.Families
.Where(x => x.FamilyId == familyId)
.FirstOrDefault();
}
public List<NcToolModel> GetTools()
{
List<NcToolModel> tools = dbCtx.Tools.Include("Family")
List<NcToolModel> tools = dbCtx
.Tools
.Include("Family")
.Include("Shank")
.ToList();
@@ -80,7 +83,15 @@ namespace Step.Database.Controllers
return positions;
}
public NcMagazinePositionModel GetPosition(byte magId, byte posId)
public List<NcMagazinePositionModel> GetMagazinePositions(byte magId)
{
return dbCtx
.MagazinePositions
.Where(x => x.MagazineId == magId)
.ToList();
}
public NcMagazinePositionModel GetMagazinePosition(byte magId, byte posId)
{
NcMagazinePositionModel positions = dbCtx
.MagazinePositions
@@ -103,6 +114,9 @@ namespace Step.Database.Controllers
dbCtx.Tools.Add(tool);
dbCtx.SaveChanges();
dbCtx.Entry(tool).Reference(x => x.Family).Load();
dbCtx.Entry(tool).Reference(x => x.Shank).Load();
return tool;
}
@@ -111,7 +125,7 @@ namespace Step.Database.Controllers
{
tool.FamilyId = dtoTool.FamilyId;
tool.Type = dtoTool.Type;
tool.OffsetLenght = dtoTool.OffsetLenght;
tool.OffsetLength = dtoTool.OffsetLength;
tool.ResidualLife = dtoTool.ResidualLife;
tool.ResidualRevive = dtoTool.ResidualRevive;
@@ -123,10 +137,10 @@ namespace Step.Database.Controllers
public void DeleleTool(int toolId)
{
NcToolModel tool = FindTool(toolId);
DeleleTool(tool);
DeleteTool(tool);
}
public void DeleleTool(NcToolModel tool)
public void DeleteTool(NcToolModel tool)
{
dbCtx.Tools.Remove(tool);
@@ -162,14 +176,15 @@ namespace Step.Database.Controllers
return dbShank;
}
public void DeleleShank(int shankId)
public void DeleteShank(int shankId)
{
NcShankModel shank = FindShank(shankId);
DeleleShank(shank);
DeleteShank(shank);
}
public void DeleleShank(NcShankModel shank)
public void DeleteShank(NcShankModel shank)
{
dbCtx.Shanks.Attach(shank);
dbCtx.Shanks.Remove(shank);
dbCtx.SaveChanges();
@@ -185,12 +200,60 @@ namespace Step.Database.Controllers
return dbPos;
}
public void DeleleFamily(NcFamilyModel family)
public void DeleteFamily(NcFamilyModel family)
{
dbCtx.Families.Attach(family);
dbCtx.Families.Remove(family);
dbCtx.SaveChanges();
}
public List<DTONcShankModel> GetMountedShanks(int magazineId)
{
return dbCtx
.Shanks
.Where(x => x.MagazineId == magazineId)
.Select(x => new DTONcShankModel()
{
Id = x.ShankId,
Balluf = x.Balluf,
MagazineId = x.MagazineId,
PositionId = x.PositionId,
MagazinePositionType = x.MagazinePositionType
})
.ToList();
}
public List<NcShankModel> GetAvailableShanks()
{
return dbCtx
.Shanks
.Where(x => x.MagazineId == null)
.ToList();
}
public DTONcShankModel LoadShankInMagazine(byte magazineId, byte positionId, NcShankModel shank)
{
dbCtx.Shanks.Attach(shank);
shank.MagazineId = magazineId;
shank.PositionId = positionId;
dbCtx.SaveChanges();
return (DTONcShankModel)shank;
}
public DTONcShankModel UnloadShankInMagazine(byte magazineId, byte positionId, NcShankModel shank)
{
dbCtx.Shanks.Attach(shank);
shank.MagazineId = null;
shank.PositionId = null;
dbCtx.SaveChanges();
return (DTONcShankModel)shank;
}
}
}