using Nop.Core.Domain.Catalog; using Nop.Core.Domain.Common; using Nop.Core.Domain.Orders; using Nop.Core.Domain.Shipping; using Nop.Web.Areas.Admin.Models.Orders; using Nop.Web.Areas.Admin.Models.Reports; namespace Nop.Web.Areas.Admin.Factories; /// /// Represents the order model factory /// public partial interface IOrderModelFactory { /// /// Prepare order search model /// /// Order search model /// /// A task that represents the asynchronous operation /// The task result contains the order search model /// Task PrepareOrderSearchModelAsync(OrderSearchModel searchModel); /// /// Prepare paged order list model /// /// Order search model /// /// A task that represents the asynchronous operation /// The task result contains the order list model /// Task PrepareOrderListModelAsync(OrderSearchModel searchModel); /// /// Prepare order aggregator model /// /// Order search model /// /// A task that represents the asynchronous operation /// The task result contains the order aggregator model /// Task PrepareOrderAggregatorModelAsync(OrderSearchModel searchModel); /// /// Prepare order model /// /// Order model /// Order /// Whether to exclude populating of some properties of model /// /// A task that represents the asynchronous operation /// The task result contains the order model /// Task PrepareOrderModelAsync(OrderModel model, Order order, bool excludeProperties = false); /// /// Prepare upload license model /// /// Upload license model /// Order /// Order item /// /// A task that represents the asynchronous operation /// The task result contains the upload license model /// Task PrepareUploadLicenseModelAsync(UploadLicenseModel model, Order order, OrderItem orderItem); /// /// Prepare product search model to add to the order /// /// Product search model to add to the order /// Order /// /// A task that represents the asynchronous operation /// The task result contains the product search model to add to the order /// Task PrepareAddProductToOrderSearchModelAsync(AddProductToOrderSearchModel searchModel, Order order); /// /// Prepare paged product list model to add to the order /// /// Product search model to add to the order /// Order /// /// A task that represents the asynchronous operation /// The task result contains the product search model to add to the order /// Task PrepareAddProductToOrderListModelAsync(AddProductToOrderSearchModel searchModel, Order order); /// /// Prepare product model to add to the order /// /// Product model to add to the order /// Order /// Product /// /// A task that represents the asynchronous operation /// The task result contains the product model to add to the order /// Task PrepareAddProductToOrderModelAsync(AddProductToOrderModel model, Order order, Product product); /// /// Prepare order address model /// /// Order address model /// Order /// Address /// /// A task that represents the asynchronous operation /// The task result contains the order address model /// Task PrepareOrderAddressModelAsync(OrderAddressModel model, Order order, Address address); /// /// Prepare shipment search model /// /// Shipment search model /// /// A task that represents the asynchronous operation /// The task result contains the shipment search model /// Task PrepareShipmentSearchModelAsync(ShipmentSearchModel searchModel); /// /// Prepare paged shipment list model /// /// Shipment search model /// /// A task that represents the asynchronous operation /// The task result contains the shipment list model /// Task PrepareShipmentListModelAsync(ShipmentSearchModel searchModel); /// /// Prepare shipment model /// /// Shipment model /// Shipment /// Order /// Whether to exclude populating of some properties of model /// /// A task that represents the asynchronous operation /// The task result contains the shipment model /// Task PrepareShipmentModelAsync(ShipmentModel model, Shipment shipment, Order order, bool excludeProperties = false); /// /// Prepare paged order shipment list model /// /// Order shipment search model /// Order /// /// A task that represents the asynchronous operation /// The task result contains the order shipment list model /// Task PrepareOrderShipmentListModelAsync(OrderShipmentSearchModel searchModel, Order order); /// /// Prepare paged shipment item list model /// /// Shipment item search model /// Shipment /// /// A task that represents the asynchronous operation /// The task result contains the shipment item list model /// Task PrepareShipmentItemListModelAsync(ShipmentItemSearchModel searchModel, Shipment shipment); /// /// Prepare paged order note list model /// /// Order note search model /// Order /// /// A task that represents the asynchronous operation /// The task result contains the order note list model /// Task PrepareOrderNoteListModelAsync(OrderNoteSearchModel searchModel, Order order); /// /// Prepare bestseller brief search model /// /// Bestseller brief search model /// /// A task that represents the asynchronous operation /// The task result contains the bestseller brief search model /// Task PrepareBestsellerBriefSearchModelAsync(BestsellerBriefSearchModel searchModel); /// /// Prepare paged bestseller brief list model /// /// Bestseller brief search model /// /// A task that represents the asynchronous operation /// The task result contains the bestseller brief list model /// Task PrepareBestsellerBriefListModelAsync(BestsellerBriefSearchModel searchModel); /// /// Prepare order average line summary report list model /// /// Order average line summary report search model /// /// A task that represents the asynchronous operation /// The task result contains the order average line summary report list model /// Task PrepareOrderAverageReportListModelAsync(OrderAverageReportSearchModel searchModel); /// /// Prepare incomplete order report list model /// /// Incomplete order report search model /// /// A task that represents the asynchronous operation /// The task result contains the incomplete order report list model /// Task PrepareOrderIncompleteReportListModelAsync(OrderIncompleteReportSearchModel searchModel); }