Esempio n. 1
0
        public async Task <ActionResult <InvestimentoConsolidado> > ObterInvestimentos()
        {
            try
            {
                InvestimentoConsolidado investimentoConsolidado;
                var existeCache = await _redisCache.ExistObjectAsync(_cache, "consolidado");

                if (existeCache)
                {
                    investimentoConsolidado =
                        await _redisCache.GetObjectAsync <InvestimentoConsolidado>(_cache, "consolidado");
                }
                else
                {
                    investimentoConsolidado = await _investimentoService.ObterInvestimentoConsolidado();

                    TimeSpan timeout = DateTime.Today.AddDays(1) - DateTime.Now;
                    await _redisCache.SetObjectAsync(_cache, "consolidado", investimentoConsolidado, timeout);
                }

                return(Ok(investimentoConsolidado));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }