private static void AtualizarR1070(decimal oid, string numRecibo) { var proxy = new R1070Proxy(); var registro = proxy.BuscarPorChave(oid); var dataEnvio = registro.DTA_ENVIO ?? DateTime.Now; proxy.UpdateReciboPorOidArquivoUpload(numRecibo, dataEnvio, registro.OID_ARQUIVO_UPLOAD); }
private void GravarR1070() { R1070Proxy proxyR1070 = new R1070Proxy(); foreach (var item in _listR1070) { decimal oidR1070 = proxyR1070.Inserir(item); } }
public void GerarR1070(decimal oidUsuario, decimal oidContribuinte, string tipoAmbiente, string baseCaminhoArquivo) { // Busca contribuinte var contribuinte = new ContribuinteProxy().BuscarPorChave(oidContribuinte); var usuarioContribuinte = new UsuarioContribuinteProxy().BuscarPorOidUsuarioOidContribuinte(oidUsuario, oidContribuinte); // Monta nome do arquivo var nomeArquivoZip = "XML_R1070_" + Guid.NewGuid().ToString() + ".zip"; var arquivoUploadProxy = new ArquivoUploadProxy(); var oidArquivoUpload = arquivoUploadProxy.Inserir(new ArquivoUploadEntidade { DTA_UPLOAD = DateTime.Now, IND_STATUS = DMN_STATUS_EFD_UPLOAD.NAO_PROCESSADO, NOM_ARQUIVO_LOCAL = "Upload/" + nomeArquivoZip, NOM_EXT_ARQUIVO = ".zip", NOM_ARQUIVO_ORIGINAL = nomeArquivoZip, NOM_DIRETORIO_LOCAL = "Upload", OID_USUARIO_CONTRIBUINTE = usuarioContribuinte.OID_USUARIO_CONTRIBUINTE }); R1070Proxy proxyR1070 = new R1070Proxy(); IEnumerable <R1070Entidade> listRegistrosR1070; listRegistrosR1070 = proxyR1070.BuscarPorOidContribuinteNaoEnviados(oidContribuinte); if (listRegistrosR1070.Count() == 0) { throw new Exception("Não existem registros para geração de arquivo XML."); } var eventos = from x in listRegistrosR1070 select new { id = string.Format("ID{0}{1}{2:yyyyMMddHHmmss}{3}", contribuinte.IND_TIPO_INSCRICAO, contribuinte.COD_CNPJ_CPF.Substring(0, 8).PadRight(14, '0'), DateTime.Now, x.OID_R1070.ToString().PadLeft(5, '0')), ind_ambiente_envio = tipoAmbiente, versao = Assembly.GetExecutingAssembly().GetName().Version.ToString(3), ind_tipo_inscricao = contribuinte.IND_TIPO_INSCRICAO, cod_cnpj_cpf = contribuinte.COD_CNPJ_CPF.Substring(0, 8), abertura_tag_operacao = x.IND_OPERACAO_REGISTRO == DMN_OPERACAO_REGISTRO.INCLUSAO ? "<inclusao>" : x.IND_OPERACAO_REGISTRO == DMN_OPERACAO_REGISTRO.ALTERACAO ? "<alteracao>" : "<exclusao>", ind_tipo_processo = x.IND_TIPO_PROCESSO, num_processo = x.NUM_PROCESSO, dta_inicio_validade = x.DTA_INICIO_VALIDADE.ToString("yyyy-MM"), dta_fim_validade = x.DTA_FIM_VALIDADE == null ? null : Convert.ToDateTime(x.DTA_FIM_VALIDADE).ToString("yyyy-MM"), ind_autoria_judicial = x.IND_AUTORIA_JUDICIAL, cod_suspensao = x.COD_SUSPENSAO, ind_suspensao = x.IND_SUSPENSAO, dta_decisao = x.DTA_DECISAO == null ? string.Empty : Convert.ToDateTime(x.DTA_DECISAO).ToString("yyyy-MM-dd"), ind_deposito_judicial = x.IND_DEPOSITO_JUDICIAL, cod_uf_vara = x.COD_UF_VARA, cod_municipio_vara = x.COD_MUNICIPIO_VARA, cod_identificacao_vara = x.COD_IDENTIFICACAO_VARA, fechamento_tag_operacao = x.IND_OPERACAO_REGISTRO == DMN_OPERACAO_REGISTRO.INCLUSAO ? "</inclusao>" : x.IND_OPERACAO_REGISTRO == DMN_OPERACAO_REGISTRO.ALTERACAO ? "</alteracao>" : "</exclusao>" }; // Monta XML var templateFile = Path.Combine(baseCaminhoArquivo, "../TemplatesXml", "R1070.liquid"); var template = Template.Parse(File.OpenText(templateFile).ReadToEnd()); var xmlR1070 = template.Render(new { eventos }); var caminhoArquivo = GerarArquivo("R1070_", baseCaminhoArquivo, xmlR1070); CompactarArquivo(caminhoArquivo, baseCaminhoArquivo, nomeArquivoZip); //Atualizando a tabela R1070 foreach (var rowR1070 in listRegistrosR1070) { rowR1070.OID_CONTRIBUINTE = oidContribuinte; rowR1070.OID_USUARIO_ENVIO = oidUsuario; rowR1070.IND_SITUACAO_PROCESSAMENTO = DMN_SITUACAO_PROCESSAMENTO.PROCESSADO; rowR1070.IND_AMBIENTE_ENVIO = tipoAmbiente; rowR1070.OID_ARQUIVO_UPLOAD = oidArquivoUpload; proxyR1070.Atualizar(rowR1070); } }