public ExtratoPaginado ObterExtrato(ExtratoFiltro filtro) { ExtratoPaginado ret = new ExtratoPaginado(filtro); List <Extrato> result = new List <Extrato>(); string sql = "select ExtratoId Id, ContaNumero NumeroConta, ExtratoDataOperacao DataOperacao, " + " ExtratoValorOperacao ValorOperacao, ExtratoTipoOperacao TipoOperacao, ExtratoTransacao Transacao" + " from Extrato " + " where ContaNumero = @NumeroConta " + " and ExtratoDataOperacao between @Passado and @Agora" + " limit @TamanhoPagina offset @RegistroPontoPartida"; using (SQLiteConnection connection = new SQLiteConnection(_conn)) { string vNumeroConta = filtro.NumeroConta; long vPassado = long.Parse(System.DateTime.Now.AddDays(filtro.UltimosDias * -1).ToString("yyyyMMdd") + "000000"); long vAgora = long.Parse(System.DateTime.Now.ToString("yyyyMMddHHmmss")); int vRegistroPontoPartida = (filtro.TamanhoPagina * filtro.Pagina) - filtro.TamanhoPagina; int vTamanhoPagina = filtro.TamanhoPagina + 1; result = connection.Query <Extrato>(@sql, new { NumeroConta = vNumeroConta, Passado = vPassado, Agora = vAgora, RegistroPontoPartida = vRegistroPontoPartida, TamanhoPagina = vTamanhoPagina }).AsList <Extrato>(); } 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.Extratos.AddRange(result); } return(ret); }
public ExtratoPaginado ObterMovimentacoes(ExtratoFiltro filtro) { ContaRepository cRepo = new ContaRepository(_conf); return(cRepo.ObterExtrato(filtro)); }
public ExtratoPaginado ObterExtrato(string numeroConta, int ultimosDias, int pagina, int tamanhoPagina) { ExtratoFiltro filtro = new ExtratoFiltro(numeroConta, ultimosDias, pagina, tamanhoPagina); return(_repo.ObterExtrato(filtro)); }