Esempio n. 1
0
        public async Task <ResultadoTransferenciaModel> Buscar(FiltroTransferencia filtro)
        {
            ResultadoTransferenciaModel resultado = new ResultadoTransferenciaModel();

            var t = _context.Transferencias.Where(x => !x.Removida).AsQueryable();

            if (!string.IsNullOrEmpty(filtro.NomePagador))
            {
                t = t.Where(x => x.Pagador.Nome.Equals(filtro.NomePagador));
            }

            if (!string.IsNullOrEmpty(filtro.NomeBeneficiario))
            {
                t = t.Where(x => x.Beneficiario.Nome.Equals(filtro.NomeBeneficiario));
            }

            if (filtro.Data != default)
            {
                t = t.Where(x => x.Data.Date == filtro.Data.Value.Date);
            }

            if (filtro.Status != null)
            {
                t = t.Where(x => x.Status.Equals(filtro.Status));
            }

            if (filtro.Tipo != null)
            {
                t = t.Where(x => x.Tipo.Equals(filtro.Tipo));
            }

            var dbTransferencias = await t.ToListAsync();

            resultado.Somatoria  = dbTransferencias.Sum(x => x.Valor);
            resultado.Quantidade = dbTransferencias.Count;

            resultado.Transferencias = dbTransferencias
                                       .Select(x => new TransferenciaModel
            {
                Id           = x.Id,
                Data         = x.Data,
                Status       = x.Status,
                Tipo         = x.Tipo,
                Valor        = x.Valor,
                Beneficiario = new DadosTransacaoModel(x.Beneficiario.Nome, x.Beneficiario.Banco, x.Beneficiario.Agencia, x.Beneficiario.Conta),
                Pagador      = new DadosTransacaoModel(x.Pagador.Nome, x.Pagador.Banco, x.Pagador.Agencia, x.Pagador.Conta),
                Usuario      = new UsuarioModel(x.Usuario.Id, x.Usuario.Nome, x.Usuario.Cnpj)
            })
                                       .ToList();

            return(resultado);
        }
Esempio n. 2
0
 public async Task <ActionResult <ResultadoTransferenciaModel> > Get([FromQuery] FiltroTransferencia filtro)
 {
     return(Ok(await _transferenciaService.Buscar(filtro)));
 }