Ejemplo n.º 1
0
        public static async Task <HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "post", Route = "orders")] HttpRequestMessage req, TraceWriter log)
        {
            try
            {
                //read json object from request body
                var content     = req.Content;
                var jsonContent = content.ReadAsStringAsync().Result;
                var order       = JsonConvert.DeserializeObject <TradeDto>(jsonContent);

                var tradeTable = await ConnectionManager.GetTableConnection(Constants.OrderTableName, Constants.IsDryRunning);

                var activeTrade = tradeTable.CreateQuery <Trade>().Where(x => x.RowKey == order.Uuid).FirstOrDefault();

                // Directly sell it off.
                var tradeManager = new GenericTradeManager(new BittrexApi(Constants.IsDryRunning), null, new PushNotificationManager(), (a) => log.Info(a));
                await tradeManager.DirectSell(activeTrade);

                tradeTable.Execute(TableOperation.Replace(activeTrade));

                return(req.CreateResponse(HttpStatusCode.OK, true));
            }
            catch (Exception ex)
            {
                return(req.CreateResponse(HttpStatusCode.OK, false));
            }
        }