Example #1
0
        /// <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;
        }
Example #2
0
        /// <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;
        }