using Biskilog_Accounting.Shared.CustomModels; using Biskilog_Accounting.Shared.POSModels; namespace Biskilog_Accounting.Shared.Interfaces { public interface IAnalytics { /// /// Fetches a collection of sales transaction made from the specified start date to the end date /// /// Specified Start Date /// Specified end Date /// IEnumerable GetSalesTransaction(DateTime a_start, DateTime a_end); /// /// Fetches a collection of sales transaction made within a one week period /// /// IEnumerable GetWeeklySalesTransaction(); /// /// Fetches a collection of in-debt customers /// IEnumerable GetInDebtCustomers(); /// /// Fetches a collection of Product Items which are currently out of stock /// /// IEnumerable GetOutOfStockItems(); /// /// Fetches a collection of the most purchased Product Items within a specified date range /// /// /// /// IEnumerable GetMostPurchasedItem(DateTime a_start, DateTime a_end); /// /// Fetches a collection of cancelled transaction within a specified date range /// /// /// /// IEnumerable GetCancelledSales(DateTime a_start, DateTime a_end); /// /// Fetches a collection of transaction made by employees within a specified date range /// /// /// /// A dictionary of transactions made by employees with employee name as key Dictionary> GetEmployeeSales(DateTime a_start, DateTime a_end); /// /// Fetches a collection of product price changes with a specified date range /// /// /// /// IEnumerable GetPriceChanges(DateTime a_start, DateTime a_end); /// /// Fetch the trade summary which is made of the total sales made currently and previous trade /// /// TradeSummary GetTradeSummary(); /// /// Fetches the most recent sales transactions /// /// The number of rows to return /// IEnumerable GetRecentSales(int a_limit); /// /// Fetches a collection of product price changes recently made /// /// the number of rows to return /// IEnumerable GetRecentPriceChanges(int a_limit); /// /// Fetches a collection of price change history per product /// /// the number of products to fetch history /// IEnumerable GetProductPriceChangeHistory(int a_limit); /// /// Fetches a collection of sales transaction grouped by category made within a one week period /// /// IEnumerable GetWeeklySalesCategoryTransaction(int a_limit); } }