Example #1
0
        public async Task <IActionResult> ListarLancamentos(ProcurarLancamento filtro)
        {
            if (filtro == null)
            {
                return(new FeedbackResult(new Feedback(TipoFeedback.Atencao, "As informações para a procura não foram preenchidas.", tipoAcao: TipoAcaoAoOcultarFeedback.Ocultar)));
            }

            LancamentoOrdenarPor ordenarPor;

            switch (_datatablesHelper.OrdenarPor)
            {
            case "categoria":
                ordenarPor = LancamentoOrdenarPor.CategoriaCaminho;
                break;

            case "pessoa":
                ordenarPor = LancamentoOrdenarPor.NomePessoa;
                break;

            default:
                ordenarPor = LancamentoOrdenarPor.Data;
                break;
            }

            filtro.OrdenarPor     = ordenarPor;
            filtro.OrdenarSentido = _datatablesHelper.OrdenarSentido;
            filtro.PaginaIndex    = _datatablesHelper.PaginaIndex;
            filtro.PaginaTamanho  = _datatablesHelper.PaginaTamanho;

            var saida = await _proxy.ProcurarLancamentos(filtro);

            if (!saida.Sucesso)
            {
                return(new FeedbackResult(new Feedback(TipoFeedback.Erro, "Não foi possível obter a relação de lançamentos cadastrados.", saida.Mensagens)));
            }

            return(new DatatablesResult(_datatablesHelper.Draw, saida.Retorno.TotalRegistros, saida.Retorno.Registros.Select(x => new {
                id = x.Id,
                idParcela = x.IdParcela,
                idAgendamento = x.Parcela?.IdAgendamento,
                pagamentoFatura = x.Categoria.Id == 3, // Categoria referente ao pagamento de fatura
                data = x.Data,
                pessoa = x.Pessoa?.Nome,
                categoria = x.Categoria.Caminho,
                idTransferencia = x.IdTransferencia,
                tipoCategoria = x.Categoria.Tipo,
                valor = x.Categoria.Tipo == "C" ? x.Valor : x.Valor * -1,
                observacao = x.Observacao,
                anexos = x.Anexos.Count(),
                detalhes = x.Detalhes.Count()
            }).ToList()));
        }
 /// <summary>
 /// Realiza a procura por lançamentos
 /// </summary>
 public async Task <Saida <ResultadoProcura <Lancamento> > > ProcurarLancamentos(ProcurarLancamento entrada)
 {
     using (var content = new StringContent(entrada.ObterJson(), Encoding.UTF8, "application/json"))
     {
         return(await _httpClientHelper.FazerRequest <Saida <ResultadoProcura <Lancamento> > >("lancamento/procurar", MetodoHttp.POST, content));
     }
 }