public async Task <IActionResult> Cadastrar(GenninViewModel viewModel) { var configuration = new MapperConfiguration(cfg => { cfg.CreateMap <GenninViewModel, GenninDTO>(); }); IMapper mapper = configuration.CreateMapper(); GenninDTO dto = mapper.Map <GenninDTO>(viewModel); try { await _svc.Insert(dto); return(RedirectToAction("Index", "Home")); } catch (ExameException ex) { ViewBag.Errors = ex.Errors; } catch (Exception ex) { ViewBag.Message = ex.Message; } return(View()); }
public async Task Insert(GenninDTO gennin) { List <Error> errors = new List <Error>(); if (string.IsNullOrWhiteSpace(gennin.Nome)) { base.AddError("Nome", "Nome do ninja deve ser informado."); } else if (gennin.Nome.Length < 5 || gennin.Nome.Length > 50) { base.AddError("Nome", "O nome deve conter entre 3 e 50 caracteres."); } if (string.IsNullOrWhiteSpace(gennin.Idade)) { base.AddError("Idade", "Idade do ninja deve ser informada."); } else if (Convert.ToInt32(gennin.Idade) < 7) { base.AddError("Idade", "O ninja deve conter pelo menos 7 anos."); } base.CheckErrors(); //APÓS VALIDAR TODOS OS CAMPOS, VERIFIQUE SE POSSUIMOS ERROS try { _context.Gennins.Add(gennin); await _context.SaveChangesAsync(); } catch (Exception ex) { File.WriteAllText("log.txt", ex.Message + " - " + ex.StackTrace); throw new Exception("Erro no banco de dados, contate o admnistrador."); } }
public async Task Create(GenninDTO gennin) { _context.Gennins.Add(gennin); await _context.SaveChangesAsync(); }