Пример #1
0
        public async Task <IActionResult> UzzoBinance(SearchPrice obj_SearchPrice)
        {
            BinanceService objBinanceService = new BinanceService(_configuration, db_UzzoBinance);
            await objBinanceService.SearchPrice();

            //Instanciando serviço que será utilizado
            UzzoPayService obj_ListSymbolPrice = new UzzoPayService(db_UzzoBinance);

            //Retornando para viewModel o resultado do select
            List <SymbolPrice> obj_ViewModel = obj_ListSymbolPrice.SelectLastPrices();

            //Retornando para view os últimos preços salvos
            return(View(obj_ViewModel));
        }
Пример #2
0
        public async Task <string> SearchPrice()
        {
            try
            {
                SearchPrice obj_SearchPrice = new SearchPrice();

                //Utilizando HttClient para a chamada da requisição
                using (var httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Accept.Clear();
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    //Realizando o post para criação de uma nova ordem na Binance
                    HttpResponseMessage httpResponse = httpClient.GetAsync($"{_configuration.GetSection("Binance:SymbolPrice").Value}{"BTCUSDT"}").Result;
                    var varReceiveStream             = await httpResponse.Content.ReadAsStringAsync();

                    //Serealizando o retorno em um objeto do tipo Model SeachPrice
                    dynamic objReturn = Newtonsoft.Json.JsonConvert.DeserializeObject <SearchPrice>(varReceiveStream);

                    if (objReturn != null)
                    {
                        //Inserindo Preço de Compra e Preço de Venda da Criptomoeda no banco de dados
                        var var_InsertSymbolPrice = new SymbolPrice
                        {
                            symbol           = objReturn.symbol,
                            bidPrice         = Convert.ToDecimal(objReturn.bidPrice), //Compra
                            askPrice         = Convert.ToDecimal(objReturn.askPrice), //Venda
                            dateAndTimePrice = DateTime.Now
                        };

                        db_UzzoBinance.Add(var_InsertSymbolPrice);
                        db_UzzoBinance.SaveChanges();
                        //Retirar o Tracked da tabela para que seja possivel instanciar a mesma novamente
                        db_UzzoBinance.Entry(var_InsertSymbolPrice).State = EntityState.Detached;
                    }
                }

                return(obj_SearchPrice.lastId.ToString());
            }
            catch (Exception ex)
            {
                throw ex.InnerException;
            }
        }