public FileResult DownloadWallet(string chaveSessao, string senha) { var entidade = CmCache.Obter().ObterItem <CarteiraEntradaEntidade>(chaveSessao); byte[] fileBytes = Encrypt(JsonConvert.SerializeObject(entidade), senha); return(File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, "Carteira.wallet")); }
public JsonResult ObterCorpoPagina(double totalInvestido, string entradaPolo, string entradaBittrex, string entradaKraken, string entradaBitfinex, string listaBalancoColdWalletString, string listaComprasColdWalletString) { var entradaPoloEntidade = ObterEntradaApi <PoloniexEntradaApiEntidade>(entradaPolo); var entradaBittrexEntidade = ObterEntradaApi <BittrexEntradaApiEntidade>(entradaBittrex); var entradaKrakenEntidade = ObterEntradaApi <KrakenEntradaApiEntidade>(entradaKraken); var entradaBitfinexEntidade = ObterEntradaApi <BitfinexEntradaApiEntidade>(entradaBitfinex); var listaBalancoColdWallet = ObterEntradaApi <List <MoedaEmCarteiraEntidade> >(listaBalancoColdWalletString); var listaComprasColdWallet = ObterEntradaApi <List <CompraMoedaEmColdEntidade> >(listaComprasColdWalletString); var carteiraEntrada = new CarteiraEntradaEntidade { Investido = totalInvestido, Poloniex = entradaPoloEntidade, Bittrex = entradaBittrexEntidade, Kraken = entradaKrakenEntidade, Bitfinex = entradaBitfinexEntidade, BalancoCold = listaBalancoColdWallet }; HomeModel model = ObterModel(carteiraEntrada); string chaveSessao = Guid.NewGuid().ToString(); CmCache.Obter().AdicionarItem(chaveSessao, carteiraEntrada, CmCache.TEMPO_CACHE_10_MINUTOS); return(Json(new { html = RenderizarVisaoParcial("_CorpoPagina", model), listaCryptos = model.GridListaCryptos.Lista, chaveSessao = chaveSessao }, JsonRequestBehavior.AllowGet)); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); CmCache.RegistrarCache(new CmCacheHttpRuntime()); }
private BitfinexQuantidadeEntidade[] ObterBalancoConta() { if (CmCache.Obter().ContemItem(ApiKey + "Balanco")) { return(CmCache.Obter().ObterItem <BitfinexQuantidadeEntidade[]>(ApiKey + "Balanco")); } string resultadoConsulta = ExecutarConsultaAutenticada("/v1/balances", new BitfinexPostBase()); var retorno = JsonConvert.DeserializeObject <BitfinexQuantidadeEntidade[]>(resultadoConsulta); CmCache.Obter().AdicionarItem(ApiKey + "Balanco", retorno, CmCache.TEMPO_CACHE_5_MINUTOS); return(retorno); }
private HistoricoPoloniex ObterHistoricoPoloniex() { if (CmCache.Obter().ContemItem(ApiKey + "Historico")) { return(CmCache.Obter().ObterItem <HistoricoPoloniex>(ApiKey + "Historico")); } string resultadoConsulta = ExecutarConsultaAutenticada("returnTradeHistory"); var retorno = JsonConvert.DeserializeObject <HistoricoPoloniex>(resultadoConsulta); CmCache.Obter().AdicionarItem(ApiKey + "Historico", retorno, CmCache.TEMPO_CACHE_30_MINUTOS); return(retorno); }
private PoloniexQuantidadeEntidade ObterBalancoConta() { if (CmCache.Obter().ContemItem(ApiKey + "Balanco")) { return(CmCache.Obter().ObterItem <PoloniexQuantidadeEntidade>(ApiKey + "Balanco")); } string resultadoConsulta = ExecutarConsultaAutenticada("returnCompleteBalances"); var retorno = JsonConvert.DeserializeObject <PoloniexQuantidadeEntidade>(resultadoConsulta); CmCache.Obter().AdicionarItem(ApiKey + "Balanco", retorno, CmCache.TEMPO_CACHE_5_MINUTOS); return(retorno); }
private KrakenQuantidadeEntidade ObterBalancoConta() { if (CmCache.Obter().ContemItem(ApiKey + "Balanco")) { return(CmCache.Obter().ObterItem <KrakenQuantidadeEntidade>(ApiKey + "Balanco")); } string complementoUrl = "/0/private/Balance"; string resultadoConsulta = ExecutarConsultaAutenticada(complementoUrl); var retorno = JsonConvert.DeserializeObject <KrakenQuantidadeEntidade>(resultadoConsulta); CmCache.Obter().AdicionarItem(ApiKey + "Balanco", retorno, CmCache.TEMPO_CACHE_5_MINUTOS); return(retorno); }
private KrakenHistoricoOrdem[] ObterHistoricoOrdem() { if (CmCache.Obter().ContemItem(ApiKey + "Historico")) { return(CmCache.Obter().ObterItem <KrakenHistoricoOrdem[]>(ApiKey + "Historico")); } string complementoUrl = "/0/private/TradesHistory"; string resultadoConsulta = ExecutarConsultaAutenticada(complementoUrl); var retorno = JsonConvert.DeserializeObject <KrakenHistoricoOrdemCompleto>(resultadoConsulta).result.trades; CmCache.Obter().AdicionarItem(ApiKey + "Historico", retorno, CmCache.TEMPO_CACHE_30_MINUTOS); return(retorno); }
public List <CotacaoMoedaEntidade> Cotar() { List <CotacaoMoedaEntidade> lista = new List <CotacaoMoedaEntidade>(); try { lista.AddRange(CmCache.Obter().ExecutarFuncaoBusca <List <CotacaoMoedaEntidade> >( new Func <List <CotacaoMoedaEntidade> >(ObterCotacoesSemCache), CmCache.TEMPO_CACHE_10_MINUTOS)); } catch { lista.Add(CriarRegistroRetorno(TipoCrypto.Real, 9500)); } return(lista); }
private HistoricoOrdemBitfinex[] ObterHistoricoOrdem(string par, string siglaCrypto) { if (CmCache.Obter().ContemItem(ApiKey + "Historico" + par)) { return(CmCache.Obter().ObterItem <HistoricoOrdemBitfinex[]>(ApiKey + "Historico" + par)); } string resultadoConsulta = ExecutarConsultaAutenticada("/v1/mytrades", new BitfinexPostHistorico { Symbol = par, Timestamp = (new DateTime(2017, 01, 01).Subtract(new DateTime(1970, 1, 1))).TotalSeconds.ToString() }); var retorno = JsonConvert.DeserializeObject <HistoricoOrdemBitfinex[]>(resultadoConsulta); foreach (var historico in retorno) { historico.SiglaCrypto = siglaCrypto; } CmCache.Obter().AdicionarItem(ApiKey + "Historico" + par, retorno, CmCache.TEMPO_CACHE_30_MINUTOS); return(retorno); }
internal TCotacoes Cotar(string url, Dictionary <string, object> parametros) { try { return(CmCache.Obter().ExecutarFuncaoBusca <TCotacoes>( new Func <string, Dictionary <string, object>, TCotacoes>(CotarSemCache), CmCache.TEMPO_CACHE_5_MINUTOS, url, parametros)); } catch (Exception exception) { string informacoesAdicionais = ""; try { informacoesAdicionais = string.Format("Tentativa de GET na rota: {0}", GetAddressToGet(url, parametros)); } catch { informacoesAdicionais = "ERRO ao obter informações adicionais."; } throw new CryptoManagerException(string.Format("Erro na cotação. {0}", informacoesAdicionais), exception); } }