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 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);
void SetContraints(string a_token);
}
}