Fix overwrite useQty
This commit is contained in:
@@ -656,7 +656,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
/// Esegue registrazione Risorse (RawItems) come CONSUMI effettivi:
|
||||
/// </summary>
|
||||
/// <param name="ProjCloudId">DB Id del progetto x cui si inviano i dati</param>
|
||||
/// <param name="rec2send">Elenco RawPart come dizionario quantità consumate [nId, qty]. nID = id del db LOCALE</param>
|
||||
/// <param name="rec2send">
|
||||
/// Elenco RawPart come dizionario quantità consumate [nId, qty]. nID = id del db LOCALE
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
public SyncResult ResourceSendCons(int ProjCloudId, Dictionary<int, int> rec2send)
|
||||
{
|
||||
@@ -668,7 +670,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
/// Esegue registrazione Risorse (RawItems) come CONSUMI effettivi, versione ASYNC:
|
||||
/// </summary>
|
||||
/// <param name="ProjCloudId">DB Id del progetto x cui si inviano i dati</param>
|
||||
/// <param name="rec2send">Elenco RawPart come dizionario quantità consumate [nId, qty]. nID = id del db LOCALE</param>
|
||||
/// <param name="rec2send">
|
||||
/// Elenco RawPart come dizionario quantità consumate [nId, qty]. nID = id del db LOCALE
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
public async Task<SyncResult> ResourceSendConsAsync(int ProjCloudId, Dictionary<int, int> rec2send)
|
||||
{
|
||||
@@ -680,7 +684,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
/// Esegue registrazione Risorse (RawItems) come stima:
|
||||
/// </summary>
|
||||
/// <param name="ProjCloudId">DB Id del progetto x cui si inviano i dati</param>
|
||||
/// <param name="rec2send">Elenco RawPart come dizionario quantità consumate [nId, qty]. nID = id del db LOCALE</param>
|
||||
/// <param name="rec2send">
|
||||
/// Elenco RawPart come dizionario quantità consumate [nId, qty]. nID = id del db LOCALE
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
public SyncResult ResourceSendEstimate(int ProjCloudId, Dictionary<int, int> rec2send)
|
||||
{
|
||||
@@ -692,7 +698,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
/// Esegue registrazione Risorse (RawItems) come stima, versione ASYNC:
|
||||
/// </summary>
|
||||
/// <param name="ProjCloudId">DB Id del progetto x cui si inviano i dati</param>
|
||||
/// <param name="rec2send">Elenco RawPart come dizionario quantità consumate [nId, qty]. nID = id del db LOCALE</param>
|
||||
/// <param name="rec2send">
|
||||
/// Elenco RawPart come dizionario quantità consumate [nId, qty]. nID = id del db LOCALE
|
||||
/// </param>
|
||||
/// <returns></returns>
|
||||
public async Task<SyncResult> ResourceSendEstimateAsync(int ProjCloudId, Dictionary<int, int> rec2send)
|
||||
{
|
||||
@@ -747,7 +755,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
// ora processo 1:1 gli items...
|
||||
foreach (var rawItem in item.ItemList)
|
||||
{
|
||||
rawItemDbContr.Upsert(RawItemsController.ConvToModel(rawItem, true), false);
|
||||
rawItemDbContr.Upsert(RawItemsController.ConvToModel(rawItem, true), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -899,7 +907,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
{
|
||||
// sovrascrivo materaile anche x ogni RawItem
|
||||
rawItem.MatLocalId = matLocalId;
|
||||
rawItemDbContr.Upsert(RawItemsController.ConvToModel(rawItem, true), SyncQty);
|
||||
rawItemDbContr.Upsert(RawItemsController.ConvToModel(rawItem, true), false, SyncQty);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1043,7 +1051,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
// ora processo 1:1 gli items...
|
||||
foreach (var rawItem in item.ItemList)
|
||||
{
|
||||
rawItemDbContr.Upsert(RawItemsController.ConvToModel(rawItem, true), false);
|
||||
rawItemDbContr.Upsert(RawItemsController.ConvToModel(rawItem, true), false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -265,8 +265,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
/// </summary>
|
||||
/// <param name="updItem">Recorda da registrare</param>
|
||||
/// <param name="changeUseQty">Indica se, in caso di modifica, vada aggiornato UseQty</param>
|
||||
/// <param name="changeQtyAvail">Indica se, in caso di modifica, vada aggiornato QtyAvail</param>
|
||||
/// <returns></returns>
|
||||
public int Upsert(RawItemModel updItem, bool changeUseQty)
|
||||
public int Upsert(RawItemModel updItem, bool changeUseQty, bool changeQtyAvail)
|
||||
{
|
||||
int newIdx = 0;
|
||||
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
|
||||
@@ -284,7 +285,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
//// update, vers 1...
|
||||
//localDbCtx.Entry(item2update).CurrentValues.SetValues(updItem);\
|
||||
item2update.RawItemCloudId = updItem.RawItemCloudId;
|
||||
item2update.QtyAvail = updItem.QtyAvail;
|
||||
item2update.HMm = updItem.HMm;
|
||||
item2update.LMm = updItem.LMm;
|
||||
item2update.WMm = updItem.WMm;
|
||||
@@ -294,6 +294,13 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
{
|
||||
item2update.UseQty = updItem.UseQty;
|
||||
}
|
||||
if (changeQtyAvail)
|
||||
{
|
||||
item2update.QtyAvail = updItem.QtyAvail;
|
||||
#if false
|
||||
item2update.LastSync = DateTime.Now;
|
||||
#endif
|
||||
}
|
||||
localDbCtx.Entry(item2update).State = EntityState.Modified;
|
||||
}
|
||||
else
|
||||
@@ -329,7 +336,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
|
||||
int newIdx = 0;
|
||||
// converto
|
||||
RawItemModel updItem = ConvToModel(coreItem);
|
||||
newIdx = Upsert(updItem, true);
|
||||
newIdx = Upsert(updItem, true, true);
|
||||
return newIdx;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user