Esempio n. 1
0
 public FifoStrategy(IOrderStockRepository orderStockRepository,
                     IStockRepository stockRepository, ICostRepository costRepository)
 {
     _orderStockRepo = orderStockRepository;
     _stockRepo      = stockRepository;
     _costRepo       = costRepository;
 }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 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);
     }
 }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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);
            }
        }