Пример #1
0
        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());
        }
Пример #2
0
        [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"));
        }