Ejemplo n.º 1
0
        [HttpPost] //submit do formulario
        public ActionResult Cadastro(UsuarioViewModel model)
        {
            // Verifica se usuário está autenticado e possui perfil de administrador
            if (!HttpContext.User.Identity.IsAuthenticated && HttpContext.User.IsInRole("Admin"))
            {
                TempData["Falha"] = "Necessário estar autenticado com perfil de Administrador";
                return(RedirectToAction("Login", "Usuario"));
            }

            // Verifica se os dados do model estão de acordo com as regras do UsuarioViewModel
            if (ModelState.IsValid)
            {
                try
                {
                    UsuarioDal uDal = new UsuarioDal();
                    if (uDal.HasLogin(model.Login))
                    {
                        throw new Exception("Este Login já está cadastrado, tente outro");
                    }

                    Usuario usuario = new Usuario();
                    usuario.Nome     = model.Nome;
                    usuario.Login    = model.Login;
                    usuario.Senha    = Criptografia.EncryptMD5(model.Senha);
                    usuario.IdPerfil = int.Parse(model.Perfil);

                    // Gravar no Banco de Dados
                    uDal.Insert(usuario);

                    TempData["Sucesso"] = "Usuário cadastrado com sucesso";

                    // Limpar os campos do formulário
                    ModelState.Clear();
                }
                catch (Exception e)
                {
                    TempData["Falha"] = e.Message;
                }
            }

            PerfilDal pDal = new PerfilDal();

            // Preencher DropDown List Perfil
            model.Perfis = pDal.EnumerarPerfis();

            return(View(model));
        }
        public ActionResult CadastrarUsuario(UsuarioModelCadastro model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (model.Senha.Equals(model.SenhaConfirm))
                    {
                        UsuarioDal d = new UsuarioDal();

                        if (!d.HasLogin(model.Login))
                        {
                            Usuario u = new Usuario();
                            u.Nome  = model.Nome;
                            u.Login = model.Login;
                            u.Senha = Criptografia.EncriptarMD5(model.Senha);

                            d.Inserir(u);

                            ViewBag.Mensagem = "Usuário " + u.Nome + ", cadastrado com sucesso.";

                            ModelState.Clear();
                        }
                        else
                        {
                            throw new Exception("Erro. Login indisponivel. Tente outro");
                        }
                    }
                    else
                    {
                        throw new Exception("Erro. Informe as senhas corretamente.");
                    }
                }
            }
            catch (Exception ex)
            {
                ViewBag.Mensagem = ex.Message;
            }

            return(View("Cadastro"));
        }