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