fix modelli e metodi x Proj

This commit is contained in:
Samuele Locatelli
2021-04-15 10:03:58 +02:00
parent 6295d882a0
commit 8f0b47bd64
7 changed files with 84 additions and 65 deletions
@@ -90,7 +90,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
{
answ = new MachGroupModel()
{
Assign = "",
SupervisorId = "",
Name = coreMachGroup.Name,
Locked = true,
MachGroupId = coreMachGroup.Id,
@@ -120,7 +120,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
{
answ = new MachGroupModel()
{
Assign = "",
SupervisorId = "",
Name = coreMachGroup.Name,
Locked = true,
MachGroupId = coreMachGroup.Id,
@@ -194,21 +194,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
.SingleOrDefault();
}
/// <summary>
/// Get filtered data by Assign (ASC ordered)
/// </summary>
/// <param name="Assign"></param>
/// <returns></returns>
public List<MachGroupModel> GetByAssign(string Assign)
{
return dbCtx
.MachGroupList
.Where(x => x.Assign == Assign)
.OrderBy(x => x.Order)
.ThenBy(x => x.MachGroupId)
.ToList();
}
/// <summary>
/// Get filtered data by ProdId (ASC ordered)
/// </summary>
@@ -216,6 +201,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <returns></returns>
public List<MachGroupModel> GetByProdAsc(int ProdId)
{
// verificare fattibilità in 1 solo passo
// recupero
int ProdDbId = 0;
try
@@ -250,6 +236,8 @@ namespace EgtBEAMWALL.DataLayer.Controllers
{
// recupero
int ProdDbId = 0;
// verificare fattibilità in 1 solo passo
try
{
var currProd = dbCtx
@@ -273,6 +261,22 @@ namespace EgtBEAMWALL.DataLayer.Controllers
.ToList();
}
/// <summary>
/// Get filtered data by Assign (ASC ordered)
/// </summary>
/// <param name="ProdId"></param>
/// <param name="SupervisorId"></param>
/// <returns></returns>
public List<MachGroupModel> GetByProdSupervisor(int ProdId, string SupervisorId)
{
return dbCtx
.MachGroupList
.Where(x => x.Prod.ProdId == ProdId && x.SupervisorId == SupervisorId)
.OrderBy(x => x.Order)
.ThenBy(x => x.MachGroupId)
.ToList();
}
/// <summary>
/// Update single MachGroup
/// </summary>
@@ -305,38 +309,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
return done;
}
/// <summary>
/// Set Status for MachGroup
/// </summary>
/// <param name="newAssign"></param>
/// <param name="newState"></param>
/// <returns></returns>
public bool UpdateAssign(int MachGroupId, string newAssign)
{
bool done = false;
try
{
// aggiorno
var currRecord = dbCtx
.MachGroupList
.Where(x => x.MachGroupId == MachGroupId)
.FirstOrDefault();
currRecord.Assign = newAssign;
currRecord.State = Core.ItemState.Assigned;
// Commit changes
dbCtx.SaveChanges();
done = true;
}
catch (Exception exc)
{
Console.WriteLine($"EXCEPTION on UpdateAssign: {exc}");
}
return done;
}
/// <summary>
/// Set Status for MachGroup
/// </summary>
@@ -366,6 +338,39 @@ namespace EgtBEAMWALL.DataLayer.Controllers
return done;
}
/// <summary>
/// Set Supervisor & state for MachGroup
/// </summary>
/// <param name="ProdId"></param>
/// <param name="MachGroupId"></param>
/// <param name="SupervisorId"></param>
/// <returns></returns>
public bool UpdateSupervisor(int ProdId, int MachGroupId, string SupervisorId)
{
bool done = false;
try
{
// aggiorno
var currRecord = dbCtx
.MachGroupList
.Where(x => x.Prod.ProdId == ProdId && x.MachGroupId == MachGroupId)
.FirstOrDefault();
currRecord.SupervisorId = SupervisorId;
currRecord.State = Core.ItemState.Assigned;
// Commit changes
dbCtx.SaveChanges();
done = true;
}
catch (Exception exc)
{
Console.WriteLine($"EXCEPTION on UpdateAssign: {exc}");
}
return done;
}
#endregion Public Methods
}
}
@@ -173,6 +173,11 @@ namespace EgtBEAMWALL.DataLayer.Controllers
.ToList();
}
protected List<int> ProjIdByProd(int ProdId)
{
return DbManager.obj.ProjCtr.GetByProdAsc(ProdId).Select(y => y.ProjId).ToList();
}
#endregion Protected Methods
#region Public Methods
@@ -267,6 +272,18 @@ namespace EgtBEAMWALL.DataLayer.Controllers
.SingleOrDefault();
}
/// <summary>
/// Get record by ProdId ass Core.ProdFileM
/// </summary>
/// <param name="ProdId"></param>
/// <returns></returns>
public Core.ProdFileM FindCoreByProdId(int ProdId)
{
var currProd = FindByProdId(ProdId);
return Core.ProdFileM.CreateProdFileM(currProd.ProdId, ProjIdByProd(ProdId), currProd.DtCreated, currProd.Description);
}
/// <summary>
/// Elenco progetti
/// </summary>
@@ -275,12 +292,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
public List<Core.ProdFileM> GetLastDesc(int numRecord)
{
List<Core.ProdFileM> result = new List<Core.ProdFileM>();
var dbResult = GetLastDbModelDesc(numRecord);
// conversione
result = dbResult.Select(x => Core.ProdFileM.CreateProdFileM(x.ProdId, DbManager.obj.ProjCtr.GetByProdAsc(x.ProdId).Select(y => y.ProjId).ToList(), x.DtCreated, x.Description)).ToList();
result = dbResult.Select(x => Core.ProdFileM.CreateProdFileM(x.ProdId, ProjIdByProd(x.ProdId), x.DtCreated, x.Description)).ToList();
return result;
}
@@ -314,7 +328,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
// creo nuovo PROD...
var newProd = dbCtx
.ProdList
.Add(new ProdModel() { ProdId = nextId, Locked = true });
.Add(new ProdModel() { ProdId = nextId, Locked = true, DtCreated = DateTime.Now });
// cerco Proj
var currProj = dbCtx
@@ -15,9 +15,6 @@ namespace EgtBEAMWALL.DataLayer.DatabaseModels
{
#region Public Properties
[Column("Assign")]
public string Assign { get; set; } = "";
/// <summary>
/// Data End
/// </summary>
@@ -75,6 +72,9 @@ namespace EgtBEAMWALL.DataLayer.DatabaseModels
[Column("State")]
public Core.ItemState State { get; set; } = Core.ItemState.ND;
[Column("SupervisorId")]
public string SupervisorId { get; set; } = "";
[Column("W")]
public double W { get; set; } = 0;
@@ -92,9 +92,9 @@
<Compile Include="DatabaseModels\ProjModel.cs" />
<Compile Include="DatabaseModels\MachGroupModel.cs" />
<Compile Include="DbManager.cs" />
<Compile Include="Migrations\202104150626082_FullDbInit.cs" />
<Compile Include="Migrations\202104150626082_FullDbInit.designer.cs">
<DependentUpon>202104150626082_FullDbInit.cs</DependentUpon>
<Compile Include="Migrations\202104150749157_FullDbInit.cs" />
<Compile Include="Migrations\202104150749157_FullDbInit.designer.cs">
<DependentUpon>202104150749157_FullDbInit.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\Configuration.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
@@ -110,8 +110,8 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Migrations\202104150626082_FullDbInit.resx">
<DependentUpon>202104150626082_FullDbInit.cs</DependentUpon>
<EmbeddedResource Include="Migrations\202104150749157_FullDbInit.resx">
<DependentUpon>202104150749157_FullDbInit.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
@@ -13,7 +13,7 @@ namespace EgtBEAMWALL.DataLayer.Migrations
string IMigrationMetadata.Id
{
get { return "202104150626082_FullDbInit"; }
get { return "202104150749157_FullDbInit"; }
}
string IMigrationMetadata.Source
@@ -93,7 +93,6 @@
c => new
{
DbId = c.Int(nullable: false, identity: true),
Assign = c.String(unicode: false),
DtEnd = c.DateTime(nullable: false, precision: 0),
DtStart = c.DateTime(nullable: false, precision: 0),
H = c.Double(nullable: false),
@@ -106,6 +105,7 @@
Order = c.Int(nullable: false),
ProdDbId = c.Int(nullable: false),
State = c.Int(nullable: false),
SupervisorId = c.String(unicode: false),
W = c.Double(nullable: false),
})
.PrimaryKey(t => t.DbId)
@@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Target" xml:space="preserve">
<value>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</value>
<value>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</value>
</data>
<data name="DefaultSchema" xml:space="preserve">
<value>dbo</value>