private void PrepararImpressao()
        {
            var e = new DANFSeEventArgs(Layout);

            OnGetReport.Raise(this, e);
            if (e.FilePath.IsEmpty() || !File.Exists(e.FilePath))
            {
                MemoryStream ms;

                //ToDo: Adicionar os layouts de acordo com o provedor
                switch (Layout)
                {
                case LayoutImpressao.ABRASF2:
                    ms = new MemoryStream(Properties.Resources.DANFSe);
                    break;

                case LayoutImpressao.DSF:
                    ms = new MemoryStream(Properties.Resources.DANFSe);
                    break;

                case LayoutImpressao.Ginfes:
                    ms = new MemoryStream(Properties.Resources.DANFSe);
                    break;

                case LayoutImpressao.ABRASF:
                    ms = new MemoryStream(Properties.Resources.DANFSe);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                internalReport.Load(ms);
            }
            else
            {
                internalReport.Load(e.FilePath);
            }

            internalReport.SetParameterValue("Logo", Logo.ToByteArray());
            internalReport.SetParameterValue("LogoPrefeitura", LogoPrefeitura.ToByteArray());
            internalReport.SetParameterValue("MunicipioPrestador", Parent.Configuracoes.WebServices.Municipio);
            internalReport.SetParameterValue("Ambiente", (int)Parent.Configuracoes.WebServices.Ambiente);
            internalReport.SetParameterValue("SoftwareHouse", SoftwareHouse);
            internalReport.SetParameterValue("Site", Site);

            internalReport.PrintSettings.Copies     = NumeroCopias;
            internalReport.PrintSettings.Printer    = Impressora;
            internalReport.PrintSettings.ShowDialog = MostrarSetup;
        }
Beispiel #2
0
        private void PrepararImpressao()
        {
            this.Log().Debug("Preparando a impressão.");

            var e = new DANFSeEventArgs(Layout);

            OnGetReport.Raise(this, e);
            if (e.FilePath.IsEmpty() || !File.Exists(e.FilePath))
            {
                //ToDo: Adicionar os layouts de acordo com o provedor
                var assembly = Assembly.GetExecutingAssembly();

                Stream ms;
                switch (Layout)
                {
                case LayoutImpressao.ABRASF2:
                    ms = assembly.GetManifestResourceStream("ACBr.Net.NFSe.DANFSe.FastReport.OpenSource.Report.DANFSe.frx");
                    break;

                case LayoutImpressao.DSF:
                    ms = assembly.GetManifestResourceStream("ACBr.Net.NFSe.DANFSe.FastReport.OpenSource.Report.DANFSe.frx");
                    break;

                case LayoutImpressao.Ginfes:
                    ms = assembly.GetManifestResourceStream("ACBr.Net.NFSe.DANFSe.FastReport.OpenSource.Report.DANFSe.frx");
                    break;

                case LayoutImpressao.ABRASF:
                    ms = assembly.GetManifestResourceStream("ACBr.Net.NFSe.DANFSe.FastReport.OpenSource.Report.DANFSe.frx");
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                this.Log().Debug("Carregando layout impressão.");

                internalReport.Load(ms);
            }
            else
            {
                this.Log().Debug("Carregando layout impressão costumizado.");

                internalReport.Load(e.FilePath);
            }

            this.Log().Debug("Passando configurações para o relatório.");

#if NETFULL
            internalReport.SetParameterValue("Logo", Logo.ToByteArray());
            internalReport.SetParameterValue("LogoPrefeitura", LogoPrefeitura.ToByteArray());
#else
            internalReport.SetParameterValue("Logo", Logo);
            internalReport.SetParameterValue("LogoPrefeitura", LogoPrefeitura);
#endif
            internalReport.SetParameterValue("MunicipioPrestador", Parent.Configuracoes.WebServices.Municipio);
            internalReport.SetParameterValue("Ambiente", (int)Parent.Configuracoes.WebServices.Ambiente);
            internalReport.SetParameterValue("SoftwareHouse", SoftwareHouse);
            internalReport.SetParameterValue("Site", Site);

            settings = new PrinterSettings {
                Copies = (short)Math.Max(NumeroCopias, 1)
            };

            if (!Impressora.IsEmpty())
            {
                settings.PrinterName = Impressora;
            }

            this.Log().Debug("Impressão preparada.");
        }