Added load/unload into shank

Fixed magazine position returned data
WIP loading/unloading rules
This commit is contained in:
Lucio Maranta
2018-07-09 13:02:16 +02:00
parent 28e65cbdda
commit 243fbb37b6
16 changed files with 350 additions and 209 deletions
@@ -128,11 +128,25 @@ namespace Step.Database.Controllers
return dtoShanks;
}
public DTONcShankModel GetShank(int shankId)
{
// Get shank from database
NcShankModel dbShank = dbCtx
.Shanks
.Where(x => x.ShankId == shankId)
.Include("Tools")
.FirstOrDefault();
// Convert into DTOModel
DTONcShankModel dtoShanks = (DTONcShankModel)dbShank;
return dtoShanks;
}
public List<NcMagazinePositionModel> FindPositions()
{
List<NcMagazinePositionModel> positions = dbCtx
.MagazinePositions
.Include("Shank")
.ToList();
return positions;
@@ -146,6 +160,26 @@ namespace Step.Database.Controllers
.ToList();
}
public List<DTONcMagazinePositionModel> GetMagazinePositions(byte magId)
{
// Get only magazine positions that match with magazineId
List<DTONcMagazinePositionModel> magPos = FindMagazinePositions(magId).Select(x => (DTONcMagazinePositionModel)x).ToList();
// Get&filter shanks by magazineId in order to get only mounted shanks in the current magazineId
List<NcShankModel> shanks = dbCtx.Shanks.Where(x => x.MagazineId == magId).ToList();
foreach(NcShankModel shank in shanks)
{
// Populate magazinePosition shank Id
magPos
.Where(x => x.PositionId == shank.PositionId)
.FirstOrDefault()
.ShankId = shank.ShankId;
}
// Convert in DTOModel and return
return magPos;
}
public NcMagazinePositionModel FindMagazinePosition(byte magId, byte posId)
{
NcMagazinePositionModel positions = dbCtx
@@ -156,13 +190,6 @@ namespace Step.Database.Controllers
return positions;
}
//public List<NcOffsetModel> GetOffsets()
//{
// List<NcOffsetModel> offsets = dbCtx.Offsets.ToList();
// return offsets;
//}
public List<DTONcShankModel> GetMountedShanks(int magazineId)
{
List<DTONcShankModel> dtoShanks = GetShanks()
@@ -299,7 +326,7 @@ namespace Step.Database.Controllers
dbCtx.SaveChanges();
}
public NcMagazinePositionModel UpdatePosition(NcMagazinePositionModel dbPos, DTONcMagazinesPositionsModel dtoPos)
public NcMagazinePositionModel UpdatePosition(NcMagazinePositionModel dbPos, DTONcMagazinePositionModel dtoPos)
{
dbPos.Type = dtoPos.Type;
dbPos.Disabled = dtoPos.Disabled;
@@ -332,5 +359,28 @@ namespace Step.Database.Controllers
return (DTONcShankModel)shank;
}
public DTONcShankModel LoadToolIntoShank(NcToolModel tool, int shankId)
{
dbCtx.Tools.Attach(tool);
tool.ShankId = shankId;
dbCtx.SaveChanges();
return GetShank(shankId);
}
public DTONcShankModel UnloadToolFromShank(NcToolModel tool)
{
dbCtx.Tools.Attach(tool);
int? shankId = tool.ShankId;
tool.ShankId = null;
dbCtx.SaveChanges();
return GetShank(shankId.Value);
}
}
}
+1 -1
View File
@@ -31,7 +31,7 @@ namespace Step.Database
public DbSet<NcFamilyModel> Families { get; set; }
public DbSet<NcShankModel> Shanks { get; set; }
public DbSet<NcOffsetModel> Offsets { get; set; }
// public DbSet<NcOffsetModel> Offsets { get; set; }
public DbSet<NcToolModel> Tools { get; set; }
public DbSet<NcMagazinePositionModel> MagazinePositions { get; set; }
File diff suppressed because one or more lines are too long
@@ -13,7 +13,7 @@ namespace Step.Database.Migrations
string IMigrationMetadata.Id
{
get { return "201807050940385_InitMigration"; }
get { return "201807090630343_InitMigration"; }
}
string IMigrationMetadata.Source
@@ -195,19 +195,6 @@ namespace Step.Database.Migrations
.Index(t => t.user_id)
.Index(t => t.maintenance_id);
CreateTable(
"dbo.offset",
c => new
{
id = c.Int(nullable: false, identity: true),
nc_offset_id = c.Int(nullable: false),
lenght = c.Double(nullable: false),
radius = c.Double(nullable: false),
wear_length = c.Double(nullable: false),
wear_radius = c.Double(nullable: false),
})
.PrimaryKey(t => t.id);
CreateTable(
"dbo.performed_maintenance",
c => new
@@ -264,7 +251,6 @@ namespace Step.Database.Migrations
DropIndex("dbo.tool", new[] { "family_id" });
DropTable("dbo.session");
DropTable("dbo.performed_maintenance");
DropTable("dbo.offset");
DropTable("dbo.maintenance_note");
DropTable("dbo.maintenance");
DropTable("dbo.maintenance_file");
File diff suppressed because one or more lines are too long
+5 -5
View File
@@ -78,9 +78,9 @@
<Compile Include="Controllers\UsersController.cs" />
<Compile Include="Controllers\MachinesUsersController.cs" />
<Compile Include="DatabaseContext.cs" />
<Compile Include="Migrations\201807050940385_InitMigration.cs" />
<Compile Include="Migrations\201807050940385_InitMigration.Designer.cs">
<DependentUpon>201807050940385_InitMigration.cs</DependentUpon>
<Compile Include="Migrations\201807090630343_InitMigration.cs" />
<Compile Include="Migrations\201807090630343_InitMigration.Designer.cs">
<DependentUpon>201807090630343_InitMigration.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\Configuration.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
@@ -116,8 +116,8 @@
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Migrations\201807050940385_InitMigration.resx">
<DependentUpon>201807050940385_InitMigration.cs</DependentUpon>
<EmbeddedResource Include="Migrations\201807090630343_InitMigration.resx">
<DependentUpon>201807090630343_InitMigration.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />