public ActionResult CriarConta(UsuarioCriarContaViewModel model) { if (ModelState.IsValid) { try { Usuario u = new Usuario(); u.Nome = model.Nome; u.Login = model.Login; u.Senha = model.Senha; u.DataCadastro = DateTime.Now; u.DataUltimoAcesso = new DateTime(2000, 1, 1); Image fotoPadrao = Image.FromFile(Server.MapPath("~/Imagens/FotoPadrao.jpg")); u.Foto = model.Login + Path.GetExtension(Server.MapPath("/Imagens/FotoPadrao.jpg")); business.CadastrarUsuario(u); //upload da imagem.. //model.Foto.SaveAs(Server.MapPath("/Imagens/") + u.Foto); fotoPadrao.Save(Server.MapPath("/Imagens/") + u.Foto); ModelState.Clear(); ViewBag.Mensagem = $"Usuário {u.Nome} - cadastrado com sucesso!"; } catch (Exception e) { ViewBag.Mensagem = e.Message; } } return(View()); }
[HttpPost] //recebe requisições do tipo POST (FormMethod.Post) public ActionResult CadastrarUsuario(UsuarioCriarContaViewModel model) { if (ModelState.IsValid) { try { UsuarioRepository rep = new UsuarioRepository(); if (rep.HasEmail(model.Email)) { ModelState.AddModelError("Email", "Este email já foi cadastrado, por favor tente outro."); } else { Usuario u = new Usuario(); u.Nome = model.Nome; u.Email = model.Email; u.Senha = Criptografia.EncriptarSenha(model.Senha); rep.Insert(u); //gravando.. ViewBag.Mensagem = $"Usuário {u.Nome}, cadastrado com sucesso."; ModelState.Clear(); //limpar os campos do formulário } } catch (Exception e) { //mensagem de erro.. ViewBag.Mensagem = e.Message; } } //retornando para a página.. return(View("CriarConta")); //nome da página.. }
[HttpPost] //recebe requisições do tipo POST (FormMethod.Post) public JsonResult CadastrarUsuario(UsuarioCriarContaViewModel model) { if (ModelState.IsValid) { try { //entidade.. Usuario u = new Usuario(); u.Nome = model.Nome; u.Email = model.Email; u.Senha = Criptografia.EncriptarSenha(model.Senha); //gravar no banco.. UsuarioRepository rep = new UsuarioRepository(); rep.Insert(u); //gravando.. ModelState.Clear(); //limpar os campos do formulário return(Json($"Usuario {u.Nome}, cadastrado com sucesso.")); } catch (Exception e) { //mensagem de erro.. return(Json(e.Message)); } } else { //criar uma rotina para retornar as mensagens de erro de //validação para cada campo da classe viewModel.. Hashtable erros = new Hashtable(); //varrer o objeto ModelState.. foreach (var state in ModelState) { //verificar se o elemento contem erro.. if (state.Value.Errors.Count > 0) { //adicionar o erro dentro do Hastable erros[state.Key] = state.Value.Errors .Select(e => e.ErrorMessage).First(); } } //retornar erros de validaçâo..STATUS 400 Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(erros)); } }
public ActionResult CadastrarUsuario(UsuarioCriarContaViewModel model) { if (ModelState.IsValid) { try { UsuarioRepository rep = new UsuarioRepository(); if (rep.HasEmail(model.Email)) { ModelState.AddModelError("Email", "Este email já foi cadastrado, por favor informe outro."); } else { Usuario u = new Usuario(); u.Nome = model.Nome; u.Email = model.Email; u.Senha = Criptografia.EncriptarSenha(model.Senha); rep.Insert(u); ViewBag.Mensagem = $"Usuário {u.Nome} cadastrado com sucesso."; ModelState.Clear(); } } catch (Exception e) { ViewBag.Mensagem = e.Message; } } return(View("CriarConta")); }