public IActionResult Cadastro(ContaCadastroModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var conta = new Conta
                    {
                        Id               = Guid.NewGuid(),
                        NomeConta        = model.NomeConta,
                        DataConta        = DateTime.Parse(model.DataConta),
                        ValorConta       = decimal.Parse(model.ValorConta),
                        Observacoes      = model.Observacoes,
                        Categoria        = (CategoriaConta)model.Categoria,
                        FormaDePagamento = (FormaDePagamento)model.FormaDePagamento,
                        Tipo             = (TipoConta)model.Tipo
                    };

                    contaRepository.Create(conta);

                    TempData["MensagemSucesso"] = $"Conta {conta.NomeConta}, cadastrada com sucesso.";
                    ModelState.Clear();
                }
                catch (Exception e)
                {
                    TempData["MensagemErro"] = e.Message;
                }
            }

            return(View());
        }
Exemple #2
0
        public IActionResult Cadastro(ContaCadastroModel model,
                                      [FromServices] IContaRepository contaRepository)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var conta = new Conta();

                    conta.Id        = Guid.NewGuid();
                    conta.Nome      = model.Nome;
                    conta.Data      = DateTime.Parse(model.Data);
                    conta.Valor     = decimal.Parse(model.Valor);
                    conta.Descricao = model.Descricao;
                    conta.Categoria = model.Categoria;
                    conta.Tipo      = model.Tipo;

                    contaRepository.Create(conta);

                    TempData["MensagemSucesso"] = "Conta cadastrada com sucesso.";
                    ModelState.Clear();
                }
                catch (Exception e)
                {
                    TempData["MensagemErro"] = e.Message;
                }
            }

            return(View());
        }
        public IActionResult Cadastro(ContaCadastroModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var conta = new Conta
                    {
                        IdConta     = Guid.NewGuid(),
                        NomeConta   = model.Nome,
                        ValorConta  = decimal.Parse(model.Valor),
                        DataConta   = DateTime.Parse(model.Data),
                        IdCategoria = Guid.Parse(model.IdCategoria)
                    };
                    unitOfWork.ContaRepository.Create(conta);
                    unitOfWork.SaveChanges();


                    TempData["MensagemSucesso"] = $"Conta {conta.NomeConta}, cadastrado com sucesso.";
                    ModelState.Clear(); //limpar os campos do formulário
                }
                catch (Exception e)
                {
                    TempData["MensagemErro"] = e.Message;
                }
            }
            return(View(GetContaCadastroModel()));
        }
        [HttpPost]  //requisição do Tipo POST
        public IActionResult Post(ContaCadastroModel model)
        {
            //Verifica se os dados da model passaram nas regras de validação
            if (ModelState.IsValid)
            {
                try
                {
                    Conta conta = new Conta();
                    conta.Nome      = model.Nome;
                    conta.Data      = model.Data;
                    conta.Valor     = model.Valor;
                    conta.Tipo      = model.Tipo;
                    conta.IdUsuario = model.IdUsuario;


                    //gravar no banco de dados
                    repository.Inserir(conta);

                    //retornar status de sucesso 200 (OK)
                    return(StatusCode(200, $"Conta {conta.Nome}, cadastrada com sucesso. "));
                }
                catch (Exception e)
                {
                    //retornar um status de erro 500 (Erro Interno do Servidor)
                    return(StatusCode(500, e.Message));
                }
            }
            else
            {
                //retornar um status de erro 400 (Requisição inválida)
                return(StatusCode(400, "Ocorreram erros de validação."));
            }
        }
        //método para retornar uma instancia da classe model
        //de cadastro de conta com os itens de categoria
        private ContaCadastroModel GetContaCadastroModel()
        {
            var model = new ContaCadastroModel();

            model.ItensCategoria = GetItensCategoria();

            return(model);
        }