public FifoStrategy(IOrderStockRepository orderStockRepository, IStockRepository stockRepository, ICostRepository costRepository) { _orderStockRepo = orderStockRepository; _stockRepo = stockRepository; _costRepo = costRepository; }
public TestBLL() { shopRepo = new ShopRepository(conn); businessRepo = new BusinessRepository(conn); imgRepo = new ImagesRepository(conn); prodRepo = new ProductRepository(conn); unitRepo = new UnitRepository(conn); priceRepo = new PriceRepository(conn); costRepo = new CostRepository(conn); stockRepo = new StockRepository(conn); userRepo = new UserRepository(conn); billsRepo = new BillsRepository(conn); expRepo = new ExpensesRepository(conn); foldersRepo = new FoldersRepository(conn); dbBase = new DropBoxBase("o9340xsv2mzn7ws", "xzky2fzfnmssik1"); checker = new ShopsChecker(shopRepo); dbBase.GeneratedAuthenticationURL(); dbBase.GenerateAccessToken(); prodService = new ProductService(shopRepo, businessRepo, imgRepo, dbBase, prodRepo, unitRepo, priceRepo, costRepo, stockRepo, ordersRepo, strategy, new FoldersDataService(foldersRepo, prodRepo)); orderStockRepo = new OrderStockRepository(conn); strategy = new FifoStrategy(orderStockRepo, stockRepo, costRepo); salesService = new SalesSerivce(userRepo, shopRepo, billsRepo, prodRepo, priceRepo, imgRepo, strategy, checker, costRepo); ordersRepo = new OrdersRepository(conn); productDataService = new ProductDataService(dbBase); }
private async Task CancellationStrategyUow(Order cancel, IUnitOfWork uow) { _orderStockRepo = new OrderStockRepository(uow); foreach (var item in cancel.OrderDetails) { var count = item.count; await UpdateOrderStockBySalesUow(count, item.prod_id, cancel.shop_id); await UpdateCostAndStocksUow(item.prod_id, cancel.shop_id, uow); } }
private async Task SalesStrategyUow(Bill bill, IUnitOfWork uow) { _orderStockRepo = new OrderStockRepository(uow); foreach (var item in bill.Sales) { await UpdateOrderStockBySalesUow(item.count, item.prod_id, bill.shop_id); await UpdateCostAndStocksUow(item.prod_id, bill.shop_id, uow); } }
private async Task OrderStrategyUow(Order order, IUnitOfWork uow) { _orderStockRepo = new OrderStockRepository(uow); foreach (var orderDetail in order.OrderDetails) { var orderStock = new OrderStock { order_id = orderDetail.id, prod_id = orderDetail.prod_id, curr_stocks = orderDetail.count, shop_id = order.shop_id }; await _orderStockRepo.InsertUow(orderStock); await UpdateCostAndStocksUow(orderDetail.prod_id, order.shop_id, uow); } }