improvements, fixes...
This commit is contained in:
parent
ad5f27a77c
commit
f2e99f3050
|
|
@ -309,11 +309,11 @@ public class FruitBankDbContext : MgDbContextBase,
|
||||||
{
|
{
|
||||||
weightToChange = productIdChanged ? shippingItem.MeasuredNetWeight : shippingItem.MeasuredNetWeight - dbShippingItem.MeasuredNetWeight;
|
weightToChange = productIdChanged ? shippingItem.MeasuredNetWeight : shippingItem.MeasuredNetWeight - dbShippingItem.MeasuredNetWeight;
|
||||||
|
|
||||||
await _fruitBankAttributeService.InsertOrUpdateMeasuringAttributeValuesAsync<Product>(productDto.Id, weightToChange, shippingItem.IsMeasurable, true);
|
//await _fruitBankAttributeService.InsertOrUpdateMeasuringAttributeValuesAsync<Product>(productDto.Id, weightToChange, shippingItem.IsMeasurable, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
await UpdateStockQuantityAndWeightAsync(productDto, quantityInc, $"Bejövő mérés, shippingItem: #{shippingItem.Id}", weightToChange);
|
await UpdateStockQuantityAndWeightAsync(productDto, quantityInc, $"Bejövő mérés, shippingItem: #{shippingItem.Id}", weightToChange);
|
||||||
productDto!.StockQuantity += quantityInc;
|
//productDto!.StockQuantity += quantityInc;
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (productIdUnchanged || !dbShippingItem.IsMeasured) return true;
|
//if (productIdUnchanged || !dbShippingItem.IsMeasured) return true;
|
||||||
|
|
@ -336,14 +336,17 @@ public class FruitBankDbContext : MgDbContextBase,
|
||||||
(productDto.Id, nameof(IIncomingQuantity.IncomingQuantity), incomingQuantity.Value + dbShippingItem.MeasuredQuantity);
|
(productDto.Id, nameof(IIncomingQuantity.IncomingQuantity), incomingQuantity.Value + dbShippingItem.MeasuredQuantity);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (productIsMeasurable)
|
//if (productIsMeasurable)
|
||||||
{
|
//{
|
||||||
var measuringValues = new MeasuringAttributeValues(productDto.Id, -dbShippingItem.MeasuredNetWeight, dbShippingItem.IsMeasurable);
|
// var measuringValues = new MeasuringAttributeValues(productDto.Id, -dbShippingItem.MeasuredNetWeight, dbShippingItem.IsMeasurable);
|
||||||
await _fruitBankAttributeService.InsertOrUpdateMeasuringAttributeValuesAsync<Product>(measuringValues, true);
|
// await _fruitBankAttributeService.InsertOrUpdateMeasuringAttributeValuesAsync<Product>(measuringValues, true);
|
||||||
}
|
//}
|
||||||
|
|
||||||
await UpdateStockQuantityAndWeightAsync(productDto, -dbShippingItem.MeasuredQuantity, $"Bejövő mérés, ShippingItem.Id: #{shippingItem.Id}. Product.Id megváltozott, #{productDto.Id}->#{shippingItem.ProductId}!", -dbShippingItem.MeasuredNetWeight);
|
await UpdateStockQuantityAndWeightAsync(productDto, -dbShippingItem.MeasuredQuantity,
|
||||||
productDto!.StockQuantity -= dbShippingItem.MeasuredQuantity;
|
$"Bejövő mérés, ShippingItem.Id: #{shippingItem.Id}. Product.Id megváltozott, #{productDto.Id}->#{shippingItem.ProductId}!",
|
||||||
|
-dbShippingItem.MeasuredNetWeight);
|
||||||
|
|
||||||
|
//productDto!.StockQuantity -= dbShippingItem.MeasuredQuantity;
|
||||||
}
|
}
|
||||||
else Logger.Warning($"product == null; dbShippingItem.ProductId: {dbShippingItem.ProductId}");
|
else Logger.Warning($"product == null; dbShippingItem.ProductId: {dbShippingItem.ProductId}");
|
||||||
//else //TODO: productIdUnchanged-et lekezelni! - J.
|
//else //TODO: productIdUnchanged-et lekezelni! - J.
|
||||||
|
|
@ -499,18 +502,18 @@ public class FruitBankDbContext : MgDbContextBase,
|
||||||
|
|
||||||
if (!orderItemDto.IsMeasurable) continue;
|
if (!orderItemDto.IsMeasurable) continue;
|
||||||
|
|
||||||
var prevNetWeightFromGa = orderItemDto.GenericAttributes.GetValueOrDefault<double>(nameof(IMeasuringNetWeight.NetWeight), 0);
|
var prevOrderItemNetWeightFromGa = orderItemDto.GenericAttributes.GetValueOrDefault<double>(nameof(IMeasuringNetWeight.NetWeight), 0);
|
||||||
//var gaNetWeight = CommonHelper.To<double>(orderItemDto.GenericAttributes.FirstOrDefault(x => x.Key == nameof(IMeasuringNetWeight.NetWeight))?.Value ?? "0");
|
//var gaNetWeight = CommonHelper.To<double>(orderItemDto.GenericAttributes.FirstOrDefault(x => x.Key == nameof(IMeasuringNetWeight.NetWeight))?.Value ?? "0");
|
||||||
|
|
||||||
await _fruitBankAttributeService.InsertOrUpdateGenericAttributeAsync<OrderItem, double>
|
await _fruitBankAttributeService.InsertOrUpdateGenericAttributeAsync<OrderItem, double>(orderItemDto.Id, nameof(IMeasuringNetWeight.NetWeight), orderItemDto.NetWeight);
|
||||||
(orderItemDto.Id, nameof(IMeasuringNetWeight.NetWeight), orderItemDto.NetWeight);
|
|
||||||
|
|
||||||
var weightToChange = -(orderItemDto.NetWeight - prevNetWeightFromGa);
|
var productWeightToChange = -(orderItemDto.NetWeight - prevOrderItemNetWeightFromGa);
|
||||||
|
|
||||||
await _fruitBankAttributeService.InsertOrUpdateMeasuringAttributeValuesAsync<Product>
|
//await _fruitBankAttributeService.InsertOrUpdateMeasuringAttributeValuesAsync<Product>(orderItemDto.ProductId, productWeightToChange, orderItemDto.IsMeasurable, true);
|
||||||
(orderItemDto.ProductId, weightToChange, orderItemDto.IsMeasurable, true);
|
|
||||||
|
|
||||||
await UpdateStockQuantityAndWeightAsync(orderItemDto.ProductId, 0, $"Kimenő mérés, OrderStatus set to complete. Rendelés: #{orderDto.Id}, rendelés tétel: #{orderItemDto.Id}", weightToChange, prevNetWeightFromGa + weightToChange);
|
await UpdateStockQuantityAndWeightAsync(orderItemDto.ProductId, 0,
|
||||||
|
$"Kimenő mérés, OrderStatus set to complete. Rendelés: #{orderDto.Id}, rendelés tétel: #{orderItemDto.Id}",
|
||||||
|
productWeightToChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
//await _eventPublisher.PublishAsync(new OrderStatusChangedEvent(order, prevOrderStatus));
|
//await _eventPublisher.PublishAsync(new OrderStatusChangedEvent(order, prevOrderStatus));
|
||||||
|
|
@ -644,19 +647,30 @@ public class FruitBankDbContext : MgDbContextBase,
|
||||||
// //return await Task.FromResult(false);
|
// //return await Task.FromResult(false);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
public async Task UpdateStockQuantityAndWeightAsync(int productId, int quantityToChange, string message, double weightToChange = 0, double stockWeight = 0)
|
public async Task UpdateStockQuantityAndWeightAsync(int productId, int quantityToChange, string message, double weightToChange = 0)
|
||||||
{
|
{
|
||||||
var product = await Products.GetByIdAsync(productId);
|
if (quantityToChange == 0 && weightToChange == 0) return;
|
||||||
if (weightToChange != 0 && stockWeight == 0) stockWeight = await _fruitBankAttributeService.GetGenericAttributeValueAsync<Product, double>(productId, nameof(IMeasuringNetWeight.NetWeight));
|
|
||||||
|
|
||||||
await UpdateStockQuantityAndWeightAsync(product, quantityToChange, message, weightToChange, stockWeight);
|
var product = await Products.GetByIdAsync(productId);
|
||||||
|
await UpdateStockQuantityAndWeightAsync(product, quantityToChange, message, weightToChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task UpdateStockQuantityAndWeightAsync(ProductDto productDto, int quantityToChange, string message, double weightToChange = 0)
|
public async Task UpdateStockQuantityAndWeightAsync(ProductDto productDto, int quantityToChange, string message, double weightToChange = 0)
|
||||||
=> UpdateStockQuantityAndWeightAsync(productDto.Id, quantityToChange, message, weightToChange, productDto.NetWeight + weightToChange);
|
|
||||||
|
|
||||||
public async Task UpdateStockQuantityAndWeightAsync(Product product, int quantityToChange, string message, double weightToChange = 0, double stockWeight = 0)
|
|
||||||
{
|
{
|
||||||
|
if (quantityToChange == 0 && weightToChange == 0) return;
|
||||||
|
|
||||||
|
await UpdateStockQuantityAndWeightAsync(productDto.Id, quantityToChange, message, weightToChange);
|
||||||
|
productDto.StockQuantity += quantityToChange;
|
||||||
|
|
||||||
|
if (weightToChange == 0) return;
|
||||||
|
productDto.GenericAttributes = await GenericAttributes.Table.Where(x => x.EntityId == productDto.Id && x.KeyGroup == nameof(Product) && x.StoreId == _storeContext.GetCurrentStore().Id).ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task UpdateStockQuantityAndWeightAsync(Product product, int quantityToChange, string message, double weightToChange = 0)
|
||||||
|
{
|
||||||
|
weightToChange = double.Round(weightToChange, 1);
|
||||||
|
if (quantityToChange == 0 && weightToChange == 0) return;
|
||||||
|
|
||||||
var latStockQuantityHistoryId = 0;
|
var latStockQuantityHistoryId = 0;
|
||||||
|
|
||||||
if (quantityToChange != 0) await _productService.AdjustInventoryAsync(product, quantityToChange, string.Empty, message);
|
if (quantityToChange != 0) await _productService.AdjustInventoryAsync(product, quantityToChange, string.Empty, message);
|
||||||
|
|
@ -679,10 +693,10 @@ public class FruitBankDbContext : MgDbContextBase,
|
||||||
await StockQuantityHistories.InsertAsync(historyEntry);
|
await StockQuantityHistories.InsertAsync(historyEntry);
|
||||||
latStockQuantityHistoryId = historyEntry.Id;
|
latStockQuantityHistoryId = historyEntry.Id;
|
||||||
}
|
}
|
||||||
else return;
|
|
||||||
|
|
||||||
//await _fruitBankAttributeService.InsertOrUpdateGenericAttributeAsync<Product, double>(product.Id, nameof(IMeasuringNetWeight.NetWeight), netWeight);
|
if (weightToChange == 0) return;
|
||||||
//if (weightToChange == 0 && stockWeight == 0) return;
|
|
||||||
|
await _fruitBankAttributeService.InsertOrUpdateMeasuringAttributeValuesAsync<Product>(product.Id, weightToChange, true, true);
|
||||||
|
|
||||||
if (latStockQuantityHistoryId <= 0)
|
if (latStockQuantityHistoryId <= 0)
|
||||||
{
|
{
|
||||||
|
|
@ -695,11 +709,13 @@ public class FruitBankDbContext : MgDbContextBase,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var stockWeight = double.Round(await _fruitBankAttributeService.GetGenericAttributeValueAsync<Product, double>(product.Id, nameof(IMeasuringNetWeight.NetWeight)), 1);
|
||||||
|
|
||||||
var stockQuantityHistoryExt = new StockQuantityHistoryExt
|
var stockQuantityHistoryExt = new StockQuantityHistoryExt
|
||||||
{
|
{
|
||||||
StockQuantityHistoryId = latStockQuantityHistoryId,
|
StockQuantityHistoryId = latStockQuantityHistoryId,
|
||||||
NetWeightAdjustment = double.Round(weightToChange, 1),
|
NetWeightAdjustment = weightToChange,
|
||||||
NetWeight = double.Round(stockWeight, 1),
|
NetWeight = stockWeight,
|
||||||
};
|
};
|
||||||
|
|
||||||
await StockQuantityHistoriesExt.InsertAsync(stockQuantityHistoryExt, false);
|
await StockQuantityHistoriesExt.InsertAsync(stockQuantityHistoryExt, false);
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ public class FruitBankEventConsumer :
|
||||||
_measurementService = measurementService;
|
_measurementService = measurementService;
|
||||||
_fruitBankAttributeService = fruitBankAttributeService;
|
_fruitBankAttributeService = fruitBankAttributeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task HandleEventAsync(EntityUpdatedEvent<Product> eventMessage)
|
public override async Task HandleEventAsync(EntityUpdatedEvent<Product> eventMessage)
|
||||||
{
|
{
|
||||||
var product = await CheckAndUpdateProductManageInventoryMethodToManageStock(eventMessage.Entity);
|
var product = await CheckAndUpdateProductManageInventoryMethodToManageStock(eventMessage.Entity);
|
||||||
|
|
@ -118,8 +118,8 @@ public class FruitBankEventConsumer :
|
||||||
|
|
||||||
if (productDtoNetWeight == null || double.Round(productDtoNetWeight.Value, 1) != netWeight)
|
if (productDtoNetWeight == null || double.Round(productDtoNetWeight.Value, 1) != netWeight)
|
||||||
{
|
{
|
||||||
await _fruitBankAttributeService.InsertOrUpdateGenericAttributeAsync<Product, double>(product.Id, nameof(IMeasuringNetWeight.NetWeight), netWeight);
|
//await _fruitBankAttributeService.InsertOrUpdateGenericAttributeAsync<Product, double>(product.Id, nameof(IMeasuringNetWeight.NetWeight), netWeight);
|
||||||
await _ctx.UpdateStockQuantityAndWeightAsync(productDto, 0, $"Manuális készlet súly változtatás az admin felületen.", netWeight - productDtoNetWeight.Value);
|
await _ctx.UpdateStockQuantityAndWeightAsync(productDto, 0, $"Manuális készlet súly változtatás az admin felületen.", netWeight - productDtoNetWeight.GetValueOrDefault(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
//Tára
|
//Tára
|
||||||
|
|
@ -277,7 +277,7 @@ public class FruitBankEventConsumer :
|
||||||
await _measurementService.OrderItemInsertedOrUpdatedPostProcess(eventMessage.Entity);
|
await _measurementService.OrderItemInsertedOrUpdatedPostProcess(eventMessage.Entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Delete
|
#endregion Delete
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue