Fix procedura di LOG
- aggiunta file NLog.config - aggiorna gestione scrittura dir - aggiunto log caso x caso su file
This commit is contained in:
@@ -106,7 +106,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Create: {exc}");
|
||||
string errMessage = $"EXCEPTION on BTLPart.Create: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
return partData;
|
||||
}
|
||||
@@ -150,7 +152,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on CreateBaseObj: {exc}");
|
||||
string errMessage = $"EXCEPTION on BTLPart.CreateBaseObj: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
|
||||
return partData;
|
||||
@@ -180,7 +184,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Delete: {exc}");
|
||||
string errMessage = $"EXCEPTION on BTLPart.Delete: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -209,7 +215,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on DeleteByProject: {exc}");
|
||||
string errMessage = $"EXCEPTION on BTLPart.DeleteByProject: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -385,12 +393,23 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Update: {exc}");
|
||||
string errMessage = $"EXCEPTION on BTLPart.Update: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Istanza logger
|
||||
/// </summary>
|
||||
private NLog.Logger Log;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using EgtBEAMWALL.DataLayer.DatabaseModels;
|
||||
|
||||
namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
{
|
||||
public class DbController : IDisposable
|
||||
{
|
||||
#region Private Fields
|
||||
|
||||
private AdminContext adbCtx;
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Public Fields
|
||||
|
||||
/// <summary>
|
||||
@@ -47,7 +38,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
{
|
||||
bool answ = false;
|
||||
string domain = isNetwork ? "%" : "localhost";
|
||||
// ricerca utente...
|
||||
// ricerca utente...
|
||||
var numUser = adbCtx
|
||||
.UserList
|
||||
.Where(x => x.User == username)
|
||||
@@ -99,12 +90,25 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on ResetDb: {exc}");
|
||||
string errMessage = $"EXCEPTION on DbController.ResetDb: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private AdminContext adbCtx;
|
||||
|
||||
/// <summary>
|
||||
/// Istanza logger
|
||||
/// </summary>
|
||||
private NLog.Logger Log;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -80,7 +80,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Create LogMachine: {exc}");
|
||||
string errMessage = $"EXCEPTION on LogMachine.Create: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
catch
|
||||
@@ -122,7 +124,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on DeleteByKey: {exc}");
|
||||
string errMessage = $"EXCEPTION on LogMachine.DeleteByKey: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -211,12 +215,23 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Update: {exc}");
|
||||
string errMessage = $"EXCEPTION on LogMachine.Update: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Istanza logger
|
||||
/// </summary>
|
||||
private NLog.Logger Log;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -46,7 +46,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Create LogSupport: {exc}");
|
||||
string errMessage = $"EXCEPTION on LogSupport.Create: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
catch
|
||||
@@ -78,7 +80,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on DeleteByKey: {exc}");
|
||||
string errMessage = $"EXCEPTION on LogSupport.DeleteByKey: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -167,12 +171,23 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Update: {exc}");
|
||||
string errMessage = $"EXCEPTION on LogSupport.Update: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Istanza logger
|
||||
/// </summary>
|
||||
private NLog.Logger Log;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -55,11 +55,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add MachGroup as rebuilt from NeedRedo (on top of order priority)
|
||||
/// <param name="ProdId">Id del Prod</param>
|
||||
/// <param name="newMachGroup">Nuovo MachGroup da associare</param>
|
||||
/// <returns></returns>
|
||||
/// <summary> Add MachGroup as rebuilt from NeedRedo (on top of order priority) <param
|
||||
/// name="ProdId">Id del Prod</param> <param name="newMachGroup">Nuovo MachGroup da
|
||||
/// associare</param> <returns></returns>
|
||||
public ProdModel AddMachGroupRedo(int ProdId, Core.MyMachGroupM newMachGroup)
|
||||
{
|
||||
// Recupero il PROD
|
||||
@@ -126,7 +124,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateMachGroup: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.UpdateMachGroup: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return currData;
|
||||
@@ -153,7 +153,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Create: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.Create: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return newMachGroup;
|
||||
@@ -196,7 +198,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Delete: ProdId: {ProdId} | MachGroupId: {MachGroupId}{Environment.NewLine}{exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.Delete: ProdId: {ProdId} | MachGroupId: {MachGroupId}{Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
|
||||
// se fatto aggiorno info sullo status
|
||||
@@ -266,7 +270,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on GetByProdAsc: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.GetByProdAsc: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
answ = localDbCtx
|
||||
.MachGroupList
|
||||
@@ -304,7 +310,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on GetByProdDesc: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.GetByProdDesc: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
answ = localDbCtx
|
||||
.MachGroupList
|
||||
@@ -360,7 +368,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateOrder: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.UpdateOrder: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -400,7 +410,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on RemoveFromSupervisor: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.RemoveFromSupervisor: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -434,7 +446,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateStatus: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.UpdateStatus: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -467,7 +481,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Update: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.Update: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -504,7 +520,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateStartEnd: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.UpdateEnd: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -537,7 +555,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateOrder: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.UpdateOrder: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -575,7 +595,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateStartEnd: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.UpdateStart: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -613,7 +635,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateStartEnd: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.UpdateStartEnd: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -647,19 +671,16 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateStatus: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.UpdateStatus: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set Supervisor & state for MachGroup
|
||||
/// </summary>
|
||||
/// <param name="ProdId"></param>
|
||||
/// <param name="MachGroupId"></param>
|
||||
/// <param name="SupervisorId"></param>
|
||||
/// <returns></returns>
|
||||
/// <summary> Set Supervisor & state for MachGroup </summary> <param name="ProdId"></param>
|
||||
/// <param name="MachGroupId"></param> <param name="SupervisorId"></param> <returns></returns>
|
||||
public bool UpdateSupervisor(int ProdId, int MachGroupId, string SupervisorId)
|
||||
{
|
||||
bool done = false;
|
||||
@@ -685,12 +706,23 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateSupervisor: {exc}");
|
||||
string errMessage = $"EXCEPTION on MachGroup.UpdateSupervisor: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Istanza logger
|
||||
/// </summary>
|
||||
private NLog.Logger Log;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -20,60 +20,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// Get BtlPartDBId by ProjId + PDN
|
||||
/// </summary>
|
||||
/// <param name="ProjId"></param>
|
||||
/// <param name="PDN"></param>
|
||||
/// <returns></returns>
|
||||
protected int FindBtlPart(int ProjId, int PDN)
|
||||
{
|
||||
int BtlPartDbId = 0;
|
||||
|
||||
using (DatabaseContext locallocalDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
var btlPart = locallocalDbCtx
|
||||
.BTLPartList
|
||||
.Where(x => x.Project.ProjId == ProjId && x.PDN == PDN)
|
||||
.SingleOrDefault();
|
||||
|
||||
if (btlPart != null)
|
||||
{
|
||||
BtlPartDbId = btlPart.BTLPartDbId;
|
||||
}
|
||||
}
|
||||
return BtlPartDbId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get BtlPartDBId by ProjId + BtlPartId
|
||||
/// </summary>
|
||||
/// <param name="ProjId"></param>
|
||||
/// <param name="BtlPartId"></param>
|
||||
/// <returns></returns>
|
||||
protected int FindBtlPartByBPI(int ProjId, int BtlPartId)
|
||||
{
|
||||
int BtlPartDbId = 0;
|
||||
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
var btlPart = localDbCtx
|
||||
.BTLPartList
|
||||
.Where(x => x.Project.ProjId == ProjId && x.PartId == BtlPartId)
|
||||
.SingleOrDefault();
|
||||
|
||||
if (btlPart != null)
|
||||
{
|
||||
BtlPartDbId = btlPart.BTLPartDbId;
|
||||
}
|
||||
}
|
||||
return BtlPartDbId;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
@@ -143,7 +89,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Delete: ProdId: {ProdId} | MachGroupId: {MachGroupId} | PartId: {PartId}{Environment.NewLine}{exc}");
|
||||
string errMessage = $"EXCEPTION on Part.Delete: ProdId: {ProdId} | MachGroupId: {MachGroupId} | PartId: {PartId}{Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -173,7 +121,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on Delete: {exc}");
|
||||
string errMessage = $"EXCEPTION on Part.Delete: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -202,7 +152,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on DeleteByMachGroup: {exc}");
|
||||
string errMessage = $"EXCEPTION on Part.DeleteByMachGroup: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -275,8 +227,12 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
// aggiorno info sullo status
|
||||
StatusMapController.man.UpdateAction("", updItem.MachGroup.Prod.ProdId, updItem.PartId, Core.StatusMapItemType.Part, Core.StatusMapOpType.MachGroupMod, "");
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
catch (Exception exc)
|
||||
{
|
||||
string errMessage = $"EXCEPTION on Part.Update: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
@@ -308,7 +264,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateStatus: {exc}");
|
||||
string errMessage = $"EXCEPTION on Part.UpdateEnd: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -341,7 +299,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateStatus: {exc}");
|
||||
string errMessage = $"EXCEPTION on Part.UpdateStart: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -375,7 +335,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateStatus: {exc}");
|
||||
string errMessage = $"EXCEPTION on Part.UpdateStatus: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -383,5 +345,68 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// Get BtlPartDBId by ProjId + PDN
|
||||
/// </summary>
|
||||
/// <param name="ProjId"></param>
|
||||
/// <param name="PDN"></param>
|
||||
/// <returns></returns>
|
||||
protected int FindBtlPart(int ProjId, int PDN)
|
||||
{
|
||||
int BtlPartDbId = 0;
|
||||
|
||||
using (DatabaseContext locallocalDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
var btlPart = locallocalDbCtx
|
||||
.BTLPartList
|
||||
.Where(x => x.Project.ProjId == ProjId && x.PDN == PDN)
|
||||
.SingleOrDefault();
|
||||
|
||||
if (btlPart != null)
|
||||
{
|
||||
BtlPartDbId = btlPart.BTLPartDbId;
|
||||
}
|
||||
}
|
||||
return BtlPartDbId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get BtlPartDBId by ProjId + BtlPartId
|
||||
/// </summary>
|
||||
/// <param name="ProjId"></param>
|
||||
/// <param name="BtlPartId"></param>
|
||||
/// <returns></returns>
|
||||
protected int FindBtlPartByBPI(int ProjId, int BtlPartId)
|
||||
{
|
||||
int BtlPartDbId = 0;
|
||||
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
var btlPart = localDbCtx
|
||||
.BTLPartList
|
||||
.Where(x => x.Project.ProjId == ProjId && x.PartId == BtlPartId)
|
||||
.SingleOrDefault();
|
||||
|
||||
if (btlPart != null)
|
||||
{
|
||||
BtlPartDbId = btlPart.BTLPartDbId;
|
||||
}
|
||||
}
|
||||
return BtlPartDbId;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Istanza logger
|
||||
/// </summary>
|
||||
private NLog.Logger Log;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,13 @@
|
||||
using System;
|
||||
using EgtBEAMWALL.DataLayer.DatabaseModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using EgtBEAMWALL.DataLayer.DatabaseModels;
|
||||
using static EgtBEAMWALL.Core.ConstBeam;
|
||||
|
||||
namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
{
|
||||
public class ProdController : IDisposable
|
||||
{
|
||||
#region Private Fields
|
||||
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Public Fields
|
||||
|
||||
public static ProdController man = new ProdController();
|
||||
@@ -28,49 +22,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// Helper conversione modelli
|
||||
/// </summary>
|
||||
/// <param name="currProd"></param>
|
||||
/// <returns></returns>
|
||||
protected Core.ProdFileM coreConv(ProdModel currProd)
|
||||
{
|
||||
Core.ProdFileM answ = Core.ProdFileM.CreateProdFileM(currProd.ProdId, ProjIdByProd(currProd.ProdId), currProd.DtCreated, currProd.Description, currProd.PType, currProd.Machine);
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get LAST paginated data from DB (DESC ordered)
|
||||
/// </summary>
|
||||
/// <param name="numRecord"></param>
|
||||
/// <returns></returns>
|
||||
protected List<ProdModel> GetLastDbModelDesc(int numRecord)
|
||||
{
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
// se numRecord = 0 --> passo tutti
|
||||
if (numRecord == 0)
|
||||
{
|
||||
numRecord = localDbCtx.ProdList.Count();
|
||||
}
|
||||
// retrieve
|
||||
return localDbCtx
|
||||
.ProdList
|
||||
.OrderByDescending(x => x.ProdId)
|
||||
.Take(numRecord)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
protected List<int> ProjIdByProd(int ProdId)
|
||||
{
|
||||
return DbManager.obj.ProjCtr.GetByProdAsc(ProdId).Select(y => y.nProjId).ToList();
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
@@ -159,7 +110,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on DeleteProd: {exc}");
|
||||
string errMessage = $"EXCEPTION on Prod.DeleteProd: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -285,8 +238,8 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifica prod assegnato a supervisor:
|
||||
/// ...se c'e' anche un solo machgroup del prod assegnato ad un supervisor o in stato 0 (dovrebbe essere la stessa cosa?)
|
||||
/// Verifica prod assegnato a supervisor: ...se c'e' anche un solo machgroup del prod
|
||||
/// assegnato ad un supervisor o in stato 0 (dovrebbe essere la stessa cosa?)
|
||||
/// </summary>
|
||||
/// <param name="ProdId"></param>
|
||||
/// <returns></returns>
|
||||
@@ -304,12 +257,39 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
return numAssigned > 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manage Lock by ProdId (proj & prod)
|
||||
/// </summary>
|
||||
/// <param name="ProdId">ProjID</param>
|
||||
/// <param name="Locked">Stato Lock da impostare</param>
|
||||
/// <returns></returns>
|
||||
/// <summary> Return Lock by ProdId (proj & prod) </summary> <param
|
||||
/// name="ProdId">ProjID</param> <returns></returns>
|
||||
public bool IsLockByProdId(int ProdId)
|
||||
{
|
||||
bool bIsLock = false;
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
// seleziono il prod...
|
||||
var currProd = localDbCtx
|
||||
.ProdList
|
||||
.Where(x => x.ProdId == ProdId)
|
||||
.FirstOrDefault();
|
||||
|
||||
if (currProd != null)
|
||||
{
|
||||
bIsLock = currProd.Locked;
|
||||
|
||||
var currProj = localDbCtx
|
||||
.ProjList
|
||||
.Where(x => x.ProdDbId == currProd.ProdDbId)
|
||||
.ToList();
|
||||
|
||||
if (currProj != null && !bIsLock)
|
||||
{
|
||||
bIsLock = currProj.Any(x => x.Locked);
|
||||
}
|
||||
}
|
||||
}
|
||||
return bIsLock;
|
||||
}
|
||||
|
||||
/// <summary> Manage Lock by ProdId (proj & prod) </summary> <param
|
||||
/// name="ProdId">ProjID</param> <param name="Locked">Stato Lock da impostare</param> <returns></returns>
|
||||
public ProdModel LockByProdId(int ProdId, bool Locked)
|
||||
{
|
||||
ProdModel currProd;
|
||||
@@ -344,46 +324,12 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
return currProd;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return Lock by ProdId (proj & prod)
|
||||
/// </summary>
|
||||
/// <param name="ProdId">ProjID</param>
|
||||
/// <returns></returns>
|
||||
public bool IsLockByProdId(int ProdId)
|
||||
{
|
||||
bool bIsLock = false;
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
// seleziono il prod...
|
||||
var currProd = localDbCtx
|
||||
.ProdList
|
||||
.Where(x => x.ProdId == ProdId)
|
||||
.FirstOrDefault();
|
||||
|
||||
if (currProd != null)
|
||||
{
|
||||
bIsLock = currProd.Locked;
|
||||
|
||||
var currProj = localDbCtx
|
||||
.ProjList
|
||||
.Where(x => x.ProdDbId == currProd.ProdDbId)
|
||||
.ToList();
|
||||
|
||||
if (currProj != null && !bIsLock)
|
||||
{
|
||||
bIsLock = currProj.Any(x => x.Locked);
|
||||
}
|
||||
}
|
||||
}
|
||||
return bIsLock;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reinizializzaizone del controller
|
||||
/// </summary>
|
||||
public void ResetController()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update single PROD
|
||||
@@ -547,38 +493,16 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateMachGroup: {exc}");
|
||||
string errMessage = $"EXCEPTION on Prod.UpdateMachGroup: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return currData;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update record su DB x PType
|
||||
/// </summary>
|
||||
/// <param name="ProdId"></param>
|
||||
/// <param name="PType"></param>
|
||||
/// <returns></returns>
|
||||
public Core.ProdFileM UpdatePType(int ProdId, BWType PType)
|
||||
{
|
||||
ProdModel currData;
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
currData = localDbCtx
|
||||
.ProdList
|
||||
.Where(x => x.ProdId == ProdId)
|
||||
.SingleOrDefault();
|
||||
// aggiorno valore BTL
|
||||
currData.PType = PType;
|
||||
|
||||
// Commit changes
|
||||
localDbCtx.SaveChanges();
|
||||
}
|
||||
return coreConv(currData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update record su DB x PType
|
||||
/// Update record su DB x PType
|
||||
/// </summary>
|
||||
/// <param name="ProdId"></param>
|
||||
/// <param name="Machine"></param>
|
||||
@@ -601,6 +525,82 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
return coreConv(currData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update record su DB x PType
|
||||
/// </summary>
|
||||
/// <param name="ProdId"></param>
|
||||
/// <param name="PType"></param>
|
||||
/// <returns></returns>
|
||||
public Core.ProdFileM UpdatePType(int ProdId, BWType PType)
|
||||
{
|
||||
ProdModel currData;
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
currData = localDbCtx
|
||||
.ProdList
|
||||
.Where(x => x.ProdId == ProdId)
|
||||
.SingleOrDefault();
|
||||
// aggiorno valore BTL
|
||||
currData.PType = PType;
|
||||
|
||||
// Commit changes
|
||||
localDbCtx.SaveChanges();
|
||||
}
|
||||
return coreConv(currData);
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// Helper conversione modelli
|
||||
/// </summary>
|
||||
/// <param name="currProd"></param>
|
||||
/// <returns></returns>
|
||||
protected Core.ProdFileM coreConv(ProdModel currProd)
|
||||
{
|
||||
Core.ProdFileM answ = Core.ProdFileM.CreateProdFileM(currProd.ProdId, ProjIdByProd(currProd.ProdId), currProd.DtCreated, currProd.Description, currProd.PType, currProd.Machine);
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get LAST paginated data from DB (DESC ordered)
|
||||
/// </summary>
|
||||
/// <param name="numRecord"></param>
|
||||
/// <returns></returns>
|
||||
protected List<ProdModel> GetLastDbModelDesc(int numRecord)
|
||||
{
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
// se numRecord = 0 --> passo tutti
|
||||
if (numRecord == 0)
|
||||
{
|
||||
numRecord = localDbCtx.ProdList.Count();
|
||||
}
|
||||
// retrieve
|
||||
return localDbCtx
|
||||
.ProdList
|
||||
.OrderByDescending(x => x.ProdId)
|
||||
.Take(numRecord)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
protected List<int> ProjIdByProd(int ProdId)
|
||||
{
|
||||
return DbManager.obj.ProjCtr.GetByProdAsc(ProdId).Select(y => y.nProjId).ToList();
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Istanza logger
|
||||
/// </summary>
|
||||
private NLog.Logger Log;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -2,18 +2,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static EgtBEAMWALL.Core.ConstBeam;
|
||||
|
||||
namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
{
|
||||
public class ProjController : IDisposable
|
||||
{
|
||||
#region Private Fields
|
||||
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Public Constructors
|
||||
|
||||
public ProjController()
|
||||
@@ -22,81 +16,11 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// Helper conversione modelli
|
||||
/// </summary>
|
||||
/// <param name="currProj"></param>
|
||||
/// <returns></returns>
|
||||
protected Core.ProjFileM coreConv(ProjModel currProj)
|
||||
{
|
||||
Core.ProjFileM answ = null;
|
||||
if (currProj != null)
|
||||
{
|
||||
answ = Core.ProjFileM.CreateProjFileM(currProj.ProjId, ProdIdByProdDbId(currProj.ProdDbId), currProj.DtCreated, currProj.DtExported, currProj.ListName, currProj.BTLFileName, currProj.IsNew, currProj.Locked, currProj.PType, currProj.Machine);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get LAST paginated data from DB (DESC ordered)
|
||||
/// </summary>
|
||||
/// <param name="numRecord"></param>
|
||||
/// <returns></returns>
|
||||
protected List<ProjModel> GetLastDbModelDesc(int numRecord)
|
||||
{
|
||||
// se numRecord = 0 --> passo tutti
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
if (numRecord == 0)
|
||||
{
|
||||
numRecord = localDbCtx.ProjList.Count();
|
||||
}
|
||||
// retrieve
|
||||
return localDbCtx
|
||||
.ProjList
|
||||
.OrderByDescending(x => x.ProjId)
|
||||
.Take(numRecord)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get ProdId by ProdDbId, 0 se non trovato
|
||||
/// </summary>
|
||||
/// <param name="ProdDbId"></param>
|
||||
/// <returns></returns>
|
||||
protected int ProdIdByProdDbId(int? ProdDbId)
|
||||
{
|
||||
int answ = 0;
|
||||
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
if (ProdDbId != null)
|
||||
{
|
||||
var prodRecord = localDbCtx
|
||||
.ProdList
|
||||
.Where(x => x.ProdDbId == ProdDbId)
|
||||
.SingleOrDefault();
|
||||
|
||||
if (prodRecord != null)
|
||||
{
|
||||
answ = prodRecord.ProdId;
|
||||
}
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Search for already imported BTL from FileName (only)
|
||||
/// =0 : NOT found
|
||||
/// >0 : ProjId (already rpesent) for overwrite
|
||||
/// =0 : NOT found >0 : ProjId (already rpesent) for overwrite
|
||||
/// </summary>
|
||||
/// <param name="BTLFileName"></param>
|
||||
/// <returns></returns>
|
||||
@@ -125,7 +49,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
var currProj = localDbCtx
|
||||
var currProj = localDbCtx
|
||||
.ProjList
|
||||
.Where(x => x.ProjId == ProjId)
|
||||
.SingleOrDefault();
|
||||
@@ -145,7 +69,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on DeleteProj: {exc}");
|
||||
string errMessage = $"EXCEPTION on Proj.DeleteProj: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -158,7 +84,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
/// <summary>
|
||||
/// Get records filtered by BtlPartName matching regexp BtlFileName[_number]
|
||||
/// </summary>
|
||||
/// <param name="BtlFileName">Base name to search for (=starts by BtlFileName%)</param>
|
||||
/// <param name="BtlFileName">Base name to search for (=starts by BtlFileName%)</param>
|
||||
/// <returns></returns>
|
||||
public List<ProjModel> FindByBtlFileName(string BtlFileName)
|
||||
{
|
||||
@@ -194,7 +120,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return searchResult;
|
||||
@@ -270,7 +195,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on GetByProdAsc: {exc}");
|
||||
string errMessage = $"EXCEPTION on Proj.GetByProdAsc: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
// retrieve
|
||||
var dbRes = localDbCtx
|
||||
@@ -308,7 +235,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on GetByProdAsc: {exc}");
|
||||
string errMessage = $"EXCEPTION on Proj.GetByProdDesc: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
// retrieve
|
||||
var dbRes = localDbCtx
|
||||
@@ -409,12 +338,8 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
return nextId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manage Lock by ProjId (proj & prod)
|
||||
/// </summary>
|
||||
/// <param name="ProjId">ProjID</param>
|
||||
/// <param name="Locked">Stato Lock da impostare</param>
|
||||
/// <returns></returns>
|
||||
/// <summary> Manage Lock by ProjId (proj & prod) </summary> <param
|
||||
/// name="ProjId">ProjID</param> <param name="Locked">Stato Lock da impostare</param> <returns></returns>
|
||||
public Core.ProjFileM LockByProjId(int ProjId, bool Locked)
|
||||
{
|
||||
ProjModel currProj;
|
||||
@@ -465,7 +390,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
/// </summary>
|
||||
public void ResetController()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reimposta come NEW
|
||||
@@ -537,7 +462,8 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
// 2021.05.03 modifica update: esistenti le MODIFICO, nuove aggiungo, inesistenti elimino in cascata con Part
|
||||
// 2021.05.03 modifica update: esistenti le MODIFICO, nuove aggiungo, inesistenti
|
||||
// elimino in cascata con Part
|
||||
|
||||
// sel delle BTLParts del proj
|
||||
List<BTLPartModel> oldBtlParts = localDbCtx
|
||||
@@ -607,7 +533,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update record su DB x nomeBTL, ListName, ExportDate
|
||||
/// Update record su DB x nomeBTL, ListName, ExportDate
|
||||
/// </summary>
|
||||
/// <param name="ProjId"></param>
|
||||
/// <param name="BTLFileName"></param>
|
||||
@@ -625,7 +551,8 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
.Where(x => x.ProjId == ProjId)
|
||||
.SingleOrDefault();
|
||||
|
||||
// 2022.01.24: verifico UNIVOCITA' nel nome del file: SE fosse duplicato --> nuovo nome, nel formato nomeOriginale_idx, dove idx è il contatore libero successivo
|
||||
// 2022.01.24: verifico UNIVOCITA' nel nome del file: SE fosse duplicato --> nuovo
|
||||
// nome, nel formato nomeOriginale_idx, dove idx è il contatore libero successivo
|
||||
var duplicateList = FindByBtlFileName(BTLFileName);
|
||||
// devo verificare SOLO SE la lista non è vuota
|
||||
if (duplicateList != null && duplicateList.Count > 0)
|
||||
@@ -640,7 +567,8 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
BTLFileName = $"{BTLFileName}_1";
|
||||
}
|
||||
}
|
||||
// se ne ho + di 1 --> so che il maxId interno avrò il valore ULTIMO x prendere il successivo
|
||||
// se ne ho + di 1 --> so che il maxId interno avrò il valore ULTIMO x prendere
|
||||
// il successivo
|
||||
else
|
||||
{
|
||||
var lastRec = duplicateList.OrderByDescending(x => x.ProjDbId).FirstOrDefault();
|
||||
@@ -672,7 +600,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update record su DB x nomeBTL, ListName, ExportDate
|
||||
/// Update record su DB x nomeBTL, ListName, ExportDate
|
||||
/// </summary>
|
||||
/// <param name="ProjId"></param>
|
||||
/// <param name="ListName"></param>
|
||||
@@ -696,7 +624,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update record su DB x PType
|
||||
/// Update record su DB x PType
|
||||
/// </summary>
|
||||
/// <param name="ProjId"></param>
|
||||
/// <param name="Machine"></param>
|
||||
@@ -720,5 +648,83 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// Helper conversione modelli
|
||||
/// </summary>
|
||||
/// <param name="currProj"></param>
|
||||
/// <returns></returns>
|
||||
protected Core.ProjFileM coreConv(ProjModel currProj)
|
||||
{
|
||||
Core.ProjFileM answ = null;
|
||||
if (currProj != null)
|
||||
{
|
||||
answ = Core.ProjFileM.CreateProjFileM(currProj.ProjId, ProdIdByProdDbId(currProj.ProdDbId), currProj.DtCreated, currProj.DtExported, currProj.ListName, currProj.BTLFileName, currProj.IsNew, currProj.Locked, currProj.PType, currProj.Machine);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get LAST paginated data from DB (DESC ordered)
|
||||
/// </summary>
|
||||
/// <param name="numRecord"></param>
|
||||
/// <returns></returns>
|
||||
protected List<ProjModel> GetLastDbModelDesc(int numRecord)
|
||||
{
|
||||
// se numRecord = 0 --> passo tutti
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
if (numRecord == 0)
|
||||
{
|
||||
numRecord = localDbCtx.ProjList.Count();
|
||||
}
|
||||
// retrieve
|
||||
return localDbCtx
|
||||
.ProjList
|
||||
.OrderByDescending(x => x.ProjId)
|
||||
.Take(numRecord)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get ProdId by ProdDbId, 0 se non trovato
|
||||
/// </summary>
|
||||
/// <param name="ProdDbId"></param>
|
||||
/// <returns></returns>
|
||||
protected int ProdIdByProdDbId(int? ProdDbId)
|
||||
{
|
||||
int answ = 0;
|
||||
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
if (ProdDbId != null)
|
||||
{
|
||||
var prodRecord = localDbCtx
|
||||
.ProdList
|
||||
.Where(x => x.ProdDbId == ProdDbId)
|
||||
.SingleOrDefault();
|
||||
|
||||
if (prodRecord != null)
|
||||
{
|
||||
answ = prodRecord.ProdId;
|
||||
}
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Istanza logger
|
||||
/// </summary>
|
||||
private NLog.Logger Log;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -7,11 +7,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
{
|
||||
public class StatusMapController : IDisposable
|
||||
{
|
||||
#region Private Fields
|
||||
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Public Fields
|
||||
|
||||
/// <summary>
|
||||
@@ -34,7 +29,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
/// <summary>
|
||||
/// Elimina i dati di una sessione (SupervisorId) precedente
|
||||
/// </summary>
|
||||
/// <param name="Session">Se vuoto --> tutti</param>
|
||||
/// <param name="Session">Se vuoto --> tutti</param>
|
||||
/// <returns></returns>
|
||||
public bool DeleteSession(string Session)
|
||||
{
|
||||
@@ -68,7 +63,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on DeleteSession: {exc}");
|
||||
string errMessage = $"EXCEPTION on StatusMap.DeleteSession: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
return done;
|
||||
@@ -97,7 +94,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get data for session where Index > minIndex ordered by index DESC
|
||||
/// Get data for session where Index > minIndex ordered by index DESC
|
||||
/// </summary>
|
||||
/// <param name="Session"></param>
|
||||
/// <param name="minIndex"></param>
|
||||
@@ -258,7 +255,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Console.WriteLine($"EXCEPTION on UpdateAction: {exc}");
|
||||
string errMessage = $"EXCEPTION on StatusMap.UpdateAction: {Environment.NewLine}{exc}";
|
||||
Console.WriteLine(errMessage);
|
||||
Log.Error(errMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -266,5 +265,14 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Istanza logger
|
||||
/// </summary>
|
||||
private NLog.Logger Log;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
|
||||
namespace EgtBEAMWALL.DataLayer
|
||||
@@ -76,6 +78,24 @@ namespace EgtBEAMWALL.DataLayer
|
||||
ADMIN_CONNECTION_STRING = $"server={DATABASE_SERV};port=3306;database=mysql;uid=root;pwd=Egalware_24068!;sslmode=None;CHARSET=utf8";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Aggiorna conf NLog x target DIR
|
||||
/// </summary>
|
||||
/// <param name="logDir"></param>
|
||||
public static void SetupLogDir(string logDir)
|
||||
{
|
||||
string appDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
||||
string filePath = Path.Combine(appDir, "NLog.config");
|
||||
// leggo il file NLog
|
||||
string rawData = File.ReadAllText(filePath);
|
||||
|
||||
// sostituzione livello minimo da selezione
|
||||
rawData = rawData.Replace("${basedir}", logDir);
|
||||
|
||||
// ri-scrivo file NLog
|
||||
File.WriteAllText(filePath, rawData);
|
||||
}
|
||||
|
||||
public static bool CheckUser(string nKey, string sKey, bool isNetwork)
|
||||
{
|
||||
// esecuzione script di install locale
|
||||
|
||||
@@ -55,6 +55,9 @@
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NLog.5.0.1\lib\net46\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
@@ -63,6 +66,7 @@
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Drawing.Design" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.Management" />
|
||||
<Reference Include="System.Security" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
@@ -127,6 +131,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="NLog.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
|
||||
autoReload="true"
|
||||
throwExceptions="false"
|
||||
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
|
||||
|
||||
<variable name="logDir" value="${basedir}"/>
|
||||
<targets>
|
||||
<target xsi:type="File"
|
||||
name="f_base"
|
||||
fileName="${logDir}/${shortdate}.log"
|
||||
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}"
|
||||
archiveFileName="${logDir}/${shortdate}.{###}.log"
|
||||
archiveNumbering="Sequence"
|
||||
archiveAboveSize="10240000"
|
||||
maxArchiveFiles="60"
|
||||
enableArchiveFileCompression="false"
|
||||
keepFileOpen="false"
|
||||
/>
|
||||
<target xsi:type="File"
|
||||
name="f_error"
|
||||
fileName="${logDir}/${shortdate}_err.log"
|
||||
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}${newline}${exception:format=tostring}"
|
||||
archiveFileName="${logDir}/${shortdate}_err.{###}.log"
|
||||
archiveNumbering="Sequence"
|
||||
archiveAboveSize="10240000"
|
||||
maxArchiveFiles="60"
|
||||
enableArchiveFileCompression="false"
|
||||
keepFileOpen="false"
|
||||
/>
|
||||
</targets>
|
||||
<rules>
|
||||
<!-- Logging Levels (Trace, Debug, Info, Warn, Error, Fatal)-->
|
||||
<logger name="*" minlevel="Info" maxlevel="Warn" final="true" writeTo="f_base" />
|
||||
<logger name="*" minlevel="Error" writeTo="f_error" />
|
||||
</rules>
|
||||
</nlog>
|
||||
@@ -2,4 +2,5 @@
|
||||
<packages>
|
||||
<package id="EntityFramework" version="6.4.4" targetFramework="net452" />
|
||||
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net452" />
|
||||
<package id="NLog" version="5.0.1" targetFramework="net472" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user