コード例 #1
0
        public Resultado <AplicacaoFinanceira> ResgatarAplicacao(int id)
        {
            var aplicacao = GetById(id);

            if (aplicacao == null)
            {
                return(Resultado <AplicacaoFinanceira> .Erro("Aplicação não encontrada."));
            }
            if (aplicacao.DataResgate.HasValue)
            {
                return(Resultado <AplicacaoFinanceira> .Erro("Aplicação já resgatada."));
            }

            aplicacao.DataResgate = DateTime.Now;

            var mensagemErro = ValidarResgate(aplicacao.DataAplicacao, aplicacao.DataResgate.Value);

            if (!string.IsNullOrEmpty(mensagemErro))
            {
                return(Resultado <AplicacaoFinanceira> .Erro(mensagemErro));
            }

            aplicacao = CalcularRendimento(aplicacao);
            base.Update(aplicacao);

            return(Resultado <AplicacaoFinanceira> .OK(aplicacao));
        }
コード例 #2
0
        public async Task <Resultado> Cadastrar(FamiliaDto familiaDto)
        {
            var status = await _familiaRepository.ObterStatus(familiaDto.StatusId);

            var familia = _familiaFactory.Criar(status);

            foreach (var pessoa in familiaDto.Pessoas)
            {
                familia.CriarPessoa(
                    Nome.CriarNovo(pessoa.Nome),
                    Idade.CriarNovo(pessoa.DataDeNascimento),
                    pessoa.Tipo,
                    pessoa.Renda.HasValue ? Renda.CriarNovo(pessoa.Renda.Value) : null);
            }
            if (!familia.Validar())
            {
                return(Resultado.Erro("Familia deve possuir apenas um pretendente e apenas um cônjuge."));
            }

            await _familiaRepository.Adicionar(familia);

            if (familia.Status.CadastroValido)
            {
                await _calculoDePontosDosCriteriosAtendidos.Executar(familia);
            }

            return(Resultado.OK());
        }
コード例 #3
0
        public Resultado <AplicacaoFinanceira> ObterPorId(int id)
        {
            var aplicacao = base.GetById(id);

            if (aplicacao == null)
            {
                return(Resultado <AplicacaoFinanceira> .Erro("Aplicação não encontrada."));
            }

            return(Resultado <AplicacaoFinanceira> .OK(aplicacao));
        }
コード例 #4
0
        public Resultado <List <AplicacaoFinanceira> > ObterTodos()
        {
            var lista = base.GetAll();

            if (!lista.Any())
            {
                return(Resultado <List <AplicacaoFinanceira> > .Erro("Nenhum registro encontrado."));
            }

            return(Resultado <List <AplicacaoFinanceira> > .OK(lista.ToList()));
        }
コード例 #5
0
        public Resultado <string> Cadastrar(AplicacaoFinanceiraDTO aplicacaoFinanceiraDTO)
        {
            var mensagemErro = Validar(aplicacaoFinanceiraDTO);

            if (!string.IsNullOrEmpty(mensagemErro))
            {
                return(Resultado <string> .Erro(mensagemErro));
            }

            var aplicacaoFinanceira = aplicacaoFinanceiraDTO.ConverterDtoParaEntity();

            repository.Add(aplicacaoFinanceira);

            return(Resultado <string> .OK("Cadastro efetuado com sucesso"));
        }
コード例 #6
0
        public async Task <IActionResult> Excluir(int id)
        {
            try
            {
                var resultado = await _cursoService.Excluir(id);

                return(Ok(Resultado <string> .OK(resultado)));
            }
            catch (ValidacaoException e)
            {
                return(Ok(Resultado <string> .Erro(e.Message)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
コード例 #7
0
        public async Task <IActionResult> Editar([FromBody] Curso curso)
        {
            try
            {
                var resultado = await _cursoService.Editar(curso);

                return(Ok(Resultado <string> .OK(resultado)));
            }
            catch (ValidacaoException e)
            {
                return(Ok(Resultado <string> .Erro(e.Message)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
コード例 #8
0
        public async Task <IActionResult> ObterTodos()
        {
            try
            {
                var resultado = await _cursoService.ObterTodos();

                return(Ok(Resultado <List <Curso> > .OK(resultado)));
            }
            catch (ValidacaoException e)
            {
                return(Ok(Resultado <List <Curso> > .Erro(e.Message)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
コード例 #9
0
        public async Task <IActionResult> Cadastrar([FromBody] Matricula matricula)
        {
            try
            {
                var resultado = await _matriculaService.Cadastrar(matricula);

                return(Ok(Resultado <string> .OK(resultado)));
            }
            catch (ValidacaoException e)
            {
                return(Ok(Resultado <string> .Erro(e.Message)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
コード例 #10
0
        public async Task <IActionResult> ObterPorId(int id)
        {
            try
            {
                var resultado = await _matriculaService.ObterPorId(id);

                return(Ok(Resultado <Matricula> .OK(resultado)));
            }
            catch (ValidacaoException e)
            {
                return(Ok(Resultado <Matricula> .Erro(e.Message)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
コード例 #11
0
        public async Task <IActionResult> ObterTodosDetalhado()
        {
            try
            {
                var resultado = await _matriculaService.ObterStatusMatricula();

                return(Ok(Resultado <List <MatriculaDto> > .OK(resultado)));
            }
            catch (ValidacaoException e)
            {
                return(Ok(Resultado <List <MatriculaDto> > .Erro(e.Message)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
コード例 #12
0
        public async Task <IActionResult> Login([FromHeader] string audience, [FromBody] LoginDTO loginDTO)
        {
            try
            {
                var resultado = await _autenticacaoService.Login(loginDTO, audience);

                return(Ok(Resultado <string> .OK(resultado)));
            }
            catch (ValidacaoException e)
            {
                return(Ok(Resultado <string> .Erro(e.Message)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
コード例 #13
0
        public async Task <IActionResult> Cadastrar([FromBody] ProdutoDTO produtoDto)
        {
            try
            {
                var resultado = await _produtoService.Cadastrar(produtoDto);

                return(Ok(Resultado <string> .OK(resultado)));
            }
            catch (ValidacaoException e)
            {
                return(Ok(Resultado <string> .Erro(e.Message)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }