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