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); } }
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(); }