public async Task <bool> Buy(Guid userId, Guid stockId, int noOfUnits) { try { //validate stock & available units from repo //buy stock var userStockId = await _tradeRepository.BuyStock(userId, stockId, noOfUnits); Order order = new Order() { StockId = stockId, OrderDate = DateTime.Now, UserStockId = userStockId, OrderStatus = CentralTrade.Models.Enums.OrderStatus.Placed, TransactionType = CentralTrade.Models.Enums.TransactionType.Buy, }; _messageHandler.Send(order, "Order - " + order.StockId); return(true); } catch (Exception ex) { _logger.Log(LogSeverity.Error, ex.Message); } return(false); }