public async Task <IActionResult> Edit(int id, Estabelecimento estabelecimento) { if (!ModelState.IsValid) //verifica se os campos foram preenchidos, se n for válido, retorna a view novamente { var categorias = await _categoriaService.FindAllAsync(); var viewModel = new EstabelecimentoFormViewModel { Estabelecimento = estabelecimento, Categorias = categorias }; return(View(viewModel)); } if (id != estabelecimento.Id) { return(RedirectToAction(nameof(Error), new { message = "Id incompatível" })); } try { await _estabelecimentoService.UpdateAsync(estabelecimento); return(RedirectToAction(nameof(Index))); } catch (ApplicationException e) { return(RedirectToAction(nameof(Error), new { message = e.Message })); //mensagem da própria exceção } }
public ActionResult Salvar(Estabelecimento estabelecimento) { ModelState.Remove("estabelecimento.Categoria.Nome"); if (!ModelState.IsValid) { var viewModel = new EstabelecimentoFormViewModel { Estabelecimento = estabelecimento, Categorias = _context.Categorias.ToList(), }; return(View("EstabelecimentoForm", viewModel)); } int?categoriaId = 0; if (!String.IsNullOrWhiteSpace(estabelecimento.Categoria.Nome)) { categoriaId = _context.Categorias. SingleOrDefault(c => c.Nome == estabelecimento.Categoria.Nome).Id; } estabelecimento.Categoria = null; if (categoriaId == 0) { categoriaId = null; } if (estabelecimento.Id == 0) { estabelecimento.CategoriaId = categoriaId; _context.Estabelecimentos.Add(estabelecimento); } else { var estabelecimentoInDb = _context.Estabelecimentos. Single(e => e.Id == estabelecimento.Id); estabelecimentoInDb.Agencia = estabelecimento.Agencia; estabelecimentoInDb.CategoriaId = categoriaId; estabelecimentoInDb.Cidade = estabelecimento.Cidade; estabelecimentoInDb.CNPJ = estabelecimento.CNPJ; estabelecimentoInDb.Conta = estabelecimento.Conta; estabelecimentoInDb.DataCadastro = estabelecimento.DataCadastro; estabelecimentoInDb.Email = estabelecimento.Email; estabelecimentoInDb.Endereco = estabelecimento.Endereco; estabelecimentoInDb.Estado = estabelecimento.Estado; estabelecimentoInDb.NomeFantasia = estabelecimento.NomeFantasia; estabelecimentoInDb.RazaoSocial = estabelecimento.RazaoSocial; estabelecimentoInDb.Status = estabelecimento.Status; estabelecimentoInDb.Telefone = estabelecimento.Telefone; } _context.SaveChanges(); return(RedirectToAction("Index", "Estabelecimentos")); }
public ActionResult NovoEstabelecimento() { var viewModel = new EstabelecimentoFormViewModel { Categorias = _context.Categorias.ToList(), Estabelecimento = new Estabelecimento() }; return(View("EstabelecimentoForm", viewModel)); }
public async Task <IActionResult> Create() { var categorias = await _categoriaService.FindAllAsync(); //carregar as categorias cadastradas no banco var viewModel = new EstabelecimentoFormViewModel { Categorias = categorias }; //carregar o formulário return(View(viewModel)); }
[ValidateAntiForgeryToken] //evitar ataques public async Task <IActionResult> Create(Estabelecimento estabelecimento) { if (!ModelState.IsValid) //verifica se os campos foram preenchidos, se n for válido, retorna a view novamente { var categorias = await _categoriaService.FindAllAsync(); var viewModel = new EstabelecimentoFormViewModel { Estabelecimento = estabelecimento, Categorias = categorias }; return(View(viewModel)); } await _estabelecimentoService.InsertAsync(estabelecimento); return(RedirectToAction(nameof(Index))); }
public ActionResult Editar(int id) { var estabelecimento = _context.Estabelecimentos.SingleOrDefault(e => e.Id == id); if (estabelecimento == null) { return(RedirectToAction("Index", "Estabelecimentos")); } var categorias = _context.Categorias.ToList(); var listaStringCategorias = EstabelecimentoFormViewModel.TransformarEmString(categorias); var viewModel = new EstabelecimentoFormViewModel { Categorias = _context.Categorias.ToList(), Estabelecimento = estabelecimento }; return(View("EstabelecimentoForm", viewModel)); }
public async Task <IActionResult> Edit(int?id) { if (id == null) { return(RedirectToAction(nameof(Error), new { message = "Id não encontrado" })); } var obj = await _estabelecimentoService.FindByIdAsync(id.Value); if (obj == null) { return(RedirectToAction(nameof(Error), new { message = "Id não encontrado" })); } List <Categoria> categorias = await _categoriaService.FindAllAsync(); //carregar as categorias para edição EstabelecimentoFormViewModel viewModel = new EstabelecimentoFormViewModel { Estabelecimento = obj, Categorias = categorias }; //preenche o formulário com os dados do objeto return(View(viewModel)); }