The cloud manager acts as an intermediary for syncing between the local biskilog server manager and the biskilog accounting web application
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.

44 lines
1.8 KiB

using Cloud_Manager.Models.CustomModels;
using Cloud_Manager.Models.POSModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Cloud_Manager.Models.Interfaces
{
public interface IProduct
{
IEnumerable<Unitofmeasure> GetUnitofmeasures();
IEnumerable<ProductItem> GetProducts(string a_productKey = "");
IEnumerable<Tblbrand> GetBrands(string a_brandKey = "");
IEnumerable<Tblcategory> GetCategories(string a_categoryKey = "");
IEnumerable<ProductItem> GetLowstockItems();
Task FetchProducts();
Task FetchLowStockProducts();
Task FetchUnits();
Task FetchBrands();
Task FetchCategories();
void RefreshList();
ProductItem GetProductById(string a_id);
ProductItem GetProductByName(string name);
string GetUnitName(string a_unitCode);
event EventHandler ProductsChanged;
event EventHandler UnitsChanged;
event EventHandler BrandsChanged;
event EventHandler CategoriesChanged;
Task SyncProducts(List<Tblproduct> a_item);
Task SyncInventory(List<Tblinventory> a_item);
Task SyncInventoryEntries(List<Tblinventoryentry> a_item);
Task SyncPriceChanges(List<Tblpricechange> a_items);
Task SyncProductAltUnit(List<Productaltunit> a_items);
Task SyncRestockAsync(List<Restocklevel> a_items);
Task SyncUnitOfMeasureAsync(List<Unitofmeasure> a_items);
Task SyncStockAsync(List<Tbstock> a_items);
Task SyncBrandsAsync(List<Tblbrand> a_items);
Task SyncCategoriesAsync(List<Tblcategory> a_items);
DateTime GetLastSyncDate(string a_tablename);
void SetLastSyncDate(string a_tableName, DateTime a_timestamp);
}
}