Beispiel #1
0
        private void btn_salvar_Click(object sender, EventArgs e)
        {
            bool retorno = true;

            EmpresaCliente cliente = new EmpresaCliente();
            InformacoesContribuinteControl cont = new InformacoesContribuinteControl();
            RetencoesFonteControl          rent = new RetencoesFonteControl();
            RetencoesFonte teste = new RetencoesFonte();

            cliente.Ano = "";

            cliente.Dominio        = txt_dominio.Text;
            cliente.UsuarioSinacor = txt_usuario.Text;
            cliente.SenhaSinacor   = txt_senha.Text;
            cliente.CodigoEmpresa  = Convert.ToInt16(txt_codigo_empresa.Text);
            cliente.caminho        = txt_caminho.Text;
            cliente.Ano            = txt_Ano.Text;


            string dataInicialFormatada = MontaData(cbo_DataIni.SelectedValue.ToString(), cliente.Ano);
            string dataFinalFormatada   = MontaData(cbo_DataFim.SelectedValue.ToString(), cliente.Ano);


            retorno = ValidaCampos(cliente);

            if (retorno == true)
            {
                if (rdn_1000.Checked == true)
                {
                    cliente.NomeContatoContri    = txt_contato.Text;
                    cliente.CPFContatoContri     = txt_cpf.Text;
                    cliente.TelefoneContatoContr = txt_ddd_fone.Text + txt_fone.Text;
                    cliente.CelularContatoContr  = txt_ddd_cel.Text + txt_celular.Text;
                    cliente.EmailContatoContr    = txt_email.Text;

                    if (rdn_EmpresaNaoObrigadaECD.Checked == true)
                    {
                        cliente.indDesoneracao = "0";
                    }

                    if (rdn_EmpresaObrigadaECD.Checked == true)
                    {
                        cliente.indDesoneracao = "1";
                    }

                    if (rdn_NaoAplicavel.Checked == true)
                    {
                        cliente.indDesoneracao = "0";
                    }

                    if (rdn_LeiEnquadrada.Checked == true)
                    {
                        cliente.indDesoneracao = "1";
                    }

                    retorno = cont.RetornaReinfContribuinte(cliente);
                    if (retorno == true)
                    {
                        MessageBox.Show("Imposto R1000 gerado com sucesso!");
                        return;
                    }
                }
                else if (rdn_2070.Checked == true)
                {
                    if (ckb_refificadora.Checked == true)
                    {
                        cliente.Retifico = 1;
                        cliente.Recibo   = txt_Recibo.Text;
                        m
                    }

                    retorno = rent.AdicionarXml(teste, cliente.caminho, "teste.xml");
                    //  retorno = rent.RetornaReinfFonte(cliente);
                    if (retorno == true)
                    {
                        MessageBox.Show("Imposto R2070 gerado com sucesso!");
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("Escolher pelo menos um dos impostos");
                    return;
                }
            }
        }
        /// <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);
        }