public ActionResult <IEnumerable <ListagemMovimentacaoFundoViewModel> > Get([FromServices] IMovimentoApplication application,
                                                                             [FromServices] IMapper mapper)
 {
     try
     {
         var movimentos = application.Listar();
         return(mapper.Map <List <ListagemMovimentacaoFundoViewModel> >(movimentos));
     }
     catch (Exception)
     {
         //TODO: Logar a exception
         return(BadRequest("Erro ao listar Fundos."));
     }
 }
        public ActionResult Post([FromServices] IMovimentoApplication application,
                                 [FromServices] IMapper mapper,
                                 [FromBody] InclusaoMovimentacaoFundoViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var movimentacao = mapper.Map <Movimentacao>(model);

                    if (model.TipoMovimentacao == TipoMovimentoFundoViewModel.Aplicacao)
                    {
                        application.Resgatar(movimentacao);
                    }
                    else
                    {
                        application.Aplicar(movimentacao);
                    }

                    var movimento = model.TipoMovimentacao == TipoMovimentoFundoViewModel.Aplicacao ? "Aplicação" : "Resgate";
                    return(Ok($"{movimento} realizado com sucesso."));
                }
                catch (DomainServiceException ex)
                {
                    return(StatusCode(500, ex));
                }
                catch (Exception)
                {
                    //TODO: Logar a exception
                    return(StatusCode(500, "Erro ao incluir movimento no fundo."));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }