public ActionResult CriarUsuario(UsuarioVM model)
        {
            int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId");

            model.ListaContratantes = Mapper.Map <List <SelectListItem> >(_contratanteService.ListarTodosPorGrupo(contratanteId));
            model.ListaPerfis       = Mapper.Map <List <SelectListItem> >(_perfilService.ListarTodosPorContratante(contratanteId));
            model.ListaPapeis       = Mapper.Map <List <SelectListItem> >(_papelService.ListarTodos(contratanteId));
            try
            {
                ValidarPoliticaSenha(model);
                if (ModelState.IsValid)
                {
                    var usuarioMapeado = Mapper.Map <Usuario>(model);
                    var senhaMapeada   = Mapper.Map <USUARIO_SENHAS>(usuarioMapeado);
                    _usuarioService.IncluirUsuarioPadraoSenha(usuarioMapeado, senhaMapeada, model.IdPapel, model.IdPerfil);
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }
            return(View(model));
        }
        public ActionResult CadastrarUsuarioFornecedor(CadastrarUsuarioFornecedorVM modelo)
        {
            if (!modelo.TermoAceite)
            {
                ModelState.AddModelError("", "O termo de aceite deve ser aceito.");
            }
            try
            {
                if (modelo.Email == modelo.EmailAlternativo)
                {
                    ModelState.AddModelError("EmailAlternativo", "O e-mail alternativo não deve ser igual ao e-mail principal.");
                }

                ValidarPoliticaSenha(modelo);

                if (ModelState.IsValid)
                {
                    if (modelo.TermoAceite)
                    {
                        Usuario usuarioMapeado = new Usuario
                        {
                            EMAIL             = modelo.Email,
                            SENHA             = PasswordHash.CreateHash(modelo.Senha),
                            ATIVO             = true,
                            PRIMEIRO_ACESSO   = false,
                            LOGIN             = modelo.DocumentoPjPf,
                            CPF_CNPJ          = modelo.DocumentoPjPf,
                            DT_ATIVACAO       = DateTime.Now,
                            DT_CRIACAO        = DateTime.Now,
                            CONTA_TENTATIVA   = 1,
                            CONTRATANTE_ID    = null,
                            PRINCIPAL         = false,
                            EMAIL_ALTERNATIVO = modelo.EmailAlternativo
                        };
                        var senhaMapeada = Mapper.Map <USUARIO_SENHAS>(usuarioMapeado);
                        try
                        {
                            _usuarioBP.IncluirUsuarioPadraoSenha(usuarioMapeado, senhaMapeada, new int[0], new int[0]);
                            return(RedirectToActionPermanent("Acesso", "Home", new AcessoVM
                            {
                                Email = modelo.Email,
                                Login = modelo.DocumentoPjPf,
                                Senha = modelo.Senha,
                                SolicitacaoId = modelo.SolicitacaoId
                            }));
                        }
                        catch (Exception ex)
                        {
                            Log.Error(ex);
                        }
                    }
                    return(View(modelo));
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }
            ViewBag.DisplayForm    = true;
            ViewBag.DisplaySucesso = false;
            ViewBag.DisplayAlerta  = false;

            return(View(modelo));
        }
Esempio n. 3
0
        public ActionResult UsuarioFrm(UsuarioAdministracaoModel modelo, string Acao)
        {
            ViewBag.Acao = Acao;
            try
            {
                if (Acao != "Excluir")
                {
                    if (modelo.Id == 0)
                    {
                        if (usuarioBP.VerificaLoginExistente(modelo.Login))
                        {
                            ModelState.AddModelError("", "O login já está sendo utilizado por outro usuário. Favor informar outro.");
                        }
                    }

                    if (!string.IsNullOrEmpty(modelo.Email))
                    {
                        if (!Validacao.ValidarEmail(modelo.Email))
                        {
                            ModelState.AddModelError("Email", "O e-mail informado não está em um formato válido.");
                        }
                    }

                    if (modelo.SelectedGroupsPerfil == null)
                    {
                        ModelState.AddModelError("ValidationPerfil", "Selecione ao Menos um Perfil.");
                    }
                }

                int grupoId = (int)Geral.PegaAuthTicket("Grupo");
                ViewBag.CONTRATANTE_ID = new SelectList(contratanteBP.ListarTodos(grupoId), "ID", "RAZAO_SOCIAL", modelo.ContratanteId);

                if (ModelState.IsValid)
                {
                    if (modelo.Id == 0)
                    {
                        string chave = Path.GetRandomFileName().Replace(".", "");
                        modelo.TrocarSenha    = chave;
                        modelo.Ativo          = true;
                        modelo.DataCriacao    = DateTime.Now;
                        modelo.PrimeiroAcesso = true;
                        modelo.ContaTentativa = 0;
                        modelo.Senha          = PasswordHash.CreateHash(modelo.Login);
                        modelo.DataAtivacao   = null;
                        modelo.Principal      = false;
                        modelo.CPF            = Mascara.RemoverMascaraCpfCnpj(modelo.CPF);

                        var usuario = Mapper.Map <Usuario>(modelo);
                        usuarioBP.IncluirUsuarioPadraoSenha(usuario, null, modelo.SelectedGroupsPapel, modelo.SelectedGroupsPerfil);
                        return(RedirectToAction("GerenciarContasLst", "Usuario", new { MensagemSucesso = "Usuário criado com Sucesso!" }));
                    }
                    else if (Acao == "Alterar")
                    {
                        usuarioBP.AlterarMinhaConta(Mapper.Map <Usuario>(modelo),
                                                    modelo.SelectedGroupsPapel,
                                                    modelo.SelectedGroupsPerfil,
                                                    modelo.ContratanteId);

                        return(RedirectToAction("GerenciarContasLst", "Usuario", new { MensagemSucesso = "Usuário alterado com Sucesso!" }));
                    }
                    else if (Acao == "Excluir")
                    {
                        usuarioBP.ExcluirUsuario(modelo.Id);

                        return(RedirectToAction("GerenciarContasLst", "Usuario", new { MensagemSucesso = "Usuário Excluir com Sucesso!" }));
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);

                if (Acao == "Excluir")
                {
                    ModelState.AddModelError("", "Não é possível excluir este Usuário.");
                }
                else
                {
                    throw ex;
                }
            }
            return(View(modelo));
        }