コード例 #1
0
        public async Task <HttpStatusCode> AcionarListagemContas(int pagina, int tamanhoPagina)
        {
            try
            {
                string url = Rotas._ListagemContas.
                             Replace("{0}", pagina.ToString().Trim()).
                             Replace("{1}", tamanhoPagina.ToString().Trim());

                var response = await _client.GetAsync(url);

                if (response.IsSuccessStatusCode)
                {
                    string aux = response.Content.ReadAsStringAsync().Result;
                    _ContaPaginado = ContaPaginado.FromJson(aux);
                }
                return(response.StatusCode);
            }
            catch (HttpRequestException e)
            {
                throw e;
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #2
0
        public IActionResult ObterContas([FromQuery] int pagina, int tamanhoPagina)
        {
            if (!SegurancaGerencialHelper.Autorizado(Request))
            {
                return(Unauthorized());
            }

            ContaPaginado ret = null;

            try
            {
                ret = _helper.ObterContas(pagina, tamanhoPagina);
                if (ret.Contas.Count > 0)
                {
                    return(Ok(ret));
                }
                else
                {
                    return(NotFound(ret));
                }
            }
            catch (Exception)
            {
                return(StatusCode(Rotas.HttpStatusCodeIntervalError));
            }
        }
コード例 #3
0
        public ContaPaginado ObterContas(ContaFiltro filtro)
        {
            ContaPaginado ret    = new ContaPaginado(filtro);
            List <Conta>  result = new List <Conta>();

            string sql = "select ContaNumero NumeroConta, " +
                         "       ContaSaldo SaldoAtual, " +
                         "       '/api/admin/cliente/' || ClienteId Cliente, " +
                         "       '/api/admin/' || ContaNumero || '/movimentacoes?pagina=1&tamanhopagina=25' Extrato" +
                         "  from Conta " +
                         " order by ContaNumero " +
                         " limit @TamanhoPagina offset @RegistroPontoPartida";

            using (SQLiteConnection connection = new SQLiteConnection(_conn))
            {
                int vRegistroPontoPartida = (filtro.TamanhoPagina * filtro.Pagina) - filtro.TamanhoPagina;
                int vTamanhoPagina        = filtro.TamanhoPagina + 1;

                result = connection.Query <Conta>(@sql, new
                {
                    RegistroPontoPartida = vRegistroPontoPartida,
                    TamanhoPagina        = vTamanhoPagina
                }).AsList <Conta>();
            }

            if (result != null)
            {
                ret.ProximaPagina  = "0";
                ret.PaginaAnterior = (filtro.Pagina > 1 ? (filtro.Pagina - 1).ToString() : "0");

                if (result.Count > filtro.TamanhoPagina)
                {
                    ret.ProximaPagina = (filtro.Pagina + 1).ToString();
                    result.RemoveAt(result.Count - 1);
                }

                ret.Contas.AddRange(result);
            }

            return(ret);
        }