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; }
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); }