예제 #1
0
        /// <summary>
        /// Método responsável por retornar as informações do Serviço e montar xml das Retenções da fonte
        /// Analista: Gilcelaine
        /// Data: 04-09-2018
        /// </summary>
        /// <param name="dto">EmpresaCliente cliente</param>
        ///
        public bool RetornaReinfFonte(EmpresaCliente cliente)
        {
            try
            {
                var codPagamento = Models.Enums.getDescription(Models.Enums.eCodigoPagamento.Aluguéis_e_royalties);


                bool   acesso        = false;
                string nomearquivo   = "";
                string strconTpAmb   = ConfigurationManager.AppSettings["TpAmb"].ToString();
                string strconProcEmi = ConfigurationManager.AppSettings["ProcEmi"].ToString();
                string strconVerProc = ConfigurationManager.AppSettings["VerProc"].ToString();
                //string strindRetif = ConfigurationManager.AppSettings["indRetif"].ToString();
                string strtipoInscricao = "";


                using (var infocontribuinte = new WsReinf.ConsultaEFDClient("NetTcpBinding_IConsultaEFD"))
                {
                    /* FAZ UMA AUTENTICAÇÃO NO SERVIÇO E RETORNA FALSO OU VERDADEIRO */
                    acesso = infocontribuinte.Authenticate(cliente.UsuarioSinacor, cliente.SenhaSinacor, cliente.CodigoEmpresa);

                    if (acesso == true)
                    {
                        /* PASSO AS INFORMAÇÕES QUE SÃO OBRIGATORIAS NO REQUEST */

                        EFDRequest request = new EFDRequest()
                        {
                            CodigoEmpresa = Convert.ToInt32(cliente.CodigoEmpresa),
                            DataInicio    = DateTime.Now.Date,
                            DataFinal     = DateTime.Now.AddDays(1).Date,
                        };
                        EFDRequestCliente requestcliente = new EFDRequestCliente()
                        {
                            CodigoEmpresa = Convert.ToInt32(cliente.CodigoEmpresa),
                            DataInicio    = DateTime.Now,
                            DataFinal     = DateTime.Now
                        };

                        EFDRequestInstitucional requestInstitucional = new EFDRequestInstitucional()
                        {
                            CodigoEmpresa = Convert.ToInt32(cliente.CodigoEmpresa),
                            DataInicio    = DateTime.Now,
                            DataFinal     = DateTime.Now
                        };


                        /* CONSULTO LISTA DE RETENÇÃO CLIENTE PASSANDO O REQUEST(DADO ANTERIOR) RETORNANDO A LISTA DE RETENÇÃO */
                        var consulta = infocontribuinte.ConsultaListaRetencaoClientes(request).ListaRetencao;
                        if (consulta != null && consulta.Length > 0)
                        {
                            foreach (var retCliente in consulta)
                            {
                                string imposto = Convert.ToString(retCliente.CodigoImposto);
                                string a       = retCliente.DescricaoImposto;
                            }
                        }
                        /* CONSULTO DADOS DA INSTITUIÇÃO REQUEST INSTITUIÇÃO (DADO ANTERIOR) RETORNANDO A LISTA DE INSTITUIÇÃO */
                        var consultaInstitucional = infocontribuinte.ConsultarDadosInstituicoes(requestInstitucional).ListaInstituicoes;
                        if (consultaInstitucional != null && consultaInstitucional.Length > 0)
                        {
                            foreach (var retInst in consultaInstitucional)
                            {
                                string imposto           = Convert.ToString(retInst.ImpostoInstitucional);
                                string Nome              = retInst.Nome;
                                string TipoPessoa        = retInst.TipoPessoa;
                                string cnpj              = Convert.ToString(retInst.CPFCNPJ);
                                string logradouro        = retInst.Endereco.Logradouro;
                                string cidade            = retInst.Endereco.Cidade;
                                string bairro            = retInst.Endereco.Bairro;
                                string estado            = retInst.Endereco.Estado;
                                string complemento       = retInst.Endereco.Complemento;
                                string cep               = retInst.Endereco.CEP;
                                string numero            = retInst.Endereco.Numero;
                                string pais              = retInst.Endereco.PaisEndereco;
                                string paisNacionalidade = retInst.Endereco.PaisNacionalidade;
                            }
                        }
                        var consultaListaCpfCgc = infocontribuinte.ConsultarDadosClientes(requestcliente).ListaClientes;
                        if (consultaListaCpfCgc != null && consultaListaCpfCgc.Length > 0)
                        {
                            foreach (var ListaCpfCgc in consultaListaCpfCgc)
                            {
                                string a = ListaCpfCgc.NomeCliente;
                            }
                        }
                        /* CONSULTO DADOS DO CLIENTE PASSANDO O REQUEST(DADO ANTERIOR) RETORNANDO A LISTA DE RETENÇÃO */
                        var consultaCliente = infocontribuinte.ConsultarDadosClientes(requestcliente).ListaClientes;
                        if (consultaCliente != null && consultaCliente.Length > 0)
                        {
                            foreach (var item in consultaCliente)
                            {
                                string cpfcnpjraiz = "";
                                string SituacaoPJ  = "";
                                string IDEvento    = "";
                                string strRecibo   = "";


                                if (item.TipoPessoa == "J")
                                {
                                    strtipoInscricao = "1";
                                    cpfcnpjraiz      = Convert.ToString(item.CPFCNPJ).Substring(0, 8);
                                    IDEvento         = "ID" + strtipoInscricao + Convert.ToString(item.CPFCNPJ) + String.Format("{0:yyyyMMddHHMMss}", DateTime.Now);
                                }
                                else if (item.TipoPessoa == "F")
                                {
                                    strtipoInscricao = "2";
                                    cpfcnpjraiz      = Convert.ToString(item.CPFCNPJ);
                                    SituacaoPJ       = Convert.ToString(item.CodigoCondDependencia);
                                    IDEvento         = "ID" + strtipoInscricao + Convert.ToString(item.CPFCNPJ) + "000" + String.Format("{0:yyyyMMddHHMMss}", DateTime.Now);
                                    //+ cliente.DataInicio.ToString("yyyy-MM-dd HH:mm:ss.fff");
                                }
                                if (cliente.DataInicio.ToString("yyyy-MM"), == "2")
                                {
                                    // a condiçao
                                    strRecibo = "1";
                                }

                                RetencoesFonte cont = new RetencoesFonte()
                                {
                                    //Informações de Identificação do Evento
                                    ID       = IDEvento,
                                    IndRetif = strindRetif,
                                    NrRecibo = strRecibo,
                                    PerApur  = request.DataInicio.ToString("YYYY-MM"),
                                    TpAmb    = strconTpAmb,
                                    ProcEmi  = strconProcEmi,
                                    VerProc  = strconVerProc,
                                    TpInsc   = strtipoInscricao,
                                    NrInsc   = cpfcnpjraiz,
                                    //Identificação do Beneficiário e do Rendimento
                                    CodPgto      = Convert.ToString(item.CodigoCondDependencia),
                                    TpInscBenef  = item.TipoPessoa,
                                    NrInscBenef  = cpfcnpjraiz,
                                    NmRazaoBenef = item.NomeCliente,
                                    PaisResid    = item.Endereco.PaisEndereco,
                                    DscLograd    = item.Endereco.Logradouro,
                                    NrLograd     = item.Endereco.Numero,
                                    Complem      = item.Endereco.Complemento,
                                    Bairro       = item.Endereco.Bairro,
                                    Cidade       = item.Endereco.Cidade,
                                    CodPostal    = item.Endereco.CEP,
                                    //Informações fiscais de beneficiário residente ou domiciliado no exterior
                                    IndNIF        = item.ClienteEstrangeiro,
                                    NifBenef      = Convert.ToString(item.CPFCNPJEstrangeiro),
                                    RelFontePagad = item.NomeCliente,
                                    DtLaudo       = request.DataInicio.ToString("yyyy-MM"),
                                    //Informações do Pagamento
                                    TpInscPgto        = "TpInscPgto",
                                    NrInscPgto        = "NrInscPgto",
                                    DtPgto            = item.ClienteEstrangeiro,
                                    IndSuspExig       = item.ClienteEstrangeiro,
                                    IndDecTerceiro    = item.ClienteEstrangeiro,
                                    VlrRendTributavel = item.ClienteEstrangeiro,
                                    VlrIRRF           = item.ClienteEstrangeiro,
                                    //Detalhamento das Deduções
                                    IndTpDeducao = item.ClienteEstrangeiro,
                                    VlrDeducao   = item.ClienteEstrangeiro,
                                    //Rendimentos Isentos/Não Tributáveis
                                    TpIsencao      = "TpIsencao",
                                    VlrIsento      = item.ClienteEstrangeiro,
                                    DescRendimento = item.ClienteEstrangeiro,
                                    //Detalhamento das Competências
                                    IndPerReferencia        = item.ClienteEstrangeiro,
                                    PerRefPagto             = request.DataInicio.ToString("yyyy-MM"),
                                    VlrRendTributavelCompet = Convert.ToString(item.CPFCNPJ),
                                    //Compensação Judicial
                                    VlrCompAnoCalend = item.ClienteEstrangeiro,
                                    VlrCompAnoAnt    = item.ClienteEstrangeiro,
                                    //Informações Complementares - Rendimentos Recebidos Acumuladamente
                                    TpProcRRA          = item.ClienteEstrangeiro,
                                    NrProcRRA          = item.ClienteEstrangeiro,
                                    CodSuspJud         = item.ClienteEstrangeiro,
                                    NatRRA             = item.ClienteEstrangeiro,
                                    QtdMesesRRA        = item.ClienteEstrangeiro,
                                    VlrDespCustas      = item.ClienteEstrangeiro,
                                    VlrDespAdvogados   = item.ClienteEstrangeiro,
                                    TpInscAdvogado     = item.ClienteEstrangeiro,
                                    NrInscAdvogado     = item.ClienteEstrangeiro,
                                    VlrAdvogado        = item.ClienteEstrangeiro,
                                    NrProcJud          = item.ClienteEstrangeiro,
                                    IndOrigemRecursos  = item.ClienteEstrangeiro,
                                    CnpjOrigemRecursos = item.ClienteEstrangeiro,
                                    VlrDepJudicial     = item.ClienteEstrangeiro,
                                    DtPagto            = item.ClienteEstrangeiro,
                                    VlrRet             = item.ClienteEstrangeiro,
                                    TpRendimentoExt    = item.ClienteEstrangeiro,
                                    FormaTributacaoExt = item.ClienteEstrangeiro,
                                    VlrPgtoExt         = item.ClienteEstrangeiro,

                                    //NmCont = Convert.ToString(consultaCliente[0].Imposto[0].Conta)
                                };

                                nomearquivo = Convert.ToString(item.CPFCNPJ);

                                AdicionarXml(cont, cliente.caminho, nomearquivo);
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine(" Problemas na autenticação", DateTime.Now.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
                // Console.WriteLine(" 99-Erro de gravação" + ex, DateTime.Now.ToString());
            }

            return(true);
        }
예제 #2
0
        public bool RetornaReinfContribuinte(EmpresaCliente cliente)
        {
            try
            {
                bool   acesso               = false;
                string strconTpAmb          = ConfigurationManager.AppSettings["TpAmb"].ToString();
                string strconProcEmi        = ConfigurationManager.AppSettings["ProcEmi"].ToString();
                string strconVerProc        = ConfigurationManager.AppSettings["VerProc"].ToString();
                string strClassTrib         = ConfigurationManager.AppSettings["classTrib"].ToString();
                string strindSitPJ          = ConfigurationManager.AppSettings["indSitPJ"].ToString();
                string strCnpjSoftHouse     = ConfigurationManager.AppSettings["cnpjSoftHouse"].ToString();
                string strnmRazaoSoftHouse  = ConfigurationManager.AppSettings["nmRazao"].ToString();
                string strnmContSoftHouse   = ConfigurationManager.AppSettings["nmCont"].ToString();
                string strtelefoneSoftHouse = ConfigurationManager.AppSettings["telefone"].ToString();
                string stremailSoftHouse    = ConfigurationManager.AppSettings["email"].ToString();
                string AcordoIsenMulta      = "";
                string impostoretCliente    = "";
                string descricaocliente     = "";
                string cpfcnpjraiz          = "";
                string IDEvento             = "";

                using (var infocontribuinte = new WsReinf.ConsultaEFDClient("NetTcpBinding_IConsultaEFD"))
                {
                    /* FAZ UMA AUTENTICAÇÃO NO SERVIÇO E RETORNA FALSO OU VERDADEIRO */
                    acesso = infocontribuinte.Authenticate(cliente.UsuarioSinacor, cliente.SenhaSinacor, cliente.CodigoEmpresa);

                    if (acesso == true)
                    {
                        /* PASSO AS INFORMAÇÕES QUE SÃO OBRIGATORIAS NO REQUEST */

                        EFDRequest request = new EFDRequest()
                        {
                            CodigoEmpresa = Convert.ToInt32(cliente.CodigoEmpresa),
                            DataInicio    = cliente.DataInicio,
                            DataFinal     = cliente.DataFinal,
                        };
                        EFDRequestCliente requestcliente = new EFDRequestCliente()
                        {
                            CodigoEmpresa = Convert.ToInt32(cliente.CodigoEmpresa),
                            DataInicio    = cliente.DataInicio,
                            DataFinal     = cliente.DataFinal,
                        };
                        EFDRequestInstitucional requestInsitucional = new EFDRequestInstitucional()
                        {
                            CodigoEmpresa = Convert.ToInt32(cliente.CodigoEmpresa)
                        };
                        /* CONSULTO LISTA DE RETENÇÃO CLIENTE PASSANDO O REQUEST(DADO ANTERIOR) RETORNANDO A LISTA DE RETENÇÃO */
                        var consulta = infocontribuinte.ConsultaListaRetencaoClientes(request).ListaRetencao;

                        foreach (var retCliente in consulta)
                        {
                            impostoretCliente = Convert.ToString(retCliente.CodigoImposto);
                            descricaocliente  = retCliente.DescricaoImposto;
                        }
                        /* CONSULTO DADOS DO CLIENTE PASSANDO O REQUEST(DADO ANTERIOR) RETORNANDO A LISTA DE RETENÇÃO */
                        var consultaCliente = infocontribuinte.ConsultarDadosClientes(requestcliente).ListaClientes;

                        if (strClassTrib == "60")
                        {
                            AcordoIsenMulta = "1";
                        }
                        else
                        {
                            AcordoIsenMulta = "0";
                        }


                        //if (item.TipoPessoa == "J")
                        //{
                        //    item.TipoPessoa = "1";
                        //    cpfcnpjraiz = Convert.ToString(item.CPFCNPJ).Substring(0, 8);
                        //    IDEvento = "ID" + item.TipoPessoa + Convert.ToString(item.CPFCNPJ);//+ cliente.DataInicio;
                        //}

                        InformacoesContribuinte cont = new InformacoesContribuinte()
                        {
                            ID                 = IDEvento,
                            TpAmb              = strconTpAmb, //1 - Produção e 2 - Produção restrita;
                            ProcEmi            = strconProcEmi,
                            VerProc            = strconVerProc,
                            TpInsc             = "1",
                            NrInsc             = cpfcnpjraiz,
                            IniValid           = cliente.DataInicio.ToString("yyyy-MM"),
                            FimValid           = cliente.DataFinal.ToString("yyyy-MM"),
                            ClassTrib          = strClassTrib,
                            IndEscrituracao    = cliente.indEscrituracao,
                            IndDesoneracao     = cliente.indDesoneracao,
                            IndAcordoIsenMulta = AcordoIsenMulta,
                            IndSitPJ           = strindSitPJ,
                            NmCtt              = cliente.NomeContatoContri,
                            CpfCtt             = cliente.CPFContatoContri,
                            FoneFixo           = cliente.TelefoneContatoContr,
                            FoneCel            = cliente.CelularContatoContr,
                            Email              = cliente.EmailContatoContr,
                            CnpjSoftHouse      = strCnpjSoftHouse,
                            NmRazao            = strnmRazaoSoftHouse,
                            NmCont             = strnmContSoftHouse,
                            FoneFixosoftHouse  = strtelefoneSoftHouse,
                            EmailSoftHouse     = stremailSoftHouse,
                        };

                        AdicionarXml(cont, cliente.caminho);
                    }
                    else
                    {
                        Console.WriteLine(" Problemas na autenticação", DateTime.Now.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(" 99-Erro na geração do XML" + ex, DateTime.Now.ToString());
            }
            return(true);
        }