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); }