Exemplo n.º 1
0
        public void Gerar()
        {
            if (_FoiGerado)
            {
                throw new InvalidOperationException("O Danfe já foi gerado.");
            }

            IdentificacaoEmitente.Logo = _LogoObject;
            var tabela = new TabelaProdutosServicos(ViewModel, EstiloPadrao);

            while (true)
            {
                DanfePagina p = CriarPagina();

                tabela.SetPosition(p.RetanguloCorpo.Location);
                tabela.SetSize(p.RetanguloCorpo.Size);
                tabela.Draw(p.Gfx);

                p.Gfx.Stroke();
                p.Gfx.Flush();

                if (tabela.CompletamenteDesenhada)
                {
                    break;
                }
            }

            PreencherNumeroFolhas();
            _FoiGerado = true;
        }
Exemplo n.º 2
0
        private DanfePagina CriarPagina()
        {
            DanfePagina p = new DanfePagina(this);

            Paginas.Add(p);
            p.DesenharBlocos(Paginas.Count == 1);
            p.DesenharCreditos();

            // Ambiente de homologação
            // 7. O DANFE emitido para representar NF-e cujo uso foi autorizado em ambiente de
            // homologação sempre deverá conter a frase “SEM VALOR FISCAL” no quadro “Informações
            // Complementares” ou em marca d’água destacada.
            if (ViewModel.TipoAmbiente == 2)
            {
                p.DesenharAvisoHomologacao();
            }

            return(p);
        }