// GET: CadastroFornecedores
        /// <summary>
        ///
        /// </summary>
        /// <param name="chaveurl"></param>
        /// <returns></returns>
        public ActionResult CadastrarUsuarioFornecedor(string chaveurl)
        {
            List <ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveurl, Key);

            int idSolicitacao = 0;

            Int32.TryParse(param.First(p => p.Name == "SolicitacaoID").Value, out idSolicitacao);

            CadastrarUsuarioFornecedorVM acesso = new CadastrarUsuarioFornecedorVM()
            {
                DocumentoPjPf    = param.First(p => p.Name == "Login").Value,
                Email            = param.First(p => p.Name == "Email").Value,
                SolicitacaoId    = idSolicitacao,
                NomeEmpresa      = _solicitacaoCadastroFornecedorService.BuscarRazaoOuNomePorSolicitacao(idSolicitacao),
                NomeFornecedor   = "FORNECEDOR",
                TextoTermoAceite = _contratanteConfiguracaoBP.BuscarPorIdSolicitacao(idSolicitacao).TERMO_ACEITE
            };

            acesso.TextoTermoAceite = acesso.TextoTermoAceite
                                      .Replace("^NomeFornecedor^", acesso.NomeFornecedor)
                                      .Replace("^NomeEmpresa^", acesso.NomeEmpresa);

            if (_usuarioBP.VerificaLoginExistente(acesso.DocumentoPjPf))
            {
                return(RedirectToAction("Acesso", "Home"));
            }

            ViewBag.DisplayForm    = true;
            ViewBag.DisplaySucesso = false;
            ViewBag.DisplayAlerta  = false;

            return(View(acesso));
        }
Esempio n. 2
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));
        }