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());
            }
        }
Ejemplo n.º 2
0
        // GET: Contratante/Details/5
        public ActionResult ContratanteDetalharFrm(string chaveurl)
        {
            if (string.IsNullOrEmpty(chaveurl))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            int id;
            List <ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveurl, Key);

            Int32.TryParse(param.First(p => p.Name == "id").Value, out id);
            ContratanteAdministracaoModel modelo = Mapper.Map <ContratanteAdministracaoModel>(_contratanteBP.BuscarPorId(id), opt => opt.Items["Url"] = Url);

            if (modelo == null)
            {
                return(HttpNotFound());
            }
            return(View(modelo));
        }