private static void AtualizarR2098(decimal oid, string numRecibo) { var proxy = new R2098Proxy(); var registro = proxy.BuscarPorChave(oid); var dataEnvio = registro.DTA_ENVIO ?? DateTime.Now; proxy.UpdateReciboPorOidArquivoUpload(numRecibo, dataEnvio, registro.OID_ARQUIVO_UPLOAD); }
public void GerarR2098(decimal oidUsuario, decimal oidContribuinte, string tipoAmbiente, int ano, int mes, string baseCaminhoArquivo) { // Busca contribuinte var contribuinte = new ContribuinteProxy().BuscarPorChave(oidContribuinte); var usuarioContribuinte = new UsuarioContribuinteProxy().BuscarPorOidUsuarioOidContribuinte(oidUsuario, oidContribuinte); var dtaPeriodoApuracao = new DateTime(ano, mes, 1); // Monta nome do arquivo var nomeArquivoZip = "XML_R2098_" + 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 }); //Inserinfo na R2098 var r2098Proxy = new R2098Proxy(); var oidR2098 = r2098Proxy.Inserir(new R2098Entidade { OID_CONTRIBUINTE = oidContribuinte, OID_USUARIO_ENVIO = oidUsuario, DTA_PERIODO_APURACAO = dtaPeriodoApuracao, IND_AMBIENTE_ENVIO = tipoAmbiente, NUM_RECIBO_ENVIO = null, DTA_ENVIO = null, IND_SITUACAO_PROCESSAMENTO_ = DMN_SITUACAO_PROCESSAMENTO.PROCESSADO, OID_ARQUIVO_UPLOAD = oidArquivoUpload }); // Monta XML var templateFile = Path.Combine(baseCaminhoArquivo, "../TemplatesXml", "R2098.liquid"); var template = Template.Parse(File.OpenText(templateFile).ReadToEnd()); var xmlR2098 = template.Render(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, oidR2098.ToString().PadLeft(5, '0')), dta_periodo_Apuracao = dtaPeriodoApuracao.ToString("yyyy-MM"), 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) }); var caminhoArquivo = GerarArquivo("R2098_", baseCaminhoArquivo, xmlR2098); CompactarArquivo(caminhoArquivo, baseCaminhoArquivo, nomeArquivoZip); }
public IActionResult BuscarArquivos(decimal oidContribuinte) { try { var R1000 = new ContribuinteEnvioProxy().BuscarPorOidContribuinte(oidContribuinte); var R1070 = new ArquivoUploadProxy().BuscarR1070PorOidContribuinteNaoEnviado(oidContribuinte); var R2098 = new R2098Proxy().BuscarPorOidContribuinte(oidContribuinte); var R2099 = new R2099Proxy().BuscarPorOidContribuinte(oidContribuinte); var R2010 = new ArquivoUploadProxy().BuscarR2010PorOidContribuinteNaoEnviado(oidContribuinte) .Where(x => x.IND_SITUACAO_PROCESSAMENTO == DMN_SITUACAO_PROCESSAMENTO.PROCESSADO || x.IND_SITUACAO_PROCESSAMENTO == DMN_SITUACAO_PROCESSAMENTO.ENVIADO || x.IND_SITUACAO_PROCESSAMENTO == DMN_SITUACAO_PROCESSAMENTO.RETIFICADO) .ToList(); var listaArquivos = new List <ArquivoGerado>(); // R-1000 foreach (var item in R1000) { listaArquivos.Add(new ArquivoGerado { Tipo = "R-1000", DataGeracao = item.DTA_UPLOAD.Value, Ambiente = item.IND_TIPO_AMBIENTE == DMN_TIPO_AMBIENTE_EFD.PRODUCAO ? "Produção" : "Produção Restrita", Status = item.IND_STATUS == DMN_STATUS_EFD_UPLOAD.PROCESSADO ? "Processado" : "Gerado", Usuario = new UsuarioProxy().BuscarPorChave(item.OID_USUARIO_ENVIO).NOM_USUARIO, OidArquivoUpload = item.OID_ARQUIVO_UPLOAD }); } // R-1070 foreach (var item in R1070) { listaArquivos.Add(new ArquivoGerado { Tipo = "R-1070", DataGeracao = item.DTA_UPLOAD, Ambiente = item.IND_AMBIENTE_ENVIO == DMN_TIPO_AMBIENTE_EFD.PRODUCAO ? "Produção" : "Produção Restrita", Status = item.IND_STATUS == DMN_STATUS_EFD_UPLOAD.PROCESSADO ? "Processado" : "Gerado", Usuario = new UsuarioProxy().BuscarPorChave(item.OID_USUARIO_ENVIO).NOM_USUARIO, OidArquivoUpload = item.OID_ARQUIVO_UPLOAD }); } // R-2010 foreach (var item in R2010) { listaArquivos.Add(new ArquivoGerado { Tipo = "R-2010", DataGeracao = item.DTA_UPLOAD, Ambiente = item.IND_AMBIENTE_ENVIO == DMN_TIPO_AMBIENTE_EFD.PRODUCAO ? "Produção" : "Produção Restrita", Status = item.IND_STATUS == DMN_STATUS_EFD_UPLOAD.PROCESSADO ? "Processado" : "Gerado", Usuario = new UsuarioProxy().BuscarPorChave(item.OID_USUARIO_ENVIO).NOM_USUARIO, OidArquivoUpload = item.OID_ARQUIVO_UPLOAD }); } // R-2098 foreach (var item in R2098) { listaArquivos.Add(new ArquivoGerado { Tipo = "R-2098", DataGeracao = item.DTA_UPLOAD.Value, Ambiente = item.IND_AMBIENTE_ENVIO == DMN_TIPO_AMBIENTE_EFD.PRODUCAO ? "Produção" : "Produção Restrita", Status = item.IND_STATUS == DMN_STATUS_EFD_UPLOAD.PROCESSADO ? "Processado" : "Gerado", Usuario = new UsuarioProxy().BuscarPorChave(item.OID_USUARIO_ENVIO).NOM_USUARIO, OidArquivoUpload = item.OID_ARQUIVO_UPLOAD }); } // R-2099 foreach (var item in R2099) { listaArquivos.Add(new ArquivoGerado { Tipo = "R-2099", DataGeracao = item.DTA_UPLOAD.Value, Ambiente = item.IND_AMBIENTE_ENVIO == DMN_TIPO_AMBIENTE_EFD.PRODUCAO ? "Produção" : "Produção Restrita", Status = item.IND_STATUS == DMN_STATUS_EFD_UPLOAD.PROCESSADO ? "Processado" : "Gerado", Usuario = new UsuarioProxy().BuscarPorChave(item.OID_USUARIO_ENVIO).NOM_USUARIO, OidArquivoUpload = item.OID_ARQUIVO_UPLOAD }); } listaArquivos = listaArquivos.OrderByDescending(x => x.DataGeracao).ToList(); return(Json(listaArquivos)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }