Beispiel #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;
        }
Beispiel #2
0
        private DanfePagina CriarPagina()
        {
            DanfePagina p = new DanfePagina(this);

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

            if (ViewModel.TipoAmbiente == 2)
            {
                p.DesenharAvisoHomologacao();
            }

            return(p);
        }