using Nop.Core; using Nop.Core.Domain.Customers; using Nop.Core.Domain.Orders; using Nop.Core.Domain.Payments; using Nop.Core.Domain.Shipping; using Nop.Services.Orders; namespace Nop.Services.Customers; /// /// Customer report service interface /// public partial interface ICustomerReportService { /// /// Get best customers /// /// Order created date from (UTC); null to load all records /// Order created date to (UTC); null to load all records /// Order status; null to load all records /// Order payment status; null to load all records /// Order shipment status; null to load all records /// 1 - order by order total, 2 - order by number of orders /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the report /// Task> GetBestCustomersReportAsync(DateTime? createdFromUtc, DateTime? createdToUtc, OrderStatus? os, PaymentStatus? ps, ShippingStatus? ss, OrderByEnum orderBy, int pageIndex = 0, int pageSize = 214748364); /// /// Gets a report of customers registered in the last days /// /// Customers registered in the last days /// /// A task that represents the asynchronous operation /// The task result contains the number of registered customers /// Task GetRegisteredCustomersReportAsync(int days); }