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