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