This commit is contained in:
Adam 2025-10-25 13:28:13 +02:00
commit b12d1d3b81
4 changed files with 25 additions and 8 deletions

View File

@ -285,7 +285,7 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Controllers
//var productDtosById = await _dbContext.ProductDtos.GetAllByIds(orderProducts.Select(op => op.Id)).ToDictionaryAsync(p => p.Id, prodDto => prodDto); //var productDtosById = await _dbContext.ProductDtos.GetAllByIds(orderProducts.Select(op => op.Id)).ToDictionaryAsync(p => p.Id, prodDto => prodDto);
var store = _storeContext.GetCurrentStore(); var store = _storeContext.GetCurrentStore();
var productDtosByOrderItemId = (await _dbContext.ProductDtos.GetByIdsAsync(orderProducts.Select(x => x.Id).ToArray())).ToDictionary(k => k.Id, v => v); var productDtosByOrderItemId = (await _dbContext.ProductDtos.GetAllByIds(orderProducts.Select(x => x.Id).ToArray()).ToListAsync()).ToDictionary(k => k.Id, v => v);
var transactionSuccess = await _dbContext.TransactionSafeAsync(async _ => var transactionSuccess = await _dbContext.TransactionSafeAsync(async _ =>
{ {

View File

@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Mvc;
using Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Models; using Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Models;
using Nop.Plugin.Misc.FruitBankPlugin.Domains.DataLayer; using Nop.Plugin.Misc.FruitBankPlugin.Domains.DataLayer;
using Nop.Plugin.Misc.FruitBankPlugin.Services; using Nop.Plugin.Misc.FruitBankPlugin.Services;
using Nop.Services.Catalog;
using Nop.Services.Security; using Nop.Services.Security;
using Nop.Web.Areas.Admin.Controllers; using Nop.Web.Areas.Admin.Controllers;
using Nop.Web.Framework; using Nop.Web.Framework;
@ -26,10 +27,11 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Controllers
protected readonly FruitBankDbContext _dbContext; protected readonly FruitBankDbContext _dbContext;
protected readonly AICalculationService _aiCalculationService; protected readonly AICalculationService _aiCalculationService;
protected readonly OpenAIApiService _openAIApiService; protected readonly OpenAIApiService _openAIApiService;
private readonly CustomPriceCalculationService _customPriceCalculationService;
private readonly ILogger _logger; private readonly ILogger _logger;
public ManagementPageController(IPermissionService permissionService, FruitBankDbContext fruitBankDbContext, AICalculationService aiCalculationService, OpenAIApiService openAIApiService, IEnumerable<IAcLogWriterBase> logWriters) public ManagementPageController(IPermissionService permissionService, IPriceCalculationService customPriceCalculationService, FruitBankDbContext fruitBankDbContext, AICalculationService aiCalculationService, OpenAIApiService openAIApiService, IEnumerable<IAcLogWriterBase> logWriters)
{ {
_logger = new Logger<ManagementPageController>(logWriters.ToArray()); _logger = new Logger<ManagementPageController>(logWriters.ToArray());
@ -37,12 +39,25 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Controllers
_dbContext = fruitBankDbContext; _dbContext = fruitBankDbContext;
_aiCalculationService = aiCalculationService; _aiCalculationService = aiCalculationService;
_openAIApiService = openAIApiService; _openAIApiService = openAIApiService;
_customPriceCalculationService = customPriceCalculationService as CustomPriceCalculationService;
}
private async Task OrderTotalsFix()
{
var orders = await _dbContext.Orders.Table.ToListAsync();
foreach (var order in orders)
{
await _customPriceCalculationService.CheckAndUpdateOrderTotalPrice(order);
}
} }
public async Task<IActionResult> Test() public async Task<IActionResult> Test()
{ {
if (!await _permissionService.AuthorizeAsync(StandardPermission.Security.ACCESS_ADMIN_PANEL)) if (!await _permissionService.AuthorizeAsync(StandardPermission.Security.ACCESS_ADMIN_PANEL))
return AccessDeniedView(); return AccessDeniedView();
//await OrderTotalsFix();
var testPageModel = new TestPageModel(); var testPageModel = new TestPageModel();
testPageModel.Grids = new List<TestGridModel>(); testPageModel.Grids = new List<TestGridModel>();

View File

@ -8,10 +8,10 @@
//var isMeasurable = $('#pvIsMeasurable'+itemId).is(':checked'); //var isMeasurable = $('#pvIsMeasurable'+itemId).is(':checked');
var isMeasurable = $('#pvIsMeasurable'+itemId).val().toLowerCase() === 'true'; var isMeasurable = $('#pvIsMeasurable'+itemId).val().toLowerCase() === 'true';
console.log(itemId);
console.log(isMeasurable); console.log(isMeasurable);
console.log($('#pvIsMeasurable'+itemId)); console.log(maxQuantity);
console.log($('#pvIsMeasurable'+itemId).val());
console.log($('#pvIsMeasurable'+itemId).val().toLowerCase());
console.log($('#pvNetWeight'+itemId).val()); console.log($('#pvNetWeight'+itemId).val());
var netWeight = parseFloat($('#pvNetWeight'+itemId).val()) || 0; var netWeight = parseFloat($('#pvNetWeight'+itemId).val()) || 0;
@ -42,10 +42,10 @@
} }
// Function to setup event listeners for automatic calculation // Function to setup event listeners for automatic calculation
function setupAutoCalculationGlobal(itemId) { function setupAutoCalculationGlobal(itemId, maxQuantity) {
// Attach change and input events to all relevant fields // Attach change and input events to all relevant fields
$('#pvUnitPriceInclTax'+itemId+', #pvUnitPriceExclTax'+itemId+', #pvQuantity'+itemId+', #pvDiscountInclTax'+itemId+', #pvDiscountExclTax'+itemId).on('input change', function() { $('#pvUnitPriceInclTax'+itemId+', #pvUnitPriceExclTax'+itemId+', #pvQuantity'+itemId+', #pvDiscountInclTax'+itemId+', #pvDiscountExclTax'+itemId).on('input change', function() {
calculateTotalGlobal(itemId); calculateTotalGlobal(itemId, maxQuantity);
}); });
} }
@ -279,7 +279,7 @@
*@ </div> *@ </div>
</td> </td>
<td style="width: 8%;" class="text-center"> <td style="width: 10%;" class="text-center">
<div>@(item.Quantity) kt.</div> <div>@(item.Quantity) kt.</div>
<div id="pnlEditPvQuantity@(item.Id)"> <div id="pnlEditPvQuantity@(item.Id)">
<div class="form-group row"> <div class="form-group row">

View File

@ -179,6 +179,8 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Factories
orderModelExtended.IsMeasurable = orderDto.IsMeasurable; orderModelExtended.IsMeasurable = orderDto.IsMeasurable;
orderModelExtended.DateOfReceipt = orderDto.DateOfReceipt; orderModelExtended.DateOfReceipt = orderDto.DateOfReceipt;
orderModelExtended.OrderTotal = !orderDto.IsComplete && orderDto.IsMeasurable ? "kalkuláció alatt..." : orderModelExtended.OrderTotal; orderModelExtended.OrderTotal = !orderDto.IsComplete && orderDto.IsMeasurable ? "kalkuláció alatt..." : orderModelExtended.OrderTotal;
//var fullName = $"{orderDto.Customer.FirstName}_{orderDto.Customer.LastName}".Trim();
orderModelExtended.CustomerCompany = $"{orderDto.Customer.Company} {orderDto.Customer.FirstName}_{orderDto.Customer.LastName}"; orderModelExtended.CustomerCompany = $"{orderDto.Customer.Company} {orderDto.Customer.FirstName}_{orderDto.Customer.LastName}";
} }