using Nop.Core; using Nop.Core.Domain.Customers; using Nop.Core.Domain.Orders; namespace Nop.Services.Orders; /// /// Reward point service interface /// public partial interface IRewardPointService { /// /// Load reward point history records /// /// Customer identifier; 0 to load all records /// Store identifier; pass null to load all records /// A value indicating whether to show reward points that did not yet activated /// Order Guid; pass null to load all record /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the reward point history records /// Task> GetRewardPointsHistoryAsync(int customerId = 0, int? storeId = null, bool showNotActivated = false, Guid? orderGuid = null, int pageIndex = 0, int pageSize = int.MaxValue); /// /// Gets reward points balance /// /// Customer identifier /// Store identifier /// /// A task that represents the asynchronous operation /// The task result contains the balance /// Task GetRewardPointsBalanceAsync(int customerId, int storeId); /// /// Add reward points history record /// /// Customer /// Number of points to add /// Store identifier /// Message /// the order for which points were redeemed as a payment /// Used amount /// Date and time of activating reward points; pass null to immediately activating /// Date and time when the reward points will no longer be valid; pass null to add date termless points /// /// A task that represents the asynchronous operation /// The task result contains the reward points history entry identifier /// Task AddRewardPointsHistoryEntryAsync(Customer customer, int points, int storeId, string message = "", Order usedWithOrder = null, decimal usedAmount = 0M, DateTime? activatingDate = null, DateTime? endDate = null); /// /// Gets a reward point history entry /// /// Reward point history entry identifier /// /// A task that represents the asynchronous operation /// The task result contains the reward point history entry /// Task GetRewardPointsHistoryEntryByIdAsync(int rewardPointsHistoryId); /// /// Updates the reward point history entry /// /// Reward point history entry /// A task that represents the asynchronous operation Task UpdateRewardPointsHistoryEntryAsync(RewardPointsHistory rewardPointsHistory); /// /// Delete the reward point history entry /// /// Reward point history entry /// A task that represents the asynchronous operation Task DeleteRewardPointsHistoryEntryAsync(RewardPointsHistory rewardPointsHistory); }