83 lines
3.0 KiB
C#
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);
|
|
//}
|
|
}
|
|
}
|
|
|
|
|