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);
        }
Exemplo n.º 2
0
        private void GravarR1070()
        {
            R1070Proxy proxyR1070 = new R1070Proxy();

            foreach (var item in _listR1070)
            {
                decimal oidR1070 = proxyR1070.Inserir(item);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }