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()); }
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); }