public ActionResult ValidarUsuarioSenha(InclusaoLinkExternoVM model) { try { ViewBag.NomeEmpresa = contratanteBP.BuscarPorId(model.IdContratante).RAZAO_SOCIAL; ViewBag.ExibirFicha = false; //Validando apenas Login if (!model.isValidarSenha) { ModelState.Remove("Senha"); } if (ModelState.IsValid) { Usuario usuario = usuarioBP.BuscarPorLogin(model.CPF); if (!model.isValidarSenha) { if (usuario != null) { return(RedirectToAction("Acesso", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id={0}&tipocadastro={1}&cnpj={2}&idContratante={3}&Login={2}&SolicitacaoID=0&TravaLogin=0", 0, (int)EnumTipoCadastroNovoUsuario.PreCadastrado, model.CPF, model.IdContratante), Key) })); } else //RedirectToAction CRIAR USUÁRIO { return(RedirectToAction("CadastrarUsuario", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id={0}&tipocadastro={1}&cnpj={2}&idContratante={3}", 0, (int)EnumTipoCadastroNovoUsuario.PreCadastrado, model.CPF, model.IdContratante), Key) })); } } else { if (usuario == null) { return(RedirectToAction("CadastrarUsuario", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id={0}&tipocadastro={1}&cnpj={2}&idContratante={3}", 0, (int)EnumTipoCadastroNovoUsuario.PreCadastrado, model.CPF, model.IdContratante), Key) })); } ProcessoLoginDTO processoLogin = _processoLoginService.ExecutarLogin(model.CPF, model.Senha); if (!processoLogin.Status) { return(RedirectToAction("CadastrarUsuario", "Home", new { area = "", chaveurl = Cripto.Criptografar(string.Format("id={0}&tipocadastro={1}&cnpj={2}&idContratante={3}", 0, (int)EnumTipoCadastroNovoUsuario.PreCadastrado, model.CPF, model.IdContratante), Key) })); } else { ModelState.Remove("FichaCadastral"); var filtroPesquisaFornecedor = PredicateBuilder.New <Fornecedor>(); filtroPesquisaFornecedor = filtroPesquisaFornecedor.And(x => x.CNPJ == model.CPF || x.CPF == model.CPF); DadosExternoPreCadastro preCadastro = new DadosExternoPreCadastro(pjpfBaseBp.ListarPorDocumento(model.CPF), model.CPF, model.IdContratante); preCadastro.PopularDados(); switch (preCadastro.PreCadastroEnum) { case CasosPreCadastroEnum.PreCadastradoOutroContratante: model.FichaCadastral = new FichaCadastralWebForLinkVM(model.IdContratante, CasosPreCadastroEnum.PreCadastradoOutroContratante); break; case CasosPreCadastroEnum.PreCadastradoProprio: model.FichaCadastral = PopularFichaCadastral(preCadastro.FornecedorBaseProprio, model.IdContratante, CasosPreCadastroEnum.PreCadastradoProprio, model.Link); break; //case CasosPreCadastroEnum.CadastradoOutroContratante: // model.FichaCadastral = PopularFichaCadastral(preCadastro.FornecedorList.FirstOrDefault(), true, model.IdContratante, CasosPreCadastroEnum.CadastradoOutroContratante); // break; //case CasosPreCadastroEnum.CadastradoProprio: // model.FichaCadastral = PopularFichaCadastral(preCadastro.FornecedorProprio, false, model.IdContratante, CasosPreCadastroEnum.CadastradoProprio); // break; default: break; } } } } ViewBag.ExibirFicha = true; return(PartialView("~/Areas/Externo/Views/PreCadastro/Index.cshtml", model)); } catch (Exception ex) { Log.Error(ex); return(View()); } }
public ActionResult Acesso(AcessoVM model) { string chave = Path.GetRandomFileName().Replace(".", ""); try { var usuarioLogado = _usuarioService.BuscarPorLogin(model.Login); //Valida Usuário Existe if (usuarioLogado == null) { Log.Info("Usuário inválido!"); FinalizarAcesso(); ModelState.AddModelError("", "Usuário inválido!"); } if (ModelState.IsValid) { ProcessoLoginDTO processoLogin = _processoLoginService.ExecutarLogin(model.Login, model.Senha); if (usuarioLogado.ATIVO) { if (Acessar(model.Login, model.Senha)) { if (model.TipoCadastroNovoUsuario == EnumTipoCadastroNovoUsuario.PreCadastrado) { return(RedirectToAction("PopularValidarUsuarioSenha", "PreCadastro", new { area = "Externo", chaveurl = Cripto.Criptografar(string.Format("idContratante={0}&cnpj={1}&senha={2}", model.ContratanteId, model.Login, model.Senha), Key), returnUrl = model.ReturnUrl })); } if (usuarioLogado.CONTRATANTE_ID == null) //Se for Fornecedor vá pra essa página { if (model.SolicitacaoId == null) { var pjpf = _pjPfService.BuscarIdFornecedorPorCnpj(model.Login); if (pjpf == 0) { model.SolicitacaoId = _solicitacaoCadastroFornecedorService.BuscarIdSolicitacaoPorCnpj(model.Login); } else { model.FornecedorId = pjpf; } } return(RedirectToActionPermanent("FichaCadastral", "Documento", new { chaveurl = Cripto.Criptografar(string.Format("SolicitacaoID={0}&FornecedorID={1}&ContratanteID=0", model.SolicitacaoId, model.FornecedorId), Key) })); } if (usuarioLogado.PRIMEIRO_ACESSO == true) { usuarioLogado.TROCAR_SENHA = chave; _usuarioService.AlterarUsuario(usuarioLogado); return(RedirectToAction("TrocaSenhaEsqueceu", "Home", new { chaveurl = Cripto.Criptografar(string.Format("id={0}&chave={1}", usuarioLogado.ID, chave), Key) })); } if (string.IsNullOrEmpty(model.ReturnUrl)) { return(RedirectToAction("Index", "HomeAdmin")); } else { string[] url = model.ReturnUrl.Split(new char[] { '/' }); if (url.Length > 0) { return(Redirect(model.ReturnUrl)); } else { return(RedirectToAction("Index", "HomeAdmin")); } } } } else { Log.Error(processoLogin.Mensagem); ModelState.AddModelError("", processoLogin.Mensagem); } } Log.Info("Erro ao tentar logar!"); FinalizarAcesso(); ModelState.AddModelError("", "Erro ao tentar logar confirme login e senha de seu usuário"); return(View(model)); } catch (EntityException ex) { Log.Error(ex); ModelState.AddModelError("", "Ocorreu um erro de conexão."); FinalizarAcesso(); return(View(model)); } catch (Exception ex) { Log.Error(ex); ModelState.AddModelError("", ex.Message); FinalizarAcesso(); return(View(model)); } }