using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Routing; using Nop.Plugin.Misc.FruitBankPlugin.Services; using Nop.Web.Framework; using Nop.Web.Framework.Mvc.Routing; namespace Nop.Plugin.Misc.FruitBankPlugin.Infrastructure; /// /// Represents plugin route provider /// public class RouteProvider : IRouteProvider { /// /// Register routes /// /// Route builder public void RegisterRoutes(IEndpointRouteBuilder endpointRouteBuilder) { endpointRouteBuilder.MapControllerRoute(name: "Plugin.Misc.FruitBankPlugin.Configure", pattern: "Admin/FruitBankPlugin/Configure", defaults: new { controller = "FruitBankPluginAdmin", action = "Configure", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Order.List", pattern: "Admin/Order/List", defaults: new { controller = "CustomOrder", action = "NewList", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Order.OrderList", pattern: "Admin/Order/OrderList", defaults: new { controller = "CustomOrder", action = "OrderList", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Order.FruitBankOrderList", pattern: "Admin/CustomOrder/FruitBankOrderList", defaults: new { controller = "CustomOrder", action = "FruitBankOrderList", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Order.UpdateOrderField", pattern: "Admin/CustomOrder/UpdateOrderField", defaults: new { controller = "CustomOrder", action = "UpdateOrderField", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Order.Test", pattern: "Admin/Order/Test", defaults: new { controller = "CustomOrder", action = "Test", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Index", pattern: "Admin", defaults: new { controller = "CustomDashboard", action = "Index", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Shipping.List", pattern: "Admin/Shipping/List", defaults: new { controller = "Shipping", action = "List", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Shipping.ShippingList", pattern: "Admin/Shipping/ShippingList", defaults: new { controller = "Shipping", action = "ShippingList", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Invoices.List", pattern: "Admin/Invoices/List", defaults: new { controller = "Invoice", action = "List", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Shipping.Create", pattern: "Admin/Shipping/Create", defaults: new { controller = "Shipping", action = "Create", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Shipping.Edit", pattern: "Admin/Shipping/Edit", defaults: new { controller = "Shipping", action = "Edit", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Shipping.UploadFile", pattern: "Admin/Shipping/UploadFile", defaults: new { controller = "Shipping", action = "UploadFile", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Shipping.ReloadPartialView", pattern: "Admin/Shipping/ReloadPartialView", defaults: new { controller = "Shipping", action = "ReloadPartialView", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Shipping.GetShippingDocumentsByShippingId", pattern: "Admin/Shipping/GetShippingDocumentsByShippingId", defaults: new { controller = "Shipping", action = "GetShippingDocumentsByShippingId", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.ManagementPage.Test", pattern: "Admin/ManagementPage/Test", defaults: new { controller = "ManagementPage", action = "Test", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.ManagementPage.GetShippings", pattern: "Admin/ManagementPage/GetShippings", defaults: new { controller = "ManagementPage", action = "GetShippings", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.ManagementPage.LoadPartial", pattern: "Admin/ManagementPage/LoadPartial", defaults: new { controller = "ManagementPage", action = "LoadPartial", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.ManagementPage.GetPartners", pattern: "Admin/ManagementPage/GetPartners", defaults: new { controller = "ManagementPage", action = "GetPartners", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.ManagementPage.LoadChildGrid", pattern: "Admin/ManagementPage/LoadChildGrid", defaults: new { controller = "ManagementPage", action = "LoadChildGrid", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Products.List", pattern: "Admin/Product/List", defaults: new { controller = "CustomProduct", action = "List", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Products.ProductList", pattern: "Admin/Product/ProductList", defaults: new { controller = "CustomProduct", action = "ProductList", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Orders.SaveOrderAttributes", pattern: "Admin/CustomOrder/SaveOrderAttributes", defaults: new { controller = "CustomOrder", action = "SaveOrderAttributes", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Orders.AllowRevision", pattern: "Admin/CustomOrder/AllowRevision", defaults: new { controller = "CustomOrder", action = "AllowRevision", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Orders.CustomerSearchAutoComplete", pattern: "Admin/CustomOrder/CustomerSearchAutoComplete", defaults: new { controller = "CustomOrder", action = "CustomerSearchAutoComplete", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Invoice.CreateInvoice", pattern: "Admin/Invoice/CreateInvoice", defaults: new { controller = "Invoice", action = "CreateInvoice", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Order.Edit", pattern: "Admin/Order/Edit/{id}", defaults: new { controller = "CustomOrder", action = "Edit", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.Order.AddProduct", pattern: "Admin/CustomOrder/FruitBankAddProductToOrder", defaults: new { controller = "CustomOrder", action = "FruitBankAddProductToOrder", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.ManagementPage.ProcessShippingDocument", pattern: "Admin/ManagamentPage/ProcessShippingDocument/{id}", defaults: new { controller = "ManagementPage", action = "ProcessShippingdocument", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.AppDownload", pattern: "Admin/AppDownload", defaults: new { controller = "AppDownload", action = "Index", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.AppDownload.Download", pattern: "Admin/AppDownload/Download/{version}/{fileName}", defaults: new { controller = "AppDownload", action = "Download", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.FruitBankAudio", pattern: "Admin/VoiceRecorder", defaults: new { controller = "FruitBankAudio", action = "VoiceRecorder", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.ExtractText", pattern: "Admin/ExtractText", defaults: new { controller = "FileManager", action = "ImageTextExtraction", area = AreaNames.ADMIN }); // ── Customer Credit ────────────────────────────────────────────────── endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.CustomerCredit.List", pattern: "Admin/CustomerCredit/List", defaults: new { controller = "CustomerCredit", action = "List", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.CustomerCredit.CustomerCreditList", pattern: "Admin/CustomerCredit/CustomerCreditList", defaults: new { controller = "CustomerCredit", action = "CustomerCreditList", area = AreaNames.ADMIN }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.Admin.CustomerCredit.UpdateCreditLimit", pattern: "Admin/CustomerCredit/UpdateCreditLimit", defaults: new { controller = "CustomerCredit", action = "UpdateCreditLimit", area = AreaNames.ADMIN }); // ── Public: Quick Order ────────────────────────────────────────────── endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.QuickOrder.Index", pattern: "gyors-rendeles", defaults: new { controller = "QuickOrder", action = "Index" }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.QuickOrder.GetAllProducts", pattern: "gyors-rendeles/osszes-termek", defaults: new { controller = "QuickOrder", action = "GetAllProducts" }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.QuickOrder.SearchProducts", pattern: "gyors-rendeles/kereses", defaults: new { controller = "QuickOrder", action = "SearchProducts" }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.QuickOrder.TranscribeAndSearch", pattern: "gyors-rendeles/hang", defaults: new { controller = "QuickOrder", action = "TranscribeAndSearch" }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.QuickOrder.AddToCart", pattern: "gyors-rendeles/kosarba", defaults: new { controller = "QuickOrder", action = "AddToCart" }); endpointRouteBuilder.MapControllerRoute( name: "Plugin.FruitBank.QuickOrder.GetCartItems", pattern: "gyors-rendeles/kosar", defaults: new { controller = "QuickOrder", action = "GetCartItems" }); } /// /// Gets a priority of route provider /// public int Priority => 4000; }