Merge remote-tracking branch 'gitlab.seriate/DataLayer' into feature/NewWarehouseTest
This commit is contained in:
@@ -45,7 +45,8 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
AliasDTO answ = new AliasDTO()
|
||||
{
|
||||
ValOrig = currRec.ValueOriginal,
|
||||
ValAlias = currRec.ValueAlias
|
||||
ValAlias = currRec.ValueAlias,
|
||||
IsActive = true
|
||||
};
|
||||
return answ;
|
||||
}
|
||||
@@ -233,6 +234,43 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Eliminazione eventuali record Alias nella lista (se presenti)
|
||||
/// </summary>
|
||||
/// <param name="updList"></param>
|
||||
/// <returns></returns>
|
||||
public bool DeleteList(List<AliasModel> updList)
|
||||
{
|
||||
bool fatto = false;
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (var updItem in updList)
|
||||
{
|
||||
|
||||
var item2update = localDbCtx
|
||||
.AliasList
|
||||
.Where(x => x.Family == updItem.Family && x.ValueOriginal.ToLower() == updItem.ValueOriginal.ToLower())
|
||||
.SingleOrDefault();
|
||||
|
||||
if (item2update != null)
|
||||
{
|
||||
localDbCtx.AliasList.Remove(updItem);
|
||||
}
|
||||
}
|
||||
// Commit changes
|
||||
localDbCtx.SaveChanges();
|
||||
fatto = true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"EXCEPTION on Alias.DeleteList: {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
@@ -94,8 +94,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
try
|
||||
{
|
||||
List<AliasDTO> list2merge = commLib.AliasGet();
|
||||
// effettuo conversione DTO --> model + merge
|
||||
List<AliasModel> list2MergeDb = list2merge.Select(x => AliasController.ConvToModel(x, "MatCode")).ToList();
|
||||
// 2024.04.04 effettuo conversione DTO --> model + merge x attivi
|
||||
List<AliasModel> list2MergeDb = list2merge.Where(x => x.IsActive).Select(x => AliasController.ConvToModel(x, "MatCode")).ToList();
|
||||
// 2024.04.04 prendo quelli con cancellazione logica che devo poi eliminare in locale...
|
||||
List<AliasModel> list2DeleteDb = list2merge.Where(x => x.IsActive == false).Select(x => AliasController.ConvToModel(x, "MatCode")).ToList();
|
||||
// ciclo...
|
||||
if (list2MergeDb == null)
|
||||
{
|
||||
@@ -103,8 +105,11 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
}
|
||||
else
|
||||
{
|
||||
// inizio con eventuale eliminazione...
|
||||
var deleteOk = dbContr.DeleteList(list2DeleteDb);
|
||||
// ora merge
|
||||
var updateOk = dbContr.UpsertList(list2MergeDb);
|
||||
if (updateOk)
|
||||
if (updateOk || deleteOk)
|
||||
{
|
||||
// in primis leggo l'elenco materiali dal DB locale
|
||||
List<AliasModel> listDb = dbContr.GetFilt("MatCode");
|
||||
@@ -157,17 +162,22 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
try
|
||||
{
|
||||
List<AliasDTO> list2merge = await commLib.AliasGetAsync();
|
||||
// effettuo conversione DTO --> model + merge
|
||||
List<AliasModel> list2MergeDb = list2merge.Select(x => AliasController.ConvToModel(x, "MatCode")).ToList();
|
||||
// 2024.04.04 effettuo conversione DTO --> model + merge x attivi
|
||||
List<AliasModel> list2MergeDb = list2merge.Where(x => x.IsActive).Select(x => AliasController.ConvToModel(x, "MatCode")).ToList();
|
||||
// 2024.04.04 prendo quelli con cancellazione logica che devo poi eliminare in locale...
|
||||
List<AliasModel> list2DeleteDb = list2merge.Where(x => x.IsActive == false).Select(x => AliasController.ConvToModel(x, "MatCode")).ToList();
|
||||
// ciclo...
|
||||
if (list2MergeDb == null)
|
||||
if (list2merge == null)
|
||||
{
|
||||
answ = SyncResult.ERR_AliasMatEmpty;
|
||||
}
|
||||
else
|
||||
{
|
||||
// inizio con eventuale eliminazione...
|
||||
var deleteOk = dbContr.DeleteList(list2DeleteDb);
|
||||
// ora merge
|
||||
var updateOk = dbContr.UpsertList(list2MergeDb);
|
||||
if (updateOk)
|
||||
if (updateOk || deleteOk)
|
||||
{
|
||||
// in primis leggo l'elenco materiali dal DB locale
|
||||
List<AliasModel> listDb = dbContr.GetFilt("MatCode");
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<HintPath>..\ExtLibs\EgtWPFLib5.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EgwProxy.MagMan, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EgwProxy.MagMan.1.0.2403.2611\lib\EgwProxy.MagMan.dll</HintPath>
|
||||
<HintPath>..\packages\EgwProxy.MagMan.1.0.2404.411\lib\EgwProxy.MagMan.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<packages>
|
||||
<package id="BouncyCastle" version="1.8.5" targetFramework="net472" />
|
||||
<package id="DotNetZip" version="1.16.0" targetFramework="net472" />
|
||||
<package id="EgwProxy.MagMan" version="1.0.2403.2611" targetFramework="net472" />
|
||||
<package id="EgwProxy.MagMan" version="1.0.2404.411" targetFramework="net472" />
|
||||
<package id="EntityFramework" version="6.4.4" targetFramework="net452" />
|
||||
<package id="Google.Protobuf" version="3.21.9" targetFramework="net472" />
|
||||
<package id="K4os.Compression.LZ4" version="1.3.6" targetFramework="net472" />
|
||||
|
||||
Reference in New Issue
Block a user