diff --git a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/CustomOrderController.cs b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/CustomOrderController.cs index fc5ad97..a6c9707 100644 --- a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/CustomOrderController.cs +++ b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/CustomOrderController.cs @@ -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 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 _ => { diff --git a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/ManagementPageController.cs b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/ManagementPageController.cs index 94d805e..7d5d94d 100644 --- a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/ManagementPageController.cs +++ b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/ManagementPageController.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Mvc; using Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Models; using Nop.Plugin.Misc.FruitBankPlugin.Domains.DataLayer; using Nop.Plugin.Misc.FruitBankPlugin.Services; +using Nop.Services.Catalog; using Nop.Services.Security; using Nop.Web.Areas.Admin.Controllers; using Nop.Web.Framework; @@ -26,10 +27,11 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Controllers protected readonly FruitBankDbContext _dbContext; protected readonly AICalculationService _aiCalculationService; protected readonly OpenAIApiService _openAIApiService; + private readonly CustomPriceCalculationService _customPriceCalculationService; private readonly ILogger _logger; - public ManagementPageController(IPermissionService permissionService, FruitBankDbContext fruitBankDbContext, AICalculationService aiCalculationService, OpenAIApiService openAIApiService, IEnumerable logWriters) + public ManagementPageController(IPermissionService permissionService, IPriceCalculationService customPriceCalculationService, FruitBankDbContext fruitBankDbContext, AICalculationService aiCalculationService, OpenAIApiService openAIApiService, IEnumerable logWriters) { _logger = new Logger(logWriters.ToArray()); @@ -37,12 +39,25 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Controllers _dbContext = fruitBankDbContext; _aiCalculationService = aiCalculationService; _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 Test() { if (!await _permissionService.AuthorizeAsync(StandardPermission.Security.ACCESS_ADMIN_PANEL)) return AccessDeniedView(); + + //await OrderTotalsFix(); + var testPageModel = new TestPageModel(); testPageModel.Grids = new List(); diff --git a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/List.cshtml b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/List.cshtml index fbeb8bb..031771d 100644 --- a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/List.cshtml +++ b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/List.cshtml @@ -307,8 +307,8 @@ Name = "orders-grid", UrlRead = new DataUrl("OrderList", "CustomOrder", null), SearchButtonId = "search-orders", - Ordering = true, - ServerSide = false, + // Ordering = true, + // ServerSide = false, Length = Model.PageSize, LengthMenu = Model.AvailablePageSizes, FooterCallback = !Model.IsLoggedInAsVendor ? "ordersfootercallback" : null, diff --git a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/_CustomOrderDetails.Products.cshtml b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/_CustomOrderDetails.Products.cshtml index bfa8684..fbdddec 100644 --- a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/_CustomOrderDetails.Products.cshtml +++ b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Views/Order/_CustomOrderDetails.Products.cshtml @@ -8,10 +8,10 @@ //var isMeasurable = $('#pvIsMeasurable'+itemId).is(':checked'); var isMeasurable = $('#pvIsMeasurable'+itemId).val().toLowerCase() === 'true'; + + console.log(itemId); console.log(isMeasurable); - console.log($('#pvIsMeasurable'+itemId)); - console.log($('#pvIsMeasurable'+itemId).val()); - console.log($('#pvIsMeasurable'+itemId).val().toLowerCase()); + console.log(maxQuantity); console.log($('#pvNetWeight'+itemId).val()); var netWeight = parseFloat($('#pvNetWeight'+itemId).val()) || 0; @@ -42,10 +42,10 @@ } // Function to setup event listeners for automatic calculation - function setupAutoCalculationGlobal(itemId) { + function setupAutoCalculationGlobal(itemId, maxQuantity) { // Attach change and input events to all relevant fields $('#pvUnitPriceInclTax'+itemId+', #pvUnitPriceExclTax'+itemId+', #pvQuantity'+itemId+', #pvDiscountInclTax'+itemId+', #pvDiscountExclTax'+itemId).on('input change', function() { - calculateTotalGlobal(itemId); + calculateTotalGlobal(itemId, maxQuantity); }); } @@ -279,7 +279,7 @@ *@ - +
@(item.Quantity) kt.
diff --git a/Nop.Plugin.Misc.AIPlugin/Factories/CustomOrderModelFactory.cs b/Nop.Plugin.Misc.AIPlugin/Factories/CustomOrderModelFactory.cs index d80d3c0..7a44453 100644 --- a/Nop.Plugin.Misc.AIPlugin/Factories/CustomOrderModelFactory.cs +++ b/Nop.Plugin.Misc.AIPlugin/Factories/CustomOrderModelFactory.cs @@ -179,6 +179,8 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Factories orderModelExtended.IsMeasurable = orderDto.IsMeasurable; orderModelExtended.DateOfReceipt = orderDto.DateOfReceipt; 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}"; }