Try your search with a different keyword or use * as a wildcard.
using Nop.Core;
using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Orders;
using Nop.Core.Domain.Payments;
using Nop.Core.Domain.Shipping;
namespace Nop.Services.Orders;
///
/// Order report service interface
///
public partial interface IOrderReportService
{
///
/// Get "order by country" report
///
/// Store identifier; 0 to load all records
/// Order status
/// Payment status
/// Shipping status
/// Start date
/// End date
///
/// A task that represents the asynchronous operation
/// The task result contains the result
///
Task> GetCountryReportAsync(int storeId = 0, OrderStatus? os = null,
PaymentStatus? ps = null, ShippingStatus? ss = null,
DateTime? startTimeUtc = null, DateTime? endTimeUtc = null);
///
/// Get order average report
///
/// Store identifier; pass 0 to ignore this parameter
/// Vendor identifier; pass 0 to ignore this parameter
/// Product identifier which was purchased in an order; 0 to load all orders
/// Warehouse identifier; pass 0 to ignore this parameter
/// Billing country identifier; 0 to load all orders
/// Order identifier; pass 0 to ignore this parameter
/// Payment method system name; null to load all records
/// Order status identifiers
/// Payment status identifiers
/// Shipping status identifiers
/// Start date
/// End date
/// Billing phone. Leave empty to load all records.
/// Billing email. Leave empty to load all records.
/// Billing last name. Leave empty to load all records.
/// Search in order notes. Leave empty to load all records.
///
/// A task that represents the asynchronous operation
/// The task result contains the result
///
Task GetOrderAverageReportLineAsync(int storeId = 0, int vendorId = 0, int productId = 0,
int warehouseId = 0, int billingCountryId = 0, int orderId = 0, string paymentMethodSystemName = null,
List osIds = null, List psIds = null, List ssIds = null,
DateTime? startTimeUtc = null, DateTime? endTimeUtc = null,
string billingPhone = null, string billingEmail = null, string billingLastName = "", string orderNotes = null);
///
/// Get order average report
///
/// Store identifier
/// Order status
///
/// A task that represents the asynchronous operation
/// The task result contains the result
///
Task OrderAverageReportAsync(int storeId, OrderStatus os);
///
/// Get sales summary report
///
/// Category identifier; 0 to load all records
/// Product identifier; 0 to load all records
/// Manufacturer identifier; 0 to load all records
/// Store identifier (orders placed in a specific store); 0 to load all records
/// Vendor identifier; 0 to load all records
/// Order created date from (UTC); null to load all records
/// Order created date to (UTC); null to load all records
/// Order status identifiers; null to load all orders
/// Payment status identifiers; null to load all orders
/// Billing country identifier; 0 to load all records
/// 0 - group by day, 1 - group by week, 2 - group by total month
/// Page index
/// Page size
///
/// A task that represents the asynchronous operation
/// The task result contains the result
///
Task> SalesSummaryReportAsync(
int categoryId = 0,
int productId = 0,
int manufacturerId = 0,
int storeId = 0,
int vendorId = 0,
DateTime? createdFromUtc = null,
DateTime? createdToUtc = null,
List osIds = null,
List psIds = null,
int billingCountryId = 0,
GroupByOptions groupBy = GroupByOptions.Day,
int pageIndex = 0,
int pageSize = int.MaxValue);
///
/// Get best sellers report
///
/// Store identifier (orders placed in a specific store); 0 to load all records
/// Vendor identifier; 0 to load all records
/// Category identifier; 0 to load all records
/// Manufacturer identifier; 0 to load all records
/// 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
/// Shipping status; null to load all records
/// Billing country identifier; 0 to load all records
/// 1 - order by quantity, 2 - order by total amount
/// Page index
/// Page size
/// A value indicating whether to show hidden records
///
/// A task that represents the asynchronous operation
/// The task result contains the result
///
Task> BestSellersReportAsync(
int categoryId = 0,
int manufacturerId = 0,
int storeId = 0,
int vendorId = 0,
DateTime? createdFromUtc = null,
DateTime? createdToUtc = null,
OrderStatus? os = null,
PaymentStatus? ps = null,
ShippingStatus? ss = null,
int billingCountryId = 0,
OrderByEnum orderBy = OrderByEnum.OrderByQuantity,
int pageIndex = 0,
int pageSize = int.MaxValue,
bool showHidden = false);
///
/// Get a total amount of best sellers
///
/// Store identifier (orders placed in a specific store); 0 to load all records
/// Vendor identifier; 0 to load all records
/// Category identifier; 0 to load all records
/// Manufacturer identifier; 0 to load all records
/// 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
/// Shipping status; null to load all records
/// Billing country identifier; 0 to load all records
/// A value indicating whether to show hidden records
///
/// A task that represents the asynchronous operation
/// The task result contains the result
///
Task BestSellersReportTotalAmountAsync(
int categoryId = 0,
int manufacturerId = 0,
int storeId = 0,
int vendorId = 0,
DateTime? createdFromUtc = null,
DateTime? createdToUtc = null,
OrderStatus? os = null,
PaymentStatus? ps = null,
ShippingStatus? ss = null,
int billingCountryId = 0,
bool showHidden = false);
///
/// Gets a list of products (identifiers) purchased by other customers who purchased a specified product
///
/// Store identifier
/// Product identifier
/// Records to return
/// A values indicating whether to load only products marked as "visible individually"; "false" to load all records; "true" to load "visible individually" only
/// A value indicating whether to show hidden records
///
/// A task that represents the asynchronous operation
/// The task result contains the products
///
Task GetAlsoPurchasedProductsIdsAsync(int storeId, int productId,
int recordsToReturn = 5, bool visibleIndividuallyOnly = true, bool showHidden = false);
///
/// Gets a list of products that were never sold
///
/// Vendor identifier (filter products by a specific vendor); 0 to load all records
/// Store identifier (filter products by a specific store); 0 to load all records
/// Category identifier; 0 to load all records
/// Manufacturer identifier; 0 to load all records
/// Order created date from (UTC); null to load all records
/// Order created date to (UTC); null to load all records
/// Page index
/// Page size
/// A value indicating whether to show hidden records
///
/// A task that represents the asynchronous operation
/// The task result contains the products
///
Task> ProductsNeverSoldAsync(int vendorId = 0, int storeId = 0,
int categoryId = 0, int manufacturerId = 0,
DateTime? createdFromUtc = null, DateTime? createdToUtc = null,
int pageIndex = 0, int pageSize = int.MaxValue, bool showHidden = false);
///
/// Get profit report
///
/// Store identifier; pass 0 to ignore this parameter
/// Vendor identifier; pass 0 to ignore this parameter
/// Product identifier which was purchased in an order; 0 to load all orders
/// Warehouse identifier; pass 0 to ignore this parameter
/// Order identifier; pass 0 to ignore this parameter
/// Billing country identifier; 0 to load all orders
/// Payment method system name; null to load all records
/// Start date
/// End date
/// Order status identifiers; null to load all records
/// Payment status identifiers; null to load all records
/// Shipping status identifiers; null to load all records
/// Billing phone. Leave empty to load all records.
/// Billing email. Leave empty to load all records.
/// Billing last name. Leave empty to load all records.
/// Search in order notes. Leave empty to load all records.
///
/// A task that represents the asynchronous operation
/// The task result contains the result
///
Task ProfitReportAsync(int storeId = 0, int vendorId = 0, int productId = 0,
int warehouseId = 0, int billingCountryId = 0, int orderId = 0, string paymentMethodSystemName = null,
List osIds = null, List psIds = null, List ssIds = null,
DateTime? startTimeUtc = null, DateTime? endTimeUtc = null,
string billingPhone = null, string billingEmail = null, string billingLastName = "", string orderNotes = null);
}