improvements, fixes

This commit is contained in:
Loretta 2025-09-23 12:17:24 +02:00
parent 56123bc787
commit 23e7b6a603
2 changed files with 44 additions and 35 deletions

View File

@ -117,7 +117,7 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
{
_logger.Detail($"GetShippingItems invoked");
return await ctx.ShippingItems.GetAll().ToListAsync();
return await ctx.ShippingItems.GetAll(true).ToListAsync();
}
[SignalR(SignalRTags.GetShippingItemById)]
@ -125,7 +125,7 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
{
_logger.Detail($"GetShippingItemById invoked; id: {id}");
var shippingItem = await ctx.ShippingItems.GetByIdAsync(id);
var shippingItem = await ctx.ShippingItems.GetByIdAsync(id, true);
if (shippingItem.NetWeight <= 0) _logger.Error($"shippingItem.NetWeight == 0");
return shippingItem;
@ -162,7 +162,7 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
{
_logger.Detail($"GetShippingDocuments invoked");
return await ctx.ShippingDocuments.GetAll().ToListAsync();
return await ctx.ShippingDocuments.GetAll(true).ToListAsync();
}
[SignalR(SignalRTags.GetShippingDocumentById)]

View File

@ -12,6 +12,8 @@ using Nop.Plugin.Misc.FruitBankPlugin.Domains.DataLayer.Interfaces;
using Nop.Services.Catalog;
using NUglify.Helpers;
using System.Transactions;
using LinqToDB;
using Nop.Core.ComponentModel;
namespace Nop.Plugin.Misc.FruitBankPlugin.Domains.DataLayer;
@ -89,6 +91,8 @@ public class FruitBankDbContext : MgDbContextBase, IPartnerDbSet<PartnerDbTable>
return Task.FromResult(false);
}
private static readonly ReaderWriterLockSlim _locker = new(LockRecursionPolicy.NoRecursion);
public async Task<bool> UpdateShippingItemAsync(ShippingItem shippingItem)
{
if (shippingItem == null)
@ -97,8 +101,11 @@ public class FruitBankDbContext : MgDbContextBase, IPartnerDbSet<PartnerDbTable>
return await Task.FromResult(false);
}
using (var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
{
//using (new ReaderWriteLockDisposable(_locker))
//_locker.EnterWriteLock();
//try
//{
using var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled);
try
{
//Mi van ha nem jött meg a termék? Nem fogják tudni menteni... - J.
@ -133,15 +140,11 @@ public class FruitBankDbContext : MgDbContextBase, IPartnerDbSet<PartnerDbTable>
await ShippingItems.UpdateAsync(shippingItem);
//TODO: a measuredweight-eket is! - J.
if (shippingItem.ProductId == dbShippingItem.ProductId &&
shippingItem.IsMeasured == dbShippingItem.IsMeasured && shippingItem.IsMeasurable == dbShippingItem.IsMeasurable &&
shippingItem.MeasuredQuantity == dbShippingItem.MeasuredQuantity &&
shippingItem.MeasuredNetWeight == dbShippingItem.MeasuredNetWeight && shippingItem.MeasuredGrossWeight == dbShippingItem.MeasuredGrossWeight)
if (shippingItem.ProductId != dbShippingItem.ProductId ||
shippingItem.IsMeasured != dbShippingItem.IsMeasured || shippingItem.IsMeasurable != dbShippingItem.IsMeasurable ||
shippingItem.MeasuredQuantity != dbShippingItem.MeasuredQuantity ||
shippingItem.MeasuredNetWeight != dbShippingItem.MeasuredNetWeight || shippingItem.MeasuredGrossWeight != dbShippingItem.MeasuredGrossWeight)
{
return await Task.FromResult(true);
}
//TODO: productIdUnchanged-et lekezelni! - J.
var productIdUnchanged = shippingItem.ProductId == dbShippingItem.ProductId;
if (shippingItem.IsMeasured)
@ -172,6 +175,8 @@ public class FruitBankDbContext : MgDbContextBase, IPartnerDbSet<PartnerDbTable>
else Logger.Warning($"product == null; dbShippingItem.ProductId: {dbShippingItem.ProductId}");
}
}
//else //TODO: productIdUnchanged-et lekezelni! - J.
}
catch (Exception ex)
{
Logger.Error($"UpdateShippingItemAsync Transaction ERROR! Id: {shippingItem?.Id}", ex);
@ -179,7 +184,11 @@ public class FruitBankDbContext : MgDbContextBase, IPartnerDbSet<PartnerDbTable>
}
transaction.Complete();
}
//}
//finally
//{
// _locker.ExitWriteLock();
//}
return await Task.FromResult(true);
}