Exemple #1
0
        public async Task DoMarketOrder(LkeHubDealModel model)
        {
            if (model.Action != "sell" && model.Action != "buy")
            {
                SendMessage("#volume" + model.CurTo, Phrases.InvalidCommand);
                return;
            }

            double volume;

            try
            {
                volume = model.Volume.ParseAnyDouble();
            }
            catch (Exception)
            {
                SendMessage("#volume" + model.CurTo, Phrases.InvalidAmountFormat);
                return;
            }

            var orderAction = model.Action == "sell" ? OrderAction.Sell : OrderAction.Buy;
            var traderId    = GetTraderId();

            var asset = Dependencies.AssetPairsDictionary.FindByBasedOrQuotingAsset(model.CurFrom, model.CurTo);

            var marketOrder = MarketOrder.Create(traderId, asset.Id, model.CurFrom, orderAction, volume);

            try
            {
                await Dependencies.SrvOrdersRegistrator.RegisterTradeOrderAsync(marketOrder);

                SendMessage("#volume" + model.CurTo, Phrases.OrderHasBeenRegistered);
            }
            catch (Exception ex)
            {
                SendMessage("#volume" + model.CurTo, ex.Message);
            }
        }
Exemple #2
0
        public async Task DoMarketOrder(LkeHubDealModel model)
        {
            if (model.Action != "sell" && model.Action != "buy")
            {
                SendMessage("#volume"+model.CurTo, Phrases.InvalidCommand);
                return;
            }

            double volume;

            try
            {
                volume = model.Volume.ParseAnyDouble();
            }
            catch (Exception)
            {
                SendMessage("#volume" + model.CurTo, Phrases.InvalidAmountFormat);
                return;
            }

            var orderAction = model.Action == "sell" ? OrderAction.Sell : OrderAction.Buy;
            var traderId = GetTraderId();

            var asset = Dependencies.AssetPairsDictionary.FindByBasedOrQuotingAsset(model.CurFrom, model.CurTo);

            var marketOrder = MarketOrder.Create(traderId, asset.Id, model.CurFrom, orderAction, volume);

            try
            {
                   await Dependencies.SrvOrdersRegistrator.RegisterTradeOrderAsync(marketOrder);

                SendMessage("#volume" + model.CurTo, Phrases.OrderHasBeenRegistered);
            }
            catch (Exception ex)
            {

                SendMessage("#volume" + model.CurTo, ex.Message);
            }



        }