You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
3.9 KiB
86 lines
3.9 KiB
using Biskilog_Accounting.Shared.CustomModels;
|
|
using Biskilog_Accounting.Shared.POSModels;
|
|
|
|
namespace Biskilog_Accounting.Shared.Interfaces
|
|
{
|
|
public interface IAnalytics
|
|
{
|
|
/// <summary>
|
|
/// Fetches a collection of sales transaction made from the specified start date to the end date
|
|
/// </summary>
|
|
/// <param name="a_start">Specified Start Date</param>
|
|
/// <param name="a_end">Specified end Date</param>
|
|
/// <returns></returns>
|
|
IEnumerable<Tblcart> GetSalesTransaction(DateTime a_start, DateTime a_end);
|
|
/// <summary>
|
|
/// Fetches a collection of sales transaction made within a one week period
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
IEnumerable<WeeklySaleItem> GetWeeklySalesTransaction();
|
|
/// <summary>
|
|
/// Fetches a collection of in-debt customers
|
|
/// <returns></returns>
|
|
IEnumerable<CustomerAccounts> GetInDebtCustomers();
|
|
/// <summary>
|
|
/// Fetches a collection of Product Items which are currently out of stock
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
IEnumerable<ProductItem> GetOutOfStockItems();
|
|
/// <summary>
|
|
/// Fetches a collection of the most purchased Product Items within a specified date range
|
|
/// </summary>
|
|
/// <param name="a_start"></param>
|
|
/// <param name="a_end"></param>
|
|
/// <returns></returns>
|
|
IEnumerable<MostPurchasedItem> GetMostPurchasedItem(DateTime a_start, DateTime a_end);
|
|
/// <summary>
|
|
/// Fetches a collection of cancelled transaction within a specified date range
|
|
/// </summary>
|
|
/// <param name="a_start"></param>
|
|
/// <param name="a_end"></param>
|
|
/// <returns></returns>
|
|
IEnumerable<CancelledSales> GetCancelledSales(DateTime a_start, DateTime a_end);
|
|
/// <summary>
|
|
/// Fetches a collection of transaction made by employees within a specified date range
|
|
/// </summary>
|
|
/// <param name="a_start"></param>
|
|
/// <param name="a_end"></param>
|
|
/// <returns>A dictionary of transactions made by employees with employee name as key</returns>
|
|
Dictionary<string, List<SaleItem>> GetEmployeeSales(DateTime a_start, DateTime a_end);
|
|
/// <summary>
|
|
/// Fetches a collection of product price changes with a specified date range
|
|
/// </summary>
|
|
/// <param name="a_start"></param>
|
|
/// <param name="a_end"></param>
|
|
/// <returns></returns>
|
|
IEnumerable<ProductPriceChange> GetPriceChanges(DateTime a_start, DateTime a_end);
|
|
/// <summary>
|
|
/// Fetch the trade summary which is made of the total sales made currently and previous trade
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
TradeSummary GetTradeSummary();
|
|
/// <summary>
|
|
/// Fetches the most recent sales transactions
|
|
/// </summary>
|
|
/// <param name="a_limit">The number of rows to return </param>
|
|
/// <returns></returns>
|
|
IEnumerable<SaleItem> GetRecentSales(int a_limit);
|
|
/// <summary>
|
|
/// Fetches a collection of product price changes recently made
|
|
/// </summary>
|
|
/// <param name="a_limit">the number of rows to return</param>
|
|
/// <returns></returns>
|
|
IEnumerable<ProductPriceChange> GetRecentPriceChanges(int a_limit);
|
|
/// <summary>
|
|
/// Fetches a collection of price change history per product
|
|
/// </summary>
|
|
/// <param name="a_limit">the number of products to fetch history</param>
|
|
/// <returns></returns>
|
|
IEnumerable<ProductPriceChange> GetProductPriceChangeHistory(int a_limit);
|
|
/// <summary>
|
|
/// Fetches a collection of sales transaction grouped by category made within a one week period
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
IEnumerable<WeeklyCategorySummary> GetWeeklySalesCategoryTransaction(int a_limit);
|
|
}
|
|
}
|
|
|