public SellViewModel(AssetStore assetStore, IStockPriceService stockPriceService, ISellStockService sellStockService, IAccountStore accountStore) { AssetListingViewModel = new AssetListingViewModel(assetStore); SearchSymbolCommand = new SearchSymbolCommand(this, stockPriceService); SellStockCommand = new SellStockCommand(this, sellStockService, accountStore); ErrorMessageViewModel = new MessageViewModel(); StatusMessageViewModel = new MessageViewModel(); }
public CommandStatus Handle(SellStockCommand command) { var portfolio = _repo.Load(); portfolio.Remove(command.StockSymbol); _repo.Store(portfolio); return(new Success()); }
public bool SelectStockToSell(PortfolioStockQueryResult candidates, out SellStockCommand command) { SellStockCommand sellCmd = null; DisplaySellCandidates(candidates.MatchingStocks); Let_user_select_by_index("Enter index of stock to sell: ", index => { var toSell = candidates.MatchingStocks[index]; sellCmd = new SellStockCommand { StockSymbol = toSell.Symbol }; }); command = sellCmd; return(command != null); }
public static void Execute() { ConsoleExtension.WriteSeparator("Stock example"); var stock = new Stock("Tesla", 5); var buyStock = new BuyStockCommand(stock); var sellStock = new SellStockCommand(stock); var broker = new Broker(); broker.TakeOrder(buyStock); broker.TakeOrder(sellStock); broker.ProcessOrders(); }
public CommandStatus Handle(SellStockCommand command) => _client.Execute <HttpCommandStatus>("sellstockcommand", command).CommandStatus;
public HttpCommandStatus Handle([Payload] SellStockCommand command) => new HttpCommandStatus(Handler.Handle(command));