Esempio n. 1
0
        private void ProcessarDocumentosFiscaisMercadorias()
        {
            this.UpdateStatusAsynchronousExecution("Iniciando processamento de documentos fiscais");

            this.ProcessarNotasFiscaisMercadorias();
            this.ProcessarCuponsFiscais();
            this.ProcessarNotasFiscaisEnergiaAguaGas();

            // Monta o registro de abertura do bloco, verificando se realmente existem
            // movimentações para o período especificado
            this.UpdateStatusAsynchronousExecution("Gerando Registro C001");
            RegistroC001 regC001 = new RegistroC001();

            if (DadosArquivoFiscalService.BlocoPossuiRegistros("C"))
            {
                regC001.IND_MOV = "0";
            }
            else
            {
                regC001.IND_MOV = "1";
            }
            DadosArquivoFiscalService.PersistirRegistro(regC001);

            this.UpdateStatusAsynchronousExecution("Gerando Registro C990");
            RegistroC990 regC990 = DadosArquivoFiscalService.GetRegistroC990();

            DadosArquivoFiscalService.PersistirRegistro(regC990);
        }
        private void ProcessarDocumentosFiscaisMercadorias()
        {
            this.UpdateStatusAsynchronousExecution("Iniciando processamento de documentos fiscais");


            registrosC010 = DocumentosFiscaisMercadoriasService.GetRegistrosC010(UndTrabalho.CodigoEmpresa).ToList();

            // GetEmpresasFiliais(UndTrabalho.CodigoEmpresa);
            produtos      = new List <validacao>();
            unidades      = new List <validacao>();
            contribuintes = new List <validacao>();
            foreach (RegistroC010 regC010 in registrosC010)
            {
                this.UpdateStatusAsynchronousExecution("Gerando Registro C010");
                DadosArquivoPisCofinsService.PersistirRegistro(regC010);

                this.ProcessarNotasFiscaisMercadorias(regC010);
                this.ProcessarConsolidacaoNotasFiscais(regC010);
                this.ProcessarCuponsFiscais(regC010);
                this.ProcessarNotasFiscaisEnergiaAguaGas(regC010);
            }

            // Monta o registro de abertura do bloco, verificando se realmente existem
            // movimentações para o período especificado
            this.UpdateStatusAsynchronousExecution("Gerando Registro C001");
            RegistroC001 regC001 = new RegistroC001();

            if (DadosArquivoPisCofinsService.BlocoPossuiRegistros("C"))
            {
                regC001.IND_MOV = "0";
            }
            else
            {
                regC001.IND_MOV = "1";
            }
            DadosArquivoPisCofinsService.PersistirRegistro(regC001);

            this.UpdateStatusAsynchronousExecution("Gerando Registro C990");
            RegistroC990 regC990 = DadosArquivoPisCofinsService.GetRegistroC990();

            DadosArquivoPisCofinsService.PersistirRegistro(regC990);
        }
        private void ProcessarNotasFiscaisMercadorias()
        {
            IEnumerable <RegistroC100> registrosC100 =
                notasFiscaisMercadoriasService.GetRegistrosC100();

            foreach (RegistroC100 regC100 in registrosC100)
            {
                this.UpdateStatusAsynchronousExecution("Gerando Registro C100");
                dadosArquivoContmaticService.PersistirRegistro(regC100);

                // Processa informações do cliente ou fornecedor vinculado a uma nota fiscal
                this.ProcessarParticipante(regC100.COD_PART);

                if (regC100.ST_DOC_CANCELADO != "S") // Não persiste registros filhos caso haja cancelamento
                {
                    this.ProcessarDetalhesNotasFiscaisMercadorias(regC100);
                }
            }

            // Monta o registro de abertura do bloco, verificando se realmente existem
            // movimentações para o período especificado
            this.UpdateStatusAsynchronousExecution("Gerando Registro C001");
            RegistroC001 regC001 = new RegistroC001();

            if (dadosArquivoContmaticService.BlocoPossuiRegistros("C"))
            {
                regC001.IND_MOV = "0";
            }
            else
            {
                regC001.IND_MOV = "1";
            }
            dadosArquivoContmaticService.PersistirRegistro(regC001);

            this.UpdateStatusAsynchronousExecution("Gerando Registro C990");
            RegistroC990 regC990 = dadosArquivoContmaticService.GetRegistroC990();

            dadosArquivoContmaticService.PersistirRegistro(regC990);
        }