Update migrations e modelli dati x LOG
This commit is contained in:
@@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user