private static void GravaLog(WebForLinkContexto db, int?codigoRetorno, string mensagem, string orgao, int contratanteId, int pjpfBaseId)
        {
            ROBO_LOG pjpfRoboLog = new ROBO_LOG()
            {
                COD_RETORNO    = codigoRetorno,
                DATA           = DateTime.Now,
                MENSAGEM       = mensagem,
                ROBO           = orgao,
                CONTRATANTE_ID = contratanteId,
                PJPF_BASE_ID   = pjpfBaseId
                                 //SOLICITACAO_ID = solicitacao.ID
            };

            db.Entry(pjpfRoboLog).State = System.Data.Entity.EntityState.Added;
        }
        private static void GravaLog(WebForLinkContexto db, int?Code, string Mensagem, string orgao, int contratanteId, int?pjpfId, int?solicitacaoId)
        {
            ROBO_LOG entityLog = new ROBO_LOG()
            {
                COD_RETORNO    = Code,
                DATA           = DateTime.Now,
                MENSAGEM       = Mensagem,
                ROBO           = orgao,
                CONTRATANTE_ID = contratanteId,
                PJPF_ID        = pjpfId,
                SOLICITACAO_ID = solicitacaoId
            };

            db.Entry(entityLog).State = System.Data.Entity.EntityState.Added;
        }
        public JsonResult ReceitaFederalCNPJ(string cnpj, int contratante, int tipoFornecedor, int solicitacaoId)
        {
            string          path     = Server.MapPath("~/");
            RoboReceitaCNPJ roboCNPJ = new RoboReceitaCNPJ();

            roboCNPJ = roboCNPJ.CarregaRoboCNPJ(cnpj, path);

            try
            {
                SOLICITACAO solicitacao = _solicitacaoService.BuscarPorId(solicitacaoId);

                SolicitacaoCadastroFornecedor solForn = solicitacao.SolicitacaoCadastroFornecedor.First();
                ROBO robo = solicitacao.ROBO.FirstOrDefault();

                roboCNPJ.GravaRoboReceita(roboCNPJ, ref robo);
                //_solicitacaoService.Alterar(solicitacao);
                //Db.Entry(robo).State = EntityState.Modified;
                //_repositorios.roboBP.Alterar(robo);

                if (roboCNPJ.Code < 100)
                {
                    if (roboCNPJ.Code == 1)
                    {
                        solForn.PJPF_TIPO     = tipoFornecedor;
                        solForn.RAZAO_SOCIAL  = roboCNPJ.Data.RazaoSocial;
                        solForn.NOME_FANTASIA = roboCNPJ.Data.NomeFantasia;
                        if (roboCNPJ.Data.AtividadeEconomicaPrincipal.Length > 10 && !roboCNPJ.Data.AtividadeEconomicaPrincipal.Contains("*"))
                        {
                            solForn.CNAE = roboCNPJ.Data.AtividadeEconomicaPrincipal.Substring(0, 10).Replace(".", "").Replace("-", "");
                        }
                        solForn.CNPJ        = cnpj.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", "");;
                        solForn.ENDERECO    = roboCNPJ.Data.Logradouro;
                        solForn.NUMERO      = roboCNPJ.Data.Numero;
                        solForn.COMPLEMENTO = roboCNPJ.Data.Complemento;
                        solForn.CEP         = roboCNPJ.Data.CEP;
                        solForn.BAIRRO      = roboCNPJ.Data.Bairro;
                        solForn.CIDADE      = roboCNPJ.Data.Municipio;
                        solForn.UF          = roboCNPJ.Data.UF;
                        //Db.Entry(solForn).State = EntityState.Modified;
                        //_repositorios.solicitacaoCadastroPJPFBP.Alterar(solForn);
                    }
                }

                ROBO_LOG entityLog = new ROBO_LOG()
                {
                    COD_RETORNO    = roboCNPJ.Code,
                    DATA           = DateTime.Now,
                    MENSAGEM       = roboCNPJ.Data.Message,
                    ROBO           = EnumRobo.ReceitaFederal.ToString(),
                    CONTRATANTE_ID = contratante
                };
                solicitacao.WFD_PJPF_ROBO_LOG.Add(entityLog);
                _solicitacaoService.Alterar(solicitacao);
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                ViewBag.MensagemErro = "Erro ao tentar Incluir o Novo Fornecedor!";
                throw;
            }
            catch (Exception ex)
            {
                ViewBag.MensagemErro = "Erro ao tentar Incluir o Novo Fornecedor!";
                Log.Error(string.Format("Error ao executar o método ReceitaFederalCNPJ: {0}", ex));
            }

            return(Json(roboCNPJ));
        }
        public JsonResult ReceitaFederalCPF(string cpf, int contratante, string dataNascimento, int tipoFornecedor, int solicitacaoId)
        {
            string path = Server.MapPath("~/");

            RoboReceitaCPF RoboCPF = new RoboReceitaCPF();

            RoboCPF = RoboCPF.CarregaRoboCPF(cpf, dataNascimento, path);

            int UsuarioId = (int)Geral.PegaAuthTicket("UsuarioId");

            try
            {
                //WFD_SOLICITACAO solicitacao = Db.WFD_SOLICITACAO.Include("WFD_SOL_CAD_PJPF").Include("WFD_PJPF_ROBO").FirstOrDefault(s => s.ID == solicitacaoId);
                SOLICITACAO solicitacao = _solicitacaoService.BuscarPorId(solicitacaoId);
                SolicitacaoCadastroFornecedor solForn = solicitacao.SolicitacaoCadastroFornecedor.First();
                ROBO robo = solicitacao.ROBO.FirstOrDefault();

                RoboCPF.GravaRoboCpf(RoboCPF, ref robo);
                //_solicitacaoService.Alterar(solicitacao);
                //_repositorios.roboBP.Inserir(robo);
                //Db.Entry(robo).State = EntityState.Modified;

                if (RoboCPF.Code < 100)
                {
                    if (RoboCPF.Code == 1)
                    {
                        solForn.PJPF_TIPO       = tipoFornecedor;
                        solForn.NOME            = RoboCPF.Data.Nome;
                        solForn.CPF             = cpf.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", "");
                        solForn.WFD_SOLICITACAO = solicitacao;

                        //Db.Entry(solForn).State = EntityState.Modified;
                        //_repositorios.solicitacaoCadastroPJPFBP.Alterar(solForn);
                    }
                }

                ROBO_LOG entityLog = new ROBO_LOG()
                {
                    COD_RETORNO = RoboCPF.Code,
                    DATA        = DateTime.Now,
                    MENSAGEM    = RoboCPF.Data.Message,
                    ROBO        = EnumRobo.ReceitaFederalPF.ToString(),
                    //WFD_SOLICITACAO = solicitacao,
                    CONTRATANTE_ID = contratante
                };

                solicitacao.WFD_PJPF_ROBO_LOG.Add(entityLog);
                _solicitacaoService.Alterar(solicitacao);
                //_solicitacaoService.Dispose();
                RoboCPF.SolicitacaoID = solicitacao.ID;
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                ViewBag.MensagemErro = "Erro ao tentar Incluir o Novo Fornecedor!";
                throw;
            }
            catch (Exception ex)
            {
                ViewBag.MensagemErro = "Erro ao tentar Incluir o Novo Fornecedor!";
                //dbContextTransaction.Rollback();
                Log.Error(string.Format("Error ao executar o método ReceitaFederalCPF: {0}", ex));
            }

            return(Json(RoboCPF));
        }