Update migrations e modelli dati x LOG

This commit is contained in:
Samuele Locatelli
2021-04-03 16:31:59 +02:00
parent 3dd82f8c16
commit 475a8299bd
9 changed files with 568 additions and 374 deletions
@@ -0,0 +1,172 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EgtBEAMWALL.DataLayer.DatabaseModels;
namespace EgtBEAMWALL.DataLayer.Controllers
{
public class LogMachineController : IDisposable
{
#region Private Fields
private DatabaseContext dbCtx;
#endregion Private Fields
#region Public Constructors
public LogMachineController()
{
// Initialize database context
dbCtx = new DatabaseContext(Constants.CONNECTION_STRING);
}
#endregion Public Constructors
#region Public Methods
/// <summary>
/// Create machine LOG record
/// </summary>
/// <param name="machineId"></param>
/// <param name="dtCreated"></param>
/// <param name="fileName"></param>
/// <param name="dtExported"></param>
/// <param name="sn"></param>
/// <param name="description"></param>
/// <param name="eventType"></param>
/// <param name="message"></param>
/// <param name="value"></param>
/// <returns></returns>
public bool Create(string machineId, DateTime dtCreated, string fileName, DateTime dtExported, int sn, string description, Core.EventType eventType, string message, double value)
{
bool fatto = false;
try
{
try
{
LogMachineModel newItem = new LogMachineModel() { MachineId = machineId, DtEvent = dtCreated, CncFileName = fileName, DtExported = dtExported, SN = sn, Description = description, EventType = eventType, Message = message, Value = value };
// Add to database
dbCtx.LogMachineList.Add(newItem);
// Commit changes
dbCtx.SaveChanges();
}
catch (Exception exc)
{
Console.WriteLine($"EXCEPTION on Create LogMachine: {exc}");
}
}
catch
{ }
return fatto;
}
/// <summary>
/// Delete by key
/// </summary>
/// <param name="LogDbId"></param>
/// <returns></returns>
public bool DeleteByKey(int LogDbId)
{
bool done = false;
var items2del = dbCtx
.LogMachineList
.Where(x => x.LogDbId == LogDbId);
try
{
// Add to database
dbCtx.LogMachineList.RemoveRange(items2del);
// Commit changes
dbCtx.SaveChanges();
done = true;
}
catch (Exception exc)
{
Console.WriteLine($"EXCEPTION on DeleteByKey: {exc}");
}
return done;
}
public void Dispose()
{
// Clear database context
dbCtx.Dispose();
}
/// <summary>
/// Get record by LogDbId
/// </summary>
/// <param name="LogDbId"></param>
/// <returns></returns>
public LogMachineModel FindByDbId(int LogDbId)
{
return dbCtx
.LogMachineList
.Where(x => x.LogDbId == LogDbId)
.SingleOrDefault();
}
/// <summary>
/// Get paginated data from DB (ASC ordered)
/// </summary>
/// <param name="dtStart"></param>
/// <param name="dtEnd"></param>
/// <returns></returns>
public List<LogMachineModel> GetPaginatedAsc(DateTime dtStart, DateTime dtEnd)
{
// retrieve
return dbCtx
.LogMachineList
.Where(x => x.DtEvent >= dtStart && x.DtEvent <= dtEnd)
.OrderBy(x => x.DtEvent)
.ToList();
}
/// <summary>
/// Get paginated data from DB (DESC ordered)
/// </summary>
/// <param name="dtStart"></param>
/// <param name="dtEnd"></param>
/// <returns></returns>
public List<LogMachineModel> GetPaginatedDesc(DateTime dtStart, DateTime dtEnd)
{
// retrieve
return dbCtx
.LogMachineList
.Where(x => x.DtEvent >= dtStart && x.DtEvent <= dtEnd)
.OrderByDescending(x => x.DtEvent)
.ToList();
}
/// <summary>
/// Update single LogMachineModel
/// </summary>
/// <param name="updItem"></param>
/// <returns></returns>
public bool Update(LogMachineModel updItem)
{
bool done = false;
var item2update = dbCtx
.LogMachineList
.Where(x => x.LogDbId == updItem.LogDbId)
.SingleOrDefault();
try
{
// update, vers 1...
dbCtx.Entry(item2update).CurrentValues.SetValues(updItem);
// Commit changes
dbCtx.SaveChanges();
done = true;
}
catch (Exception exc)
{
Console.WriteLine($"EXCEPTION on Update: {exc}");
}
return done;
}
#endregion Public Methods
}
}
@@ -0,0 +1,171 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EgtBEAMWALL.DataLayer.DatabaseModels;
namespace EgtBEAMWALL.DataLayer.Controllers
{
public class LogSupportController : IDisposable
{
#region Private Fields
private DatabaseContext dbCtx;
#endregion Private Fields
#region Public Constructors
public LogSupportController()
{
// Initialize database context
dbCtx = new DatabaseContext(Constants.CONNECTION_STRING);
}
#endregion Public Constructors
#region Public Methods
/// <summary>
/// Create support LOG record
/// </summary>
/// <param name="dtCreated"></param>
/// <param name="fileName"></param>
/// <param name="dtExported"></param>
/// <param name="sn"></param>
/// <param name="description"></param>
/// <param name="eventType"></param>
/// <param name="message"></param>
/// <param name="value"></param>
/// <returns></returns>
public bool Create(DateTime dtCreated, Core.LogSupportLevel level, Core.LogSupportTarget target, string message)
{
bool fatto = false;
try
{
try
{
LogSupportModel newItem = new LogSupportModel() { DtEvent = dtCreated, Level = level, Target = target, Message = message };
// Add to database
dbCtx.LogSupportList.Add(newItem);
// Commit changes
dbCtx.SaveChanges();
}
catch (Exception exc)
{
Console.WriteLine($"EXCEPTION on Create LogSupport: {exc}");
}
}
catch
{ }
return fatto;
}
/// <summary>
/// Delete by key
/// </summary>
/// <param name="LogDbId"></param>
/// <returns></returns>
public bool DeleteByKey(int LogDbId)
{
bool done = false;
var items2del = dbCtx
.LogSupportList
.Where(x => x.LogDbId == LogDbId);
try
{
// Add to database
dbCtx.LogSupportList.RemoveRange(items2del);
// Commit changes
dbCtx.SaveChanges();
done = true;
}
catch (Exception exc)
{
Console.WriteLine($"EXCEPTION on DeleteByKey: {exc}");
}
return done;
}
public void Dispose()
{
// Clear database context
dbCtx.Dispose();
}
/// <summary>
/// Get record by LogDbId
/// </summary>
/// <param name="LogDbId"></param>
/// <returns></returns>
public LogSupportModel FindByDbId(int LogDbId)
{
return dbCtx
.LogSupportList
.Where(x => x.LogDbId == LogDbId)
.SingleOrDefault();
}
/// <summary>
/// Get paginated data from DB (ASC ordered)
/// </summary>
/// <param name="dtStart"></param>
/// <param name="dtEnd"></param>
/// <returns></returns>
public List<LogSupportModel> GetPaginatedAsc(DateTime dtStart, DateTime dtEnd)
{
// retrieve
return dbCtx
.LogSupportList
.Where(x => x.DtEvent >= dtStart && x.DtEvent <= dtEnd)
.OrderBy(x => x.DtEvent)
.ToList();
}
/// <summary>
/// Get paginated data from DB (DESC ordered)
/// </summary>
/// <param name="dtStart"></param>
/// <param name="dtEnd"></param>
/// <returns></returns>
public List<LogSupportModel> GetPaginatedDesc(DateTime dtStart, DateTime dtEnd)
{
// retrieve
return dbCtx
.LogSupportList
.Where(x => x.DtEvent >= dtStart && x.DtEvent <= dtEnd)
.OrderByDescending(x => x.DtEvent)
.ToList();
}
/// <summary>
/// Update single LogMachineModel
/// </summary>
/// <param name="updItem"></param>
/// <returns></returns>
public bool Update(LogSupportModel updItem)
{
bool done = false;
var item2update = dbCtx
.LogSupportList
.Where(x => x.LogDbId == updItem.LogDbId)
.SingleOrDefault();
try
{
// update, vers 1...
dbCtx.Entry(item2update).CurrentValues.SetValues(updItem);
// Commit changes
dbCtx.SaveChanges();
done = true;
}
catch (Exception exc)
{
Console.WriteLine($"EXCEPTION on Update: {exc}");
}
return done;
}
#endregion Public Methods
}
}
@@ -1,373 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System.Data.Entity.Infrastructure.MappingViews;
[assembly: DbMappingViewCacheTypeAttribute(
typeof(EgtBEAMWALL.DataLayer.DatabaseContext),
typeof(Edm_EntityMappingGeneratedViews.ViewsForBaseEntitySetsd48adf5bc101fdf35f60fe4b1751d23ae6e1294bd960d91e6583c77061593779))]
namespace Edm_EntityMappingGeneratedViews
{
using System;
using System.CodeDom.Compiler;
using System.Data.Entity.Core.Metadata.Edm;
/// <summary>
/// Implements a mapping view cache.
/// </summary>
[GeneratedCode("Entity Framework 6 Power Tools", "0.9.2.0")]
internal sealed class ViewsForBaseEntitySetsd48adf5bc101fdf35f60fe4b1751d23ae6e1294bd960d91e6583c77061593779 : DbMappingViewCache
{
/// <summary>
/// Gets a hash value computed over the mapping closure.
/// </summary>
public override string MappingHashValue
{
get { return "d48adf5bc101fdf35f60fe4b1751d23ae6e1294bd960d91e6583c77061593779"; }
}
/// <summary>
/// Gets a view corresponding to the specified extent.
/// </summary>
/// <param name="extent">The extent.</param>
/// <returns>The mapping view, or null if the extent is not associated with a mapping view.</returns>
public override DbMappingView GetView(EntitySetBase extent)
{
if (extent == null)
{
throw new ArgumentNullException("extent");
}
var extentName = extent.EntityContainer.Name + "." + extent.Name;
if (extentName == "CodeFirstDatabase.BTLPartModel")
{
return GetView0();
}
if (extentName == "CodeFirstDatabase.ProjModel")
{
return GetView1();
}
if (extentName == "CodeFirstDatabase.ProdModel")
{
return GetView2();
}
if (extentName == "CodeFirstDatabase.MachGroupModel")
{
return GetView3();
}
if (extentName == "CodeFirstDatabase.PartModel")
{
return GetView4();
}
if (extentName == "DatabaseContext.BTLPartList")
{
return GetView5();
}
if (extentName == "DatabaseContext.ProjList")
{
return GetView6();
}
if (extentName == "DatabaseContext.ProdList")
{
return GetView7();
}
if (extentName == "DatabaseContext.MachGroupList")
{
return GetView8();
}
if (extentName == "DatabaseContext.PartList")
{
return GetView9();
}
return null;
}
/// <summary>
/// Gets the view for CodeFirstDatabase.BTLPartModel.
/// </summary>
/// <returns>The mapping view.</returns>
private static DbMappingView GetView0()
{
return new DbMappingView(@"
SELECT VALUE -- Constructing BTLPartModel
[CodeFirstDatabaseSchema.BTLPartModel](T1.BTLPartModel_DbId, T1.BTLPartModel_CalcState, T1.BTLPartModel_CNT, T1.BTLPartModel_DO, T1.BTLPartModel_DON, T1.BTLPartModel_GRP, T1.BTLPartModel_H, T1.BTLPartModel_L, T1.BTLPartModel_Material, T1.BTLPartModel_NAM, T1.BTLPartModel_Id, T1.BTLPartModel_PDN, T1.BTLPartModel_ProjDbId, T1.BTLPartModel_ROT, T1.BTLPartModel_TBP, T1.BTLPartModel_UNT, T1.BTLPartModel_W)
FROM (
SELECT
T.BTLPartDbId AS BTLPartModel_DbId,
T.CALC_State AS BTLPartModel_CalcState,
T.CNT AS BTLPartModel_CNT,
T.DO AS BTLPartModel_DO,
T.DON AS BTLPartModel_DON,
T.GRP AS BTLPartModel_GRP,
T.H AS BTLPartModel_H,
T.L AS BTLPartModel_L,
T.Material AS BTLPartModel_Material,
T.NAM AS BTLPartModel_NAM,
T.PartId AS BTLPartModel_Id,
T.PDN AS BTLPartModel_PDN,
T.ProjDbId AS BTLPartModel_ProjDbId,
T.ROT AS BTLPartModel_ROT,
T.TBP AS BTLPartModel_TBP,
T.UNT AS BTLPartModel_UNT,
T.W AS BTLPartModel_W,
True AS _from0
FROM DatabaseContext.BTLPartList AS T
) AS T1");
}
/// <summary>
/// Gets the view for CodeFirstDatabase.ProjModel.
/// </summary>
/// <returns>The mapping view.</returns>
private static DbMappingView GetView1()
{
return new DbMappingView(@"
SELECT VALUE -- Constructing ProjModel
[CodeFirstDatabaseSchema.ProjModel](T1.ProjModel_ProjDbId, T1.ProjModel_BTLFileName, T1.ProjModel_IsNew, T1.ProjModel_Lock, T1.ProjModel_ProdDbId, T1.ProjModel_Id)
FROM (
SELECT
T.ProjDbId AS ProjModel_ProjDbId,
T.BTLFileName AS ProjModel_BTLFileName,
T.IsNew AS ProjModel_IsNew,
T.Locked AS ProjModel_Lock,
T.ProdDbId AS ProjModel_ProdDbId,
T.ProjId AS ProjModel_Id,
True AS _from0
FROM DatabaseContext.ProjList AS T
) AS T1");
}
/// <summary>
/// Gets the view for CodeFirstDatabase.ProdModel.
/// </summary>
/// <returns>The mapping view.</returns>
private static DbMappingView GetView2()
{
return new DbMappingView(@"
SELECT VALUE -- Constructing ProdModel
[CodeFirstDatabaseSchema.ProdModel](T1.ProdModel_ProdDbId, T1.ProdModel_Description, T1.ProdModel_IsNew, T1.ProdModel_Lock, T1.ProdModel_Id)
FROM (
SELECT
T.ProdDbId AS ProdModel_ProdDbId,
T.Description AS ProdModel_Description,
T.IsNew AS ProdModel_IsNew,
T.Locked AS ProdModel_Lock,
T.ProdId AS ProdModel_Id,
True AS _from0
FROM DatabaseContext.ProdList AS T
) AS T1");
}
/// <summary>
/// Gets the view for CodeFirstDatabase.MachGroupModel.
/// </summary>
/// <returns>The mapping view.</returns>
private static DbMappingView GetView3()
{
return new DbMappingView(@"
SELECT VALUE -- Constructing MachGroupModel
[CodeFirstDatabaseSchema.MachGroupModel](T1.MachGroupModel_DbId, T1.MachGroupModel_Assign, T1.MachGroupModel_H, T1.MachGroupModel_L, T1.MachGroupModel_Lock, T1.MachGroupModel_LogRev, T1.MachGroupModel_Id, T1.MachGroupModel_Material, T1.MachGroupModel_Name, T1.MachGroupModel_Order, T1.MachGroupModel_ProdDbId, T1.MachGroupModel_State, T1.MachGroupModel_W)
FROM (
SELECT
T.MachGroupDbId AS MachGroupModel_DbId,
T.Assign AS MachGroupModel_Assign,
T.H AS MachGroupModel_H,
T.L AS MachGroupModel_L,
T.Locked AS MachGroupModel_Lock,
T.LogRev AS MachGroupModel_LogRev,
T.MachGroupId AS MachGroupModel_Id,
T.Material AS MachGroupModel_Material,
T.Name AS MachGroupModel_Name,
T.[Order] AS MachGroupModel_Order,
T.ProdDbId AS MachGroupModel_ProdDbId,
CAST(T.State AS [Edm.Int32]) AS MachGroupModel_State,
T.W AS MachGroupModel_W,
True AS _from0
FROM DatabaseContext.MachGroupList AS T
) AS T1");
}
/// <summary>
/// Gets the view for CodeFirstDatabase.PartModel.
/// </summary>
/// <returns>The mapping view.</returns>
private static DbMappingView GetView4()
{
return new DbMappingView(@"
SELECT VALUE -- Constructing PartModel
[CodeFirstDatabaseSchema.PartModel](T1.PartModel_DbId, T1.PartModel_BTLPartDbId, T1.PartModel_CalcState, T1.PartModel_GRP, T1.PartModel_H, T1.PartModel_L, T1.PartModel_MachGroupDbId, T1.PartModel_Material, T1.PartModel_NAM, T1.PartModel_Id, T1.PartModel_PDN, T1.PartModel_ROT, T1.PartModel_State, T1.PartModel_W)
FROM (
SELECT
T.PartDbId AS PartModel_DbId,
T.BTLPartDbId AS PartModel_BTLPartDbId,
T.CALC_State AS PartModel_CalcState,
T.GRP AS PartModel_GRP,
T.H AS PartModel_H,
T.L AS PartModel_L,
T.MachGroupDbId AS PartModel_MachGroupDbId,
T.Material AS PartModel_Material,
T.NAM AS PartModel_NAM,
T.PartId AS PartModel_Id,
T.PDN AS PartModel_PDN,
T.ROT AS PartModel_ROT,
CAST(T.State AS [Edm.Int32]) AS PartModel_State,
T.W AS PartModel_W,
True AS _from0
FROM DatabaseContext.PartList AS T
) AS T1");
}
/// <summary>
/// Gets the view for DatabaseContext.BTLPartList.
/// </summary>
/// <returns>The mapping view.</returns>
private static DbMappingView GetView5()
{
return new DbMappingView(@"
SELECT VALUE -- Constructing BTLPartList
[EgtBEAMWALL.DataLayer.BTLPartModel](T1.BTLPartModel_BTLPartDbId, T1.[BTLPartModel.CALC_State], T1.BTLPartModel_CNT, T1.BTLPartModel_DO, T1.BTLPartModel_DON, T1.BTLPartModel_GRP, T1.BTLPartModel_H, T1.BTLPartModel_L, T1.BTLPartModel_Material, T1.BTLPartModel_NAM, T1.BTLPartModel_PartId, T1.BTLPartModel_PDN, T1.BTLPartModel_ProjDbId, T1.BTLPartModel_ROT, T1.BTLPartModel_TBP, T1.BTLPartModel_UNT, T1.BTLPartModel_W)
FROM (
SELECT
T.DbId AS BTLPartModel_BTLPartDbId,
T.CalcState AS [BTLPartModel.CALC_State],
T.CNT AS BTLPartModel_CNT,
T.DO AS BTLPartModel_DO,
T.DON AS BTLPartModel_DON,
T.GRP AS BTLPartModel_GRP,
T.H AS BTLPartModel_H,
T.L AS BTLPartModel_L,
T.Material AS BTLPartModel_Material,
T.NAM AS BTLPartModel_NAM,
T.Id AS BTLPartModel_PartId,
T.PDN AS BTLPartModel_PDN,
T.ProjDbId AS BTLPartModel_ProjDbId,
T.ROT AS BTLPartModel_ROT,
T.TBP AS BTLPartModel_TBP,
T.UNT AS BTLPartModel_UNT,
T.W AS BTLPartModel_W,
True AS _from0
FROM CodeFirstDatabase.BTLPartModel AS T
) AS T1");
}
/// <summary>
/// Gets the view for DatabaseContext.ProjList.
/// </summary>
/// <returns>The mapping view.</returns>
private static DbMappingView GetView6()
{
return new DbMappingView(@"
SELECT VALUE -- Constructing ProjList
[EgtBEAMWALL.DataLayer.ProjModel](T1.ProjModel_ProjDbId, T1.ProjModel_BTLFileName, T1.ProjModel_IsNew, T1.ProjModel_Locked, T1.ProjModel_ProdDbId, T1.ProjModel_ProjId)
FROM (
SELECT
T.ProjDbId AS ProjModel_ProjDbId,
T.BTLFileName AS ProjModel_BTLFileName,
T.IsNew AS ProjModel_IsNew,
T.Lock AS ProjModel_Locked,
T.ProdDbId AS ProjModel_ProdDbId,
T.Id AS ProjModel_ProjId,
True AS _from0
FROM CodeFirstDatabase.ProjModel AS T
) AS T1");
}
/// <summary>
/// Gets the view for DatabaseContext.ProdList.
/// </summary>
/// <returns>The mapping view.</returns>
private static DbMappingView GetView7()
{
return new DbMappingView(@"
SELECT VALUE -- Constructing ProdList
[EgtBEAMWALL.DataLayer.ProdModel](T1.ProdModel_ProdDbId, T1.ProdModel_Description, T1.ProdModel_IsNew, T1.ProdModel_Locked, T1.ProdModel_ProdId)
FROM (
SELECT
T.ProdDbId AS ProdModel_ProdDbId,
T.Description AS ProdModel_Description,
T.IsNew AS ProdModel_IsNew,
T.Lock AS ProdModel_Locked,
T.Id AS ProdModel_ProdId,
True AS _from0
FROM CodeFirstDatabase.ProdModel AS T
) AS T1");
}
/// <summary>
/// Gets the view for DatabaseContext.MachGroupList.
/// </summary>
/// <returns>The mapping view.</returns>
private static DbMappingView GetView8()
{
return new DbMappingView(@"
SELECT VALUE -- Constructing MachGroupList
[EgtBEAMWALL.DataLayer.MachGroupModel](T1.MachGroupModel_MachGroupDbId, T1.MachGroupModel_Assign, T1.MachGroupModel_H, T1.MachGroupModel_L, T1.MachGroupModel_Locked, T1.MachGroupModel_LogRev, T1.MachGroupModel_MachGroupId, T1.MachGroupModel_Material, T1.MachGroupModel_Name, T1.MachGroupModel_Order, T1.MachGroupModel_ProdDbId, T1.MachGroupModel_State, T1.MachGroupModel_W)
FROM (
SELECT
T.DbId AS MachGroupModel_MachGroupDbId,
T.Assign AS MachGroupModel_Assign,
T.H AS MachGroupModel_H,
T.L AS MachGroupModel_L,
T.Lock AS MachGroupModel_Locked,
T.LogRev AS MachGroupModel_LogRev,
T.Id AS MachGroupModel_MachGroupId,
T.Material AS MachGroupModel_Material,
T.Name AS MachGroupModel_Name,
T.[Order] AS MachGroupModel_Order,
T.ProdDbId AS MachGroupModel_ProdDbId,
CAST(T.State AS [EgtBEAMWALL.DataLayer.ItemState]) AS MachGroupModel_State,
T.W AS MachGroupModel_W,
True AS _from0
FROM CodeFirstDatabase.MachGroupModel AS T
) AS T1");
}
/// <summary>
/// Gets the view for DatabaseContext.PartList.
/// </summary>
/// <returns>The mapping view.</returns>
private static DbMappingView GetView9()
{
return new DbMappingView(@"
SELECT VALUE -- Constructing PartList
[EgtBEAMWALL.DataLayer.PartModel](T1.PartModel_PartDbId, T1.PartModel_BTLPartDbId, T1.[PartModel.CALC_State], T1.PartModel_GRP, T1.PartModel_H, T1.PartModel_L, T1.PartModel_MachGroupDbId, T1.PartModel_Material, T1.PartModel_NAM, T1.PartModel_PartId, T1.PartModel_PDN, T1.PartModel_ROT, T1.PartModel_State, T1.PartModel_W)
FROM (
SELECT
T.DbId AS PartModel_PartDbId,
T.BTLPartDbId AS PartModel_BTLPartDbId,
T.CalcState AS [PartModel.CALC_State],
T.GRP AS PartModel_GRP,
T.H AS PartModel_H,
T.L AS PartModel_L,
T.MachGroupDbId AS PartModel_MachGroupDbId,
T.Material AS PartModel_Material,
T.NAM AS PartModel_NAM,
T.Id AS PartModel_PartId,
T.PDN AS PartModel_PDN,
T.ROT AS PartModel_ROT,
CAST(T.State AS [EgtBEAMWALL.DataLayer.ItemState]) AS PartModel_State,
T.W AS PartModel_W,
True AS _from0
FROM CodeFirstDatabase.PartModel AS T
) AS T1");
}
}
}
+10
View File
@@ -51,6 +51,16 @@ namespace EgtBEAMWALL.DataLayer
/// </summary>
public DbSet<BTLPartModel> BTLPartList { get; set; }
/// <summary>
/// Machine Log management
/// </summary>
public DbSet<LogMachineModel> LogMachineList { get; set; }
/// <summary>
/// Support Log management
/// </summary>
public DbSet<LogSupportModel> LogSupportList { get; set; }
/// <summary>
/// Parts management
/// </summary>
+2
View File
@@ -11,6 +11,8 @@ namespace EgtBEAMWALL.DataLayer
public static DbManager obj = new DbManager();
public Controllers.BTLPartController BtlPartCtr = new Controllers.BTLPartController();
public Controllers.LogMachineController LogMacCtr = new Controllers.LogMachineController();
public Controllers.LogSupportController LogSupCtr = new Controllers.LogSupportController();
public Controllers.MachGroupController MachGroupCtr = new Controllers.MachGroupController();
public Controllers.PartController PartCtr = new Controllers.PartController();
public Controllers.ProdController ProdCtr = new Controllers.ProdController();
@@ -73,17 +73,20 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Constants.cs" />
<Compile Include="Controllers\LogMachineController.cs" />
<Compile Include="Controllers\DbController.cs" />
<Compile Include="Controllers\LogSupportController.cs" />
<Compile Include="Controllers\PartController .cs" />
<Compile Include="Controllers\ProdController.cs" />
<Compile Include="Controllers\MachGroupController.cs" />
<Compile Include="Controllers\ProjController.cs" />
<Compile Include="Controllers\BTLPartController.cs" />
<Compile Include="DatabaseContext.cs" />
<Compile Include="DatabaseContext.Views.cs" />
<Compile Include="DatabaseModels\LogSupportModel.cs" />
<Compile Include="DatabaseModels\PartModel.cs" />
<Compile Include="DatabaseModels\BTLPartModel.cs" />
<Compile Include="DatabaseModels\ProdModel.cs" />
<Compile Include="DatabaseModels\LogMachineModel.cs" />
<Compile Include="DatabaseModels\ProjModel.cs" />
<Compile Include="DatabaseModels\MachGroupModel.cs" />
<Compile Include="DbManager.cs" />
@@ -95,6 +98,10 @@
<Compile Include="Migrations\202104031327316_UpdateProjProd.designer.cs">
<DependentUpon>202104031327316_UpdateProjProd.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\202104031429492_AddLogModels.cs" />
<Compile Include="Migrations\202104031429492_AddLogModels.designer.cs">
<DependentUpon>202104031429492_AddLogModels.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\Configuration.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
@@ -115,6 +122,9 @@
<EmbeddedResource Include="Migrations\202104031327316_UpdateProjProd.resx">
<DependentUpon>202104031327316_UpdateProjProd.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\202104031429492_AddLogModels.resx">
<DependentUpon>202104031429492_AddLogModels.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
@@ -0,0 +1,29 @@
// <auto-generated />
namespace EgtBEAMWALL.DataLayer.Migrations
{
using System.CodeDom.Compiler;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
[GeneratedCode("EntityFramework.Migrations", "6.4.4")]
public sealed partial class AddLogModels : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(AddLogModels));
string IMigrationMetadata.Id
{
get { return "202104031429492_AddLogModels"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}
@@ -0,0 +1,47 @@
namespace EgtBEAMWALL.DataLayer.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class AddLogModels : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.LogMachine",
c => new
{
DbId = c.Int(nullable: false, identity: true),
CncFileName = c.String(unicode: false),
Description = c.String(unicode: false),
DtEvent = c.DateTime(nullable: false, precision: 0),
DtExported = c.DateTime(nullable: false, precision: 0),
EventType = c.Int(nullable: false),
MachineId = c.String(unicode: false),
Message = c.String(unicode: false),
SN = c.Int(nullable: false),
Value = c.Double(nullable: false),
})
.PrimaryKey(t => t.DbId);
CreateTable(
"dbo.LogSupport",
c => new
{
DbId = c.Int(nullable: false, identity: true),
DtEvent = c.DateTime(nullable: false, precision: 0),
Level = c.Int(nullable: false),
Message = c.String(unicode: false),
Target = c.Int(nullable: false),
})
.PrimaryKey(t => t.DbId);
}
public override void Down()
{
DropTable("dbo.LogSupport");
DropTable("dbo.LogMachine");
}
}
}
@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<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>
</data>
<data name="DefaultSchema" xml:space="preserve">
<value>dbo</value>
</data>
</root>