Fix nuget + procedura sync

This commit is contained in:
Samuele Locatelli
2024-03-19 17:32:45 +01:00
parent acd4592345
commit 2d0ace0def
3 changed files with 78 additions and 61 deletions
@@ -1164,46 +1164,47 @@ namespace EgtBEAMWALL.DataLayer.Controllers
private SyncResult ResourceSendTrack(int ProjCloudId, Dictionary<int, int> rec2send, ProjResState trackType, int sign)
{
SyncResult answ = SyncResult.ERR_ND;
// verifico server ok
bool servOk = commLib.CheckRemote();
if (!servOk)
using (RawItemsController dbContr = new RawItemsController())
{
answ = SyncResult.ERR_ServerKo;
}
else
{
using (RawItemsController dbContr = new RawItemsController())
List<ResourceDTO> list2send = new List<ResourceDTO>();
// recupero elenco risorse da lista int delle chiavi...
var allResources = dbContr.GetFiltModel(0);
// ciclo tra risorse richieste...
foreach (var item in rec2send)
{
List<ResourceDTO> list2send = new List<ResourceDTO>();
// recupero elenco risorse da lista int delle chiavi...
var allResources = dbContr.GetFiltModel(0);
// ciclo tra risorse richieste...
foreach (var item in rec2send)
var currRes = allResources.Find(x => x.RawItemId == item.Key);
list2send.Add(new ResourceDTO() { RawItemLocalId = item.Key, RawItemCloudId = currRes.RawItemCloudId, Qty = sign * Math.Abs(item.Value) });
}
//if (list2send == null || list2send.Count == 0)
if (list2send == null)
{
answ = SyncResult.ERR_Res2SendEmpty;
}
else
{
int syncId = 0;
string payload = JsonConvert.SerializeObject(list2send);
// registro su DB invio..
MagmanSyncModel newRec = new MagmanSyncModel()
{
var currRes = allResources.Find(x => x.RawItemId == item.Key);
list2send.Add(new ResourceDTO() { RawItemLocalId = item.Key, RawItemCloudId = currRes.RawItemCloudId, Qty = sign * Math.Abs(item.Value) });
}
//if (list2send == null || list2send.Count == 0)
if (list2send == null)
CloudId = ProjCloudId,
SyncType = $"{trackType}",
DtReq = DateTime.Now,
Payload = payload
};
// salvo sul DB
using (MagmanSyncController msContr = new MagmanSyncController())
{
answ = SyncResult.ERR_Res2SendEmpty;
}
else
{
int syncId = 0;
string payload = JsonConvert.SerializeObject(list2send);
// registro su DB invio..
MagmanSyncModel newRec = new MagmanSyncModel()
syncId = msContr.Insert(newRec);
// verifico server ok
bool servOk = commLib.CheckRemote();
if (!servOk)
{
CloudId = ProjCloudId,
SyncType = $"{trackType}",
DtReq = DateTime.Now,
Payload = payload
};
// salvo sul DB
using (MagmanSyncController msContr = new MagmanSyncController())
answ = SyncResult.ERR_ServerKo;
}
else
{
syncId = msContr.Insert(newRec);
// effettuo invio...
bool resOk = commLib.ResourceSend(ProjCloudId, trackType, list2send);
if (!resOk)
@@ -1235,39 +1236,55 @@ namespace EgtBEAMWALL.DataLayer.Controllers
{
SyncResult answ = SyncResult.ERR_ND;
// verifico server ok
bool servOk = commLib.CheckRemote();
if (!servOk)
using (RawItemsController dbContr = new RawItemsController())
{
answ = SyncResult.ERR_ServerKo;
}
else
{
using (RawItemsController dbContr = new RawItemsController())
List<ResourceDTO> list2send = new List<ResourceDTO>();
// recupero elenco risorse da lista int delle chiavi...
var allResources = dbContr.GetFiltModel(0);
// ciclo tra risorse richieste...
foreach (var item in rec2send)
{
List<ResourceDTO> list2send = new List<ResourceDTO>();
// recupero elenco risorse da lista int delle chiavi...
var allResources = dbContr.GetFiltModel(0);
// ciclo tra risorse richieste...
foreach (var item in rec2send)
var currRes = allResources.Find(x => x.RawItemId == item.Key);
list2send.Add(new ResourceDTO() { RawItemLocalId = item.Key, RawItemCloudId = currRes.RawItemCloudId, Qty = sign * Math.Abs(item.Value) });
}
if (list2send == null || list2send.Count == 0)
{
answ = SyncResult.ERR_Res2SendEmpty;
}
else
{
int syncId = 0;
string payload = JsonConvert.SerializeObject(list2send);
// registro su DB invio..
MagmanSyncModel newRec = new MagmanSyncModel()
{
var currRes = allResources.Find(x => x.RawItemId == item.Key);
list2send.Add(new ResourceDTO() { RawItemLocalId = item.Key, RawItemCloudId = currRes.RawItemCloudId, Qty = sign * Math.Abs(item.Value) });
}
if (list2send == null || list2send.Count == 0)
CloudId = ProjCloudId,
SyncType = $"{trackType}",
DtReq = DateTime.Now,
Payload = payload
};
// salvo sul DB
using (MagmanSyncController msContr = new MagmanSyncController())
{
answ = SyncResult.ERR_Res2SendEmpty;
}
else
{
// effettuo invio...
bool resOk = await commLib.ResourceSendAsync(ProjCloudId, trackType, list2send);
if (!resOk)
syncId = msContr.Insert(newRec);
bool servOk = commLib.CheckRemote();
if (!servOk)
{
answ = SyncResult.ERR_CloudResNotSent;
answ = SyncResult.ERR_ServerKo;
}
else
{
answ = SyncResult.ALL_OK;
// effettuo invio...
bool resOk = await commLib.ResourceSendAsync(ProjCloudId, trackType, list2send);
if (!resOk)
{
answ = SyncResult.ERR_CloudResNotSent;
}
else
{
answ = SyncResult.ALL_OK;
}
}
}
}
@@ -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.2402.2912\lib\EgwProxy.MagMan.dll</HintPath>
<HintPath>..\packages\EgwProxy.MagMan.1.0.2403.1917\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>
+1 -1
View File
@@ -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.2402.2912" targetFramework="net472" />
<package id="EgwProxy.MagMan" version="1.0.2403.1917" 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" />