diff --git a/EgtBEAMWALL.DataLayer/Controllers/LogMachineController.cs b/EgtBEAMWALL.DataLayer/Controllers/LogMachineController.cs
new file mode 100644
index 00000000..4e7272f5
--- /dev/null
+++ b/EgtBEAMWALL.DataLayer/Controllers/LogMachineController.cs
@@ -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
+
+ ///
+ /// Create machine LOG record
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ 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;
+ }
+
+ ///
+ /// Delete by key
+ ///
+ ///
+ ///
+ 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();
+ }
+
+ ///
+ /// Get record by LogDbId
+ ///
+ ///
+ ///
+ public LogMachineModel FindByDbId(int LogDbId)
+ {
+ return dbCtx
+ .LogMachineList
+ .Where(x => x.LogDbId == LogDbId)
+ .SingleOrDefault();
+ }
+
+ ///
+ /// Get paginated data from DB (ASC ordered)
+ ///
+ ///
+ ///
+ ///
+ public List GetPaginatedAsc(DateTime dtStart, DateTime dtEnd)
+ {
+ // retrieve
+ return dbCtx
+ .LogMachineList
+ .Where(x => x.DtEvent >= dtStart && x.DtEvent <= dtEnd)
+ .OrderBy(x => x.DtEvent)
+ .ToList();
+ }
+
+ ///
+ /// Get paginated data from DB (DESC ordered)
+ ///
+ ///
+ ///
+ ///
+ public List GetPaginatedDesc(DateTime dtStart, DateTime dtEnd)
+ {
+ // retrieve
+ return dbCtx
+ .LogMachineList
+ .Where(x => x.DtEvent >= dtStart && x.DtEvent <= dtEnd)
+ .OrderByDescending(x => x.DtEvent)
+ .ToList();
+ }
+
+ ///
+ /// Update single LogMachineModel
+ ///
+ ///
+ ///
+ 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
+ }
+}
\ No newline at end of file
diff --git a/EgtBEAMWALL.DataLayer/Controllers/LogSupportController.cs b/EgtBEAMWALL.DataLayer/Controllers/LogSupportController.cs
new file mode 100644
index 00000000..6c8c1612
--- /dev/null
+++ b/EgtBEAMWALL.DataLayer/Controllers/LogSupportController.cs
@@ -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
+
+ ///
+ /// Create support LOG record
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ 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;
+ }
+
+ ///
+ /// Delete by key
+ ///
+ ///
+ ///
+ 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();
+ }
+
+ ///
+ /// Get record by LogDbId
+ ///
+ ///
+ ///
+ public LogSupportModel FindByDbId(int LogDbId)
+ {
+ return dbCtx
+ .LogSupportList
+ .Where(x => x.LogDbId == LogDbId)
+ .SingleOrDefault();
+ }
+
+ ///
+ /// Get paginated data from DB (ASC ordered)
+ ///
+ ///
+ ///
+ ///
+ public List GetPaginatedAsc(DateTime dtStart, DateTime dtEnd)
+ {
+ // retrieve
+ return dbCtx
+ .LogSupportList
+ .Where(x => x.DtEvent >= dtStart && x.DtEvent <= dtEnd)
+ .OrderBy(x => x.DtEvent)
+ .ToList();
+ }
+
+ ///
+ /// Get paginated data from DB (DESC ordered)
+ ///
+ ///
+ ///
+ ///
+ public List GetPaginatedDesc(DateTime dtStart, DateTime dtEnd)
+ {
+ // retrieve
+ return dbCtx
+ .LogSupportList
+ .Where(x => x.DtEvent >= dtStart && x.DtEvent <= dtEnd)
+ .OrderByDescending(x => x.DtEvent)
+ .ToList();
+ }
+
+ ///
+ /// Update single LogMachineModel
+ ///
+ ///
+ ///
+ 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
+ }
+}
\ No newline at end of file
diff --git a/EgtBEAMWALL.DataLayer/DatabaseContext.Views.cs b/EgtBEAMWALL.DataLayer/DatabaseContext.Views.cs
deleted file mode 100644
index 0403ab6b..00000000
--- a/EgtBEAMWALL.DataLayer/DatabaseContext.Views.cs
+++ /dev/null
@@ -1,373 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-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;
-
- ///
- /// Implements a mapping view cache.
- ///
- [GeneratedCode("Entity Framework 6 Power Tools", "0.9.2.0")]
- internal sealed class ViewsForBaseEntitySetsd48adf5bc101fdf35f60fe4b1751d23ae6e1294bd960d91e6583c77061593779 : DbMappingViewCache
- {
- ///
- /// Gets a hash value computed over the mapping closure.
- ///
- public override string MappingHashValue
- {
- get { return "d48adf5bc101fdf35f60fe4b1751d23ae6e1294bd960d91e6583c77061593779"; }
- }
-
- ///
- /// Gets a view corresponding to the specified extent.
- ///
- /// The extent.
- /// The mapping view, or null if the extent is not associated with a mapping view.
- 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;
- }
-
- ///
- /// Gets the view for CodeFirstDatabase.BTLPartModel.
- ///
- /// The mapping view.
- 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");
- }
-
- ///
- /// Gets the view for CodeFirstDatabase.ProjModel.
- ///
- /// The mapping view.
- 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");
- }
-
- ///
- /// Gets the view for CodeFirstDatabase.ProdModel.
- ///
- /// The mapping view.
- 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");
- }
-
- ///
- /// Gets the view for CodeFirstDatabase.MachGroupModel.
- ///
- /// The mapping view.
- 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");
- }
-
- ///
- /// Gets the view for CodeFirstDatabase.PartModel.
- ///
- /// The mapping view.
- 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");
- }
-
- ///
- /// Gets the view for DatabaseContext.BTLPartList.
- ///
- /// The mapping view.
- 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");
- }
-
- ///
- /// Gets the view for DatabaseContext.ProjList.
- ///
- /// The mapping view.
- 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");
- }
-
- ///
- /// Gets the view for DatabaseContext.ProdList.
- ///
- /// The mapping view.
- 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");
- }
-
- ///
- /// Gets the view for DatabaseContext.MachGroupList.
- ///
- /// The mapping view.
- 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");
- }
-
- ///
- /// Gets the view for DatabaseContext.PartList.
- ///
- /// The mapping view.
- 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");
- }
- }
-}
diff --git a/EgtBEAMWALL.DataLayer/DatabaseContext.cs b/EgtBEAMWALL.DataLayer/DatabaseContext.cs
index 9a12248f..1ac949a9 100644
--- a/EgtBEAMWALL.DataLayer/DatabaseContext.cs
+++ b/EgtBEAMWALL.DataLayer/DatabaseContext.cs
@@ -51,6 +51,16 @@ namespace EgtBEAMWALL.DataLayer
///
public DbSet BTLPartList { get; set; }
+ ///
+ /// Machine Log management
+ ///
+ public DbSet LogMachineList { get; set; }
+
+ ///
+ /// Support Log management
+ ///
+ public DbSet LogSupportList { get; set; }
+
///
/// Parts management
///
diff --git a/EgtBEAMWALL.DataLayer/DbManager.cs b/EgtBEAMWALL.DataLayer/DbManager.cs
index 5670164e..8bd4ee94 100644
--- a/EgtBEAMWALL.DataLayer/DbManager.cs
+++ b/EgtBEAMWALL.DataLayer/DbManager.cs
@@ -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();
diff --git a/EgtBEAMWALL.DataLayer/EgtBEAMWALL.DataLayer.csproj b/EgtBEAMWALL.DataLayer/EgtBEAMWALL.DataLayer.csproj
index 9e9d3148..0eb277c2 100644
--- a/EgtBEAMWALL.DataLayer/EgtBEAMWALL.DataLayer.csproj
+++ b/EgtBEAMWALL.DataLayer/EgtBEAMWALL.DataLayer.csproj
@@ -73,17 +73,20 @@
+
+
-
+
+
@@ -95,6 +98,10 @@
202104031327316_UpdateProjProd.cs
+
+
+ 202104031429492_AddLogModels.cs
+
@@ -115,6 +122,9 @@
202104031327316_UpdateProjProd.cs
+
+ 202104031429492_AddLogModels.cs
+
diff --git a/EgtBEAMWALL.DataLayer/Migrations/202104031429492_AddLogModels.Designer.cs b/EgtBEAMWALL.DataLayer/Migrations/202104031429492_AddLogModels.Designer.cs
new file mode 100644
index 00000000..312334ea
--- /dev/null
+++ b/EgtBEAMWALL.DataLayer/Migrations/202104031429492_AddLogModels.Designer.cs
@@ -0,0 +1,29 @@
+//
+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"); }
+ }
+ }
+}
diff --git a/EgtBEAMWALL.DataLayer/Migrations/202104031429492_AddLogModels.cs b/EgtBEAMWALL.DataLayer/Migrations/202104031429492_AddLogModels.cs
new file mode 100644
index 00000000..80891c42
--- /dev/null
+++ b/EgtBEAMWALL.DataLayer/Migrations/202104031429492_AddLogModels.cs
@@ -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");
+ }
+ }
+}
diff --git a/EgtBEAMWALL.DataLayer/Migrations/202104031429492_AddLogModels.resx b/EgtBEAMWALL.DataLayer/Migrations/202104031429492_AddLogModels.resx
new file mode 100644
index 00000000..58d28885
--- /dev/null
+++ b/EgtBEAMWALL.DataLayer/Migrations/202104031429492_AddLogModels.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ H4sIAAAAAAAEAO0dXW/juPG9QP+DoMdiz052e0AbOHfI2smuUdsJ4uTStwUjMV7d6cOVqDRB0V/Wh/6k/oVS36RIUSRFf2RvsfsQkZwhOZwZDoec8f/+89/Jzy+Bbz3DOPGi8Nw+HZ3YFgydyPXCzbmdoqcf/mL//NMf/zC5dIMX65eq3YesHYYMk3P7K0Lbs/E4cb7CACSjwHPiKIme0MiJgjFwo/H7k5O/jk9PxxCjsDEuy5rcpiHyAph/4M9pFDpwi1LgLyMX+klZjmvWOVZrBQKYbIEDz+3LDfp4ebF8uFgsRjOAwAK8wti2LnwP4MGsof9kWyAMIwQQHurZfQLXKI7CzXqLC4B/97qFuN0T8BNYTuGsaS47m5P32WzGDWCFykkTFAWKCE8/lOQZt8G1iGzX5MMEvMSERq/ZrHMintsf7xY3IEY5oW2r3eHZ1I+zxh10zv96BAks1mlEIntncUHe1VzzfvR+dIr/v7OmqY/SGJ6HMEUxwJA36aPvOX+Dr3fRbzA8D1PfJ2eB54HrqAJcdBNHWxij11v4RM9t9jh3bWtMIxi3MdTwPOCCBvMQfXhvWys8HPDow5ptCHqtURTDTzCEMUDQvQEIwRiv+tyFOeGZYbQ6nV4spl/WGBfs67MHz+puGILZdQX/MYp8CEINDKthQ/h0e1MhwCKLFZBtLcHLAoYb9PXcxn/a1pX3At2qpER6H3pYX2EgFKe9fXyuephFmOWg8hgXA+GXeKVjrIZ2PtHVxXLnfWTi0i8sPThmA7kGf/4qI7NiLLfXA+Xn7uPNMAT3QyX4QZU1V+DZ2+RajENS6CDbuoV+Xp989bbF3kpp/C91w6s4Cm4jv7W9VPVf1lEaO5mGiwSN7kC8gYge5WTc7F/CXS1DYmZLqzEdwX7W8LbqZiYrFeZ2MrymV54Ps4+dK54ZmsYwG2XN8vjjzgvU9fEMXb5so9gEqnmygv8cuokuvATthYSLyPmtmbTucPGny2Gzfo2trK9FysrlaqpakL8UTRodRdcw2qlVPVQvucb0kntEesnV1ks8htmhXprBxIm9bXGaejN6yYwyMSbjauIqLR2LaLMEzlcvhGZkpIXvCCQFj0hPUGrAvZ1EQ2d/+/deZfLyGVPgmCyFfEAZjnry2X5FlCofKnOeb7hlZ8RcwiQBm90zyHrgofAX4KdQ6TykorPW6TbjBGM6i8T3XWep7O2GZHsBn6FPCWOzKmWdqkjuSVAq45Q79KrSDONnWuZTHKVbM3xPozsCtq8HpMf8LfB9icBFknib3e+ih/abmjFlsWjcwudhW0u9zkNdjvtzBe/DpLuO3ewabqAnV+ps2GM6kJcpuUKcIxiUpYd0qfK9FLQaZFwVnGrGX8FrM8xpYex+8JguB/VvBvd/LahwF7mf+8Xfx91c9w5+LKr893KrN/g+7ji3gVKu+f7q+kasbkW4rNuVrNeaacHbA0SDq/m/Z3hEO94A62rBEJs2ahtVGhDbFOEwmSdXPtg073rktq0p1tGN24XeorK6Znc6HZ1k/yQ3Jyxv2BjyX7F8kixML8MSBo8wbri18Czljotz+4RZNar5JcbfND4VN17N6pY/nLKELkgqIDNzFB5A7BauQ5J8Lk3s/RO6EgojlC6QHZS7U6xmnr0kimVpvoiAWz8u2A/1ie1hANlrLIekd+ETkFcn0yh88uJAXqU8zG/qpqxxRDXNTiOpQ6D+IG6/dmKw3RLt/2x42TFxIsfL17H9dqQ4fdGdYVVriW+NGwuDeISyxCvrbfFa4m3s3P4TM4dOtByHHnGHTKM9GY3YhcIHHhhnpwzg43VNMF95IWJPR17oeFvgCwfRglK6Cs7IX/fSrpnBLQyzo5CQtEO7r3tpHff6KDQZEzwiZh3ua6iulRY/jWrWm36hK89JwldVMmx62ib55DqcQR8iaF04xWvmKUgc4LIWLxY11wAfiqYgyQ7cB1NK3Chap6GD2ANP8jxKXSwjdC81HNN2/cvzpMg3JaPiDs+SghnsTT8KlukNKEn2YNu5F3afcgle0dGN3adjScV7eEbsnIIMCwgiI9R26q4VMjCIvbJi48ToZxmOR8MYO7KeEGm9a9D86x6OzLoKb0412YuhuZGBGGexwlGFYRCGqA8l1S1IVg5fEOcEeY8ri0NkUnpl26yS4V1DRItO9jzYthrvGFdxMVxHo8rMkw48hGXYj8TtRuLKIWme63WgYt4H9iOs3EudCOnHOz0Ia4bqwNcW0D6qdS9h9/oRnEcvInljSDTiP39ui0LvubYeO8kxjET1nmNpNC4PDSVcuKXE9PlRKCwR+s9n8ic0YiaUNApoIjyRSRBYgzLc+2SWML2HBOljAjGNlrQICCM6FuyGYzi3KxyZEVuqkrYqOQEZLum2TeVYbhA1iMscET06zCVpg0mfJqyBJMtxArpUN0z1xl3XTcZFyHlZMBl3xKZPlmC79cINEatelljrIlB9+sNaPXw7KHCMnYQTxV2Ptu4JRTHYwFZt5tB14ZUXJ6gyRGxr6gZMs7aZ0rF5Vb2xlgi7ftWuVsFkf5fXKNz3IpTlwpp4JZorPMsgsxLzZxWsVHSAW1n+AOCDWPS6Yhr5aRCWdhvXbOxGRL6uIPFMge+UxQrIsgBQCktWIA+fRXBTk7lWg161wVcq8PkDERI+L5CH/0xDf1aBXdCwCxXY5ukGiaIplceUv80gkeQF8vDVuwsShRo75q8uSPC8QAG+dlxSSDrdmd2Y8ucbJJK8QB4+j6Ym4fMCefj7tizdq8nSAw39wIOdjFvaiTltMuqQ8QvRGlZK/9a24nDl2xz31DWvAHb37EXFGpPIqAoF5dfE7VEqsClWwdXECdHImnJ5bGUcIKUTiiIF9VjHFFNasi5VwFS+wqbw4DJFJeNyuaDDRS3mJzmFeThRdc2JqjtAVLtgd79IVKgfJQ9kxWFE1YhwGRKJo2bklqNuODu3HXvqTN2LoXvBNgYMfzJYlrLZyYpDSkkZGNfagYrCQ21mxINNEhlRrGK31zGvtOFeFyvgqoL1KExVoTyedcv8XitZ32XMKomgLDomPUD6143oAcofr6UHxBh2qgdMyVn5spbaRIqi/XNx5Wajjl/cp+QFJx2EE2nH33BGbF3kqPNhHwKRHiOuLIcwYxUKSuKoyo7fEWPCkKriO2kcRZna1lJHeOp7Ywx6lhgzQ9W+KKMzSRRl0SEObhyPqbK39Jg9NObc40N84xqOcTNe8U73uvD9Tzc+o172t+un7twnel69iHB+932b8lh/EzqNuRZtN6l7r69HW9egk/JKsj+PN3NHWTSxLUyUZ8/N7ieXr+t/+Lk2HOV/Tn0vt6urFksQek8wQUWwjP3j6MdWHvDjyck9ThLX51zpEgFI3XeZcvHterHtZKyzlxG3N3JdNQK90dJEL/rprXXAm+TWj1GknsyHyGyt0zsRO+9H4aZ4EdjgUAqNdweGxmvCtwPcdedBxK/romixq35guhZ4K61ujoN53DkPXfhybv8rBzqz5n//UsG9s3Kz+8w6sf49JCZeZ+xEhmod8PthIvigxIEaeZ81NGbX1aN6euWdaE5ORmVdoWESk7r4A+Wp0m5i6HjFr3qcGEiKaAgxlf9US2m3Mynrkq7wQQwYSHNCVtYZrkhnmFaWGjmN9WTOUOrgncgcJzPpscmcAdEYytI7YSvhjd7bNoHZ1LraTGWSP6nkmce+IzBJc3WsECZTri7xWvk9ddGsB1mjVJZbs3aV8FrtTQvjbtieyiCrxZlmGIoOIjSonUX3W2+aH+gEqm/1gD54S6dTo+pw8LCDuTEPg4FNlsplqukm2InJr5757piO6t+gc5OTp1N2rQnQQcttxL/6TbgoOdk7ZReDAh5y4P7uKDXiqzwSHTYkV1gVAy+T5YabyYETWq2bbUw3J1jnk3N5v46llQfsLaS1Ucr9pbiERrPN8OPRB6QcG5Zi7jCJvL61zF2KGmZHDNXOfyGdu+bt6qjel6JHp6jk829p6YcdsRZ/ILvWUsoqw1zKo28whZa2eugziA7CGxqSv2fuOJb8V2z+ifZKcrNblYvH5Eaiq4t3Ytiyf4zw8hc2vSg7Cid11a9dPRF1vG5uuvL0cPpwBX244j74OW84ya7o5Fi8bFd0C15/TSOZHunsWbwe6RYdPZaNentsawmmw3YDXn/iJDHM0gkYsYcLO1lwDym8aHZrxf2ymoB7MuGG9zN79rEk61IcuMDQ6UooM3zqO8nGNWS1+QLFi2AaPnnjKbe0Vq3LcOBGSpictMHMWtqrtqPJK6TPYt+DY2sjDbMr1+JrBvMfK6hQTDDOEDqUnVG3mYdPUWX1tEZUNWGuVRFwsRFyESPvCTgIVzswSfJfTip/NuAyeITuPLxO0TZFeMowePSpH+jKzCZR/3mOMHrMk+v8iUZiYgp4mF52S30dfkw9v/lhhCuOH7MDRWaPlbce2Vqi7PZj81pjWkXtzb8LUUm+2oy8g8HWx8iS63ANnqHO2O4TuIAb4LzelK/6u5H0LwRN9snMA5sYBEmJo4HHn5iH3eDlp/8DIDU4PQSNAAA=
+
+
+ dbo
+
+
\ No newline at end of file