public ActionResult Alterar(UsuarioFormLogin usuario)
        {
            Usuario user = usuario.CriaUsuario();

            if (!UsuarioValidates.TercerizadoValidate(user))
            {
                ModelState.AddModelError("Usuario.tercerizado", "Você informou que essa pessoa é terceira, mas não preencheo o campo [Empresa Tercerizada]");
            }

            if (!UsuarioValidates.CpfValidate(user.Cpf))
            {
                ModelState.AddModelError("Usuario.CPF", "Número de CPF Inválido");
            }

            if (ModelState.IsValid)
            {
                usuarioDAO.Alter(user);
                return(RedirectToAction("ListaUsuarios"));
            }
            ViewBag.ModeloValido = ModelState.IsValid;
            ViewBag.Funcao       = funcaoDAO.Lista();
            ViewBag.Departamento = departamentoDAO.Lista();
            ViewBag.Tercerizado  = ChoiceFactory.SimNao();
            return(View("FormAltera", usuario));
        }
        public ActionResult Add(UsuarioFormLogin usuarioFormLogin)
        {
            //Cria um usuário
            Usuario usuario = usuarioFormLogin.CriaUsuario();

            //Valida se o usuário existe
            //if (usuarioDAO.ExisteUsuario(usuario) != null)
            if (UsuarioValidates.UsuarioValidate(usuario, usuarioDAO))
            {
                ModelState.AddModelError("Usuario.jaexiste", "CPF já cadastrado");
            }

            if (!UsuarioValidates.TercerizadoValidate(usuario))
            {
                ModelState.AddModelError("Usuario.tercerizado", "Você informou que essa pessoa é terceira, mas não preencheo o campo [Empresa Tercerizada]");
            }

            if (!UsuarioValidates.CpfValidate(usuario.Cpf))
            {
                ModelState.AddModelError("Usuario.CPF", "Número de CPF Inválido");
            }

            if (ModelState.IsValid)
            {
                usuarioDAO.Add(usuario);
                return(RedirectToAction("ListaUsuarios", "Login"));
            }

            ViewBag.Funcao       = funcaoDAO.Lista();
            ViewBag.Departamento = departamentoDAO.Lista();
            ViewBag.Tercerizado  = ChoiceFactory.SimNao();
            ViewBag.ModeloValido = ModelState.IsValid;
            return(View("NovoLogin", usuarioFormLogin));
        }