/// <summary> /// Gera o DANFE. /// </summary> public void Gerar() { if (FoiGerado) { return; } DanfePagina page = CriarPaginar(); float y = InnerRect.Top, y2 = InnerRect.Bottom; var canhoto = new BlocoCanhoto(this); var dadosNfe = new BlocoDadosNFe(this); var desti = new BlocoDestinatario(this); var faturas = new BlocoFaturas(this); var calcImposto = new BlocoCalculoImposto(this); var transportador = new BlocoTransportador(this); var dadosAdicionais = new BlocoDadosAdicionais(this); var issqn = new BlocoIssqn(this); page.AdicionarBlocoSuperior(canhoto); page.AdicionarBlocoSuperior(dadosNfe); page.AdicionarBlocoSuperior(desti); if (Model.Duplicatas.Count > 0) { page.AdicionarBlocoSuperior(faturas); } page.AdicionarBlocoSuperior(calcImposto); page.AdicionarBlocoSuperior(transportador); if (Model.MostrarCalculoIssqn) { page.AdicionarBlocoInferior(issqn); } page.AdicionarBlocoInferior(dadosAdicionais); BlocoProdutos produtos = new BlocoProdutos(this, page.GetAlturaCorpo(InnerRect), 0); produtos.ToXObject(); int produtoIndex = produtos.ProdutoIndexEnd; page.AdicionarBlocoSuperior(produtos); while (produtoIndex < Model.Produtos.Count) { page = CriarPaginar(); page.AdicionarBlocoSuperior(dadosNfe); produtos = new BlocoProdutos(this, page.GetAlturaCorpo(InnerRect), produtoIndex); produtos.ToXObject(); produtoIndex = produtos.ProdutoIndexEnd; page.AdicionarBlocoSuperior(produtos); } RenderizarDocumento(); FoiGerado = true; }
/// <summary> /// Gera o DANFE. /// </summary> public void Gerar() { if (FoiGerado) return; DanfePagina page = CriarPaginar(); float y = InnerRect.Top, y2 = InnerRect.Bottom; var canhoto = new BlocoCanhoto(this); var dadosNfe = new BlocoDadosNFe(this); var desti = new BlocoDestinatario(this); var faturas = new BlocoFaturas(this); var calcImposto = new BlocoCalculoImposto(this); var transportador = new BlocoTransportador(this); var dadosAdicionais = new BlocoDadosAdicionais(this); var issqn = new BlocoIssqn(this); page.AdicionarBlocoSuperior(canhoto); page.AdicionarBlocoSuperior(dadosNfe); page.AdicionarBlocoSuperior(desti); if (Model.Duplicatas.Count > 0) { page.AdicionarBlocoSuperior(faturas); } page.AdicionarBlocoSuperior(calcImposto); page.AdicionarBlocoSuperior(transportador); if (Model.MostrarCalculoIssqn) { page.AdicionarBlocoInferior(issqn); } page.AdicionarBlocoInferior(dadosAdicionais); BlocoProdutos produtos = new BlocoProdutos(this, page.GetAlturaCorpo(InnerRect), 0); produtos.ToXObject(); int produtoIndex = produtos.ProdutoIndexEnd; page.AdicionarBlocoSuperior(produtos); while (produtoIndex < Model.Produtos.Count) { page = CriarPaginar(); page.AdicionarBlocoSuperior(dadosNfe); produtos = new BlocoProdutos(this, page.GetAlturaCorpo(InnerRect), produtoIndex); produtos.ToXObject(); produtoIndex = produtos.ProdutoIndexEnd; page.AdicionarBlocoSuperior(produtos); } RenderizarDocumento(); FoiGerado = true; }