Mango.Nop.Plugins/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/CustomOrderController.cs

83 lines
3.0 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Nop.Services.Orders;
using Nop.Web.Areas.Admin.Controllers;
using Nop.Web.Framework.Mvc.Filters;
using Nop.Web.Framework;
using Nop.Web.Areas.Admin.Models.Orders;
using Nop.Services.Security;
using Nop.Plugin.Misc.FruitBankPlugin.Factories;
using Nop.Web.Areas.Admin.Factories;
using Nop.Plugin.Misc.FruitBankPlugin.Models;
namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Controllers
{
[Area(AreaNames.ADMIN)]
[AuthorizeAdmin]
public class CustomOrderController : BaseAdminController
{
private readonly IOrderService _orderService;
private readonly IOrderModelFactory _orderModelFactory;
private readonly IPermissionService _permissionService;
// ... other dependencies
public CustomOrderController(IOrderService orderService, IOrderModelFactory orderModelFactory, IPermissionService permissionService)
{
_orderService = orderService;
_orderModelFactory = orderModelFactory;
_permissionService = permissionService;
// ... initialize other deps
}
[CheckPermission(StandardPermission.Orders.ORDERS_VIEW)]
public virtual async Task<IActionResult> List(List<int> orderStatuses = null, List<int> paymentStatuses = null, List<int> shippingStatuses = null)
{
//prepare model
var model = await _orderModelFactory.PrepareOrderSearchModelAsync(new OrderSearchModel
{
OrderStatusIds = orderStatuses,
PaymentStatusIds = paymentStatuses,
ShippingStatusIds = shippingStatuses,
});
return View("~/Plugins/Misc.FruitBankPlugin/Areas/Admin/Views/Order/List.cshtml", model);
}
[HttpPost]
[CheckPermission(StandardPermission.Orders.ORDERS_VIEW)]
public virtual async Task<IActionResult> OrderList(OrderSearchModel searchModel)
{
//prepare model
var model = await _orderModelFactory.PrepareOrderListModelAsync(searchModel);
Console.WriteLine($"Total: {model.RecordsTotal}, Data Count: {model.Data.Count()}");
foreach (var item in model.Data.Take(3))
{
Console.WriteLine($"Order: {item.Id}, {item.CustomOrderNumber}");
}
var valami = Json(model);
Console.WriteLine(valami);
return valami;
}
public virtual IActionResult Test()
{
// Your custom logic here
// This will use your custom List.cshtml view
return View("~/Plugins/Misc.FruitBankPlugin/Areas/Admin/Views/Order/Test.cshtml");
}
//[HttpPost]
//[CheckPermission(Nop.Services.Security.StandardPermission.Orders.ORDERS_VIEW)]
//public virtual async Task<IActionResult> OrderList(OrderSearchModel searchModel)
//{
// //prepare model
// var model = await _orderModelFactory.PrepareOrderListModelAsync(searchModel);
// return Json(model);
//}
}
}