Exemple #1
0
        private void ModificationTradersStock()
        {
            logger.Info("Adding stock to trader");
            Console.WriteLine("Please input traders name:");
            string traderName = Console.ReadLine();

            Console.WriteLine("Please input stock name:");
            string stockName = Console.ReadLine();

            if (!validator.StockToTraderValidate(traderName, stockName))
            {
                Console.WriteLine($"Can`t add stock {stockName} to trader {traderName}");
                logger.Info($"Can`t add stock {stockName} to trader {traderName}");
                return;
            }

            var trader = traders.GetTraderByName(traderName);
            var stock  = stockService.GetStockByName(stockName);

            Console.WriteLine("Please input count of stocks:");
            string countStock = Console.ReadLine();

            bool validCount = Int32.TryParse(countStock, out int count);

            if (!validCount)
            {
                Console.WriteLine("Wrong count of stock. Operation cancel.");
                return;
            }

            logger.Info($"Try to add stock = {stock.Name} to trader {trader.Name}");
            try
            {
                TraderInfo traderInfo = new TraderInfo
                {
                    Id   = trader.Id,
                    Name = trader.Name,
                };
                StockInfo stockInfo = new StockInfo
                {
                    Id           = stock.Id,
                    Name         = stock.Name,
                    Count        = count,
                    PricePerItem = stock.PricePerItem
                };

                var id = traderStocks.AddNewStockToTrader(traderInfo, stockInfo);
                Console.WriteLine("Stock added to trader succesfully");
                logger.Info($"Stock {stockInfo.Name} added to trader {traderInfo.Name} succesfully");
            }
            catch (ArgumentException e)
            {
                Console.WriteLine($"{e.Message} Operation cancel.");
                logger.Info("Stock has not been added");
                logger.Error(e);
            }
        }
Exemple #2
0
        public void ShouldAddStockToTrader()
        {
            //Arrange
            TraderInfo trader = new TraderInfo();
            StockInfo  stock  = new StockInfo();

            trader.Id   = 2;
            stock.Id    = 3;
            stock.Count = 2;

            //Act
            var traderStockID = traderStockService.AddNewStockToTrader(trader, stock);

            //Assert
            traderStocksTableRepository.Received(1).Add(Arg.Is <StockToTraderEntityDB>(
                                                            w => w.TraderId == trader.Id &&
                                                            w.StockId == stock.Id &&
                                                            w.StockCount == stock.Count));
            traderStocksTableRepository.Received(1).SaveChanges();
        }