コード例 #1
0
ファイル: ReportRunner.cs プロジェクト: yanxuYX/examples
        private InlineReportSlot CreateReportSlot(ReportManager reportManager)
        {
            var reportSlot = new InlineReportSlot {
                DocumentStream = LoadReportTemplate()
            };

            reportManager.Reports.Add(reportSlot);

            return(reportSlot);
        }
コード例 #2
0
        private string DefineDesigner(TRegistro_CadContaGer RegModelo)
        {
            InlineReportSlot InlineCheque = new InlineReportSlot();
            XmlDocument      docXML       = new XmlDocument();

            if (string.IsNullOrEmpty(RegModelo.LayoutCheque))
            {
                docXML.LoadXml(Utils.ResourcesUtils.ModeloCheque);
            }
            else
            {
                docXML.LoadXml(RegModelo.LayoutCheque);
            }

            InlineCheque.DocumentStream = docXML.InnerXml;
            //this.reportManager.Reports.Add(InlineCheque);
            InlineCheque.DesignTemplate();
            docXML.LoadXml(InlineCheque.DocumentStream);
            return(docXML.InnerXml);
        }
コード例 #3
0
        public string DefineDesigner()
        {
            InlineReportSlot InlineNF = new InlineReportSlot();
            XmlDocument      docXML   = new XmlDocument();

            this.reportManager.Reports.Add(InlineNF);

            if (Cad_Report.Code_Report == null)
            {
                docXML.LoadXml(RDCPadrao.Code_Report);
            }
            else
            {
                docXML.LoadXml(System.Text.ASCIIEncoding.UTF8.GetString(Utils.Compact_Data.Descompactar(Cad_Report.Code_Report, string.Empty)));
            }

            InlineNF.DocumentStream = docXML.InnerXml;
            InlineNF.DesignTemplate();
            docXML.LoadXml(InlineNF.DocumentStream);

            return(docXML.InnerXml);
        }
コード例 #4
0
        private void Imprime(TRegistro_CadContaGer LayoutCh,
                             bool St_imprimir,
                             bool St_visualizar,
                             bool St_enviaremail,
                             List <string> Destinatarios,
                             string Titulo,
                             string Mensagem)
        {
            InlineReportSlot InlineNF = new InlineReportSlot();

            if (!string.IsNullOrEmpty(LayoutCh.LayoutCheque))
            {
                InlineNF.DocumentStream = LayoutCh.LayoutCheque;
            }
            else
            {
                InlineNF.DocumentStream = Utils.ResourcesUtils.ModeloCheque;
            }
            this.reportManager.Reports.Add(InlineNF);
            this.reportManager.Reports[0].LoadReport();
            this.reportManager.Reports[0].Prepare();
            this.reportManager.Reports[0].GetReportParameter += new PerpetuumSoft.Reporting.Components.GetReportParameterEventHandler(this.Parametros);
            if (St_imprimir)
            {
                using (System.Windows.Forms.PrintDialog pd = new PrintDialog())
                {
                    pd.UseEXDialog = true;
                    if (pd.ShowDialog() == DialogResult.OK)
                    {
                        using (ReportPrintDocument rpd = new ReportPrintDocument())
                        {
                            rpd.PrinterSettings = pd.PrinterSettings;
                            rpd.Source          = InlineNF;
                            rpd.Print();
                        }
                    }
                }
            }
            else if (St_visualizar)
            {
                using (PerpetuumSoft.Reporting.View.PreviewForm view = new PerpetuumSoft.Reporting.View.PreviewForm(this.reportManager.Reports[0]))
                {
                    view.WindowState = FormWindowState.Maximized;
                    view.ShowDialog();
                }
            }

            if (St_enviaremail)
            {
                using (PerpetuumSoft.Reporting.Export.Pdf.PdfExportFilter pdf = new PerpetuumSoft.Reporting.Export.Pdf.PdfExportFilter())
                {
                    string path_anexo = System.IO.Path.GetTempPath();
                    if (!path_anexo.EndsWith("\\"))
                    {
                        path_anexo += System.IO.Path.DirectorySeparatorChar.ToString();
                    }
                    path_anexo += "CHEQUE" + DateTime.Now.Date.Year.ToString() + DateTime.Now.Date.Month.ToString() + DateTime.Now.Date.Day.ToString() + DateTime.Now.Date.Hour.ToString() + DateTime.Now.Date.Minute.ToString() + DateTime.Now.Date.Second.ToString() + ".pdf";
                    if (pdf.ShowDialog() == DialogResult.OK)
                    {
                        pdf.Export(InlineNF.Document, path_anexo, false);
                        if (new Email(Destinatarios,
                                      Titulo,
                                      Mensagem,
                                      new List <string>()
                        {
                            path_anexo
                        }).EnviarEmail())
                        {
                            MessageBox.Show("Email enviado com sucesso.");
                        }
                        if (System.IO.File.Exists(path_anexo))
                        {
                            try
                            {
                                System.IO.File.Delete(path_anexo);
                            }
                            catch { }
                        }
                    }
                }
            }
        }
コード例 #5
0
        private string DefineDesigner(TRegistro_CFGImpNF RegCfgImpNf)
        {
            InlineReportSlot InlineNF = new InlineReportSlot();
            XmlDocument      docXML   = new XmlDocument();
            XmlNode          no;

            this.reportManager.Reports.Add(InlineNF);

            if (RegCfgImpNf.Modelorst.Trim().Equals(string.Empty))
            {
                Document doc = new Document();
                doc.Name           = "NotaFiscal";
                doc.IsTemplate     = true;
                doc.ScriptLanguage = ScriptLanguage.CSharp;

                Page page = new Page();
                page.Name         = "pageNotaFiscal";
                page.Size         = new PerpetuumSoft.Framework.Drawing.Vector(Convert.ToDouble(RegCfgImpNf.Larguranf), Convert.ToDouble(RegCfgImpNf.Alturanf)).ConvertUnits(Unit.Centimeter, Unit.InternalUnit);
                page.TemplateSize = new PerpetuumSoft.Framework.Drawing.Vector(Convert.ToDouble(RegCfgImpNf.Larguranf), Convert.ToDouble(RegCfgImpNf.Alturanf)).ConvertUnits(Unit.Centimeter, Unit.InternalUnit);
                page.PaperKind    = PaperKind.Custom;
                page.CustomSize   = new PerpetuumSoft.Framework.Drawing.Vector(Convert.ToDouble(RegCfgImpNf.Larguranf), Convert.ToDouble(RegCfgImpNf.Alturanf)).ConvertUnits(Unit.Centimeter, Unit.InternalUnit);
                doc.Pages.Add(page);

                Picture imagemFundo = new Picture();
                imagemFundo.Name     = "ImagemNF";
                imagemFundo.Location = new PerpetuumSoft.Framework.Drawing.Vector(0f, 0f).ConvertUnits(Unit.Centimeter, Unit.InternalUnit);
                imagemFundo.Size     = new PerpetuumSoft.Framework.Drawing.Vector(Convert.ToDouble(RegCfgImpNf.Larguranf), Convert.ToDouble(RegCfgImpNf.Alturanf)).ConvertUnits(Unit.Centimeter, Unit.InternalUnit);
                if (RegCfgImpNf.Img != null)
                {
                    imagemFundo.Image = RegCfgImpNf.Imagem;
                }
                else
                {
                    System.IO.MemoryStream ms = new System.IO.MemoryStream();
                    ms.Write(Convert.FromBase64String(imagemBranco), 0, Convert.FromBase64String(imagemBranco).Length);
                    imagemFundo.Image = Image.FromStream(ms);
                }
                page.Controls.Add(imagemFundo);

                DataBand dataBand = new DataBand();
                dataBand.Name = "BandaDadosGeral";
                page.Controls.Add(dataBand);
                dataBand.Location     = new PerpetuumSoft.Framework.Drawing.Vector(0f, 0.3f).ConvertUnits(Unit.Centimeter, Unit.InternalUnit);
                dataBand.Size         = new PerpetuumSoft.Framework.Drawing.Vector(Convert.ToDouble(RegCfgImpNf.Larguranf), Convert.ToDouble(RegCfgImpNf.Alturanf)).ConvertUnits(Unit.Centimeter, Unit.InternalUnit);
                dataBand.DataSource   = "DTS";
                dataBand.ColumnsCount = 1;
                dataBand.ColumnsGap   = Unit.Convert(0.5f, Unit.Centimeter, Unit.InternalUnit);

                DataBand dataBandProduto = new DataBand();
                dataBandProduto.Name = "BandaDadosProdutos";
                dataBand.Controls.Add(dataBandProduto);
                dataBandProduto.Location     = new PerpetuumSoft.Framework.Drawing.Vector(0f, 0.5f).ConvertUnits(Unit.Centimeter, Unit.InternalUnit);
                dataBandProduto.Size         = new PerpetuumSoft.Framework.Drawing.Vector(21.5f, 0.5f).ConvertUnits(Unit.Centimeter, Unit.InternalUnit);
                dataBandProduto.DataSource   = "DTS.ItensNota";
                dataBandProduto.ColumnsCount = 1;
                dataBandProduto.ColumnsGap   = Unit.Convert(0.5f, Unit.Centimeter, Unit.InternalUnit);

                InlineNF.SaveReport(doc);
            }
            else
            {
                docXML.LoadXml(RegCfgImpNf.Modelorst);

                if (RegCfgImpNf.Img != null)
                {
                    no = docXML.SelectSingleNode(String.Format("/root/Pages/Item/Controls/Item"));
                    XmlNode noImg = no.SelectSingleNode("./Image");

                    if (noImg != null)
                    {
                        if (RegCfgImpNf.Img == null)
                        {
                            no.SelectSingleNode("./Image").InnerText = imagemBranco;
                        }
                        else
                        {
                            no.SelectSingleNode("./Image").InnerText = Convert.ToBase64String(RegCfgImpNf.Img);
                        }
                    }
                }

                InlineNF.DocumentStream = docXML.InnerXml;
            }

            InlineNF.DesignTemplate();
            docXML.LoadXml(InlineNF.DocumentStream);

            no = docXML.SelectSingleNode(String.Format("/root/Pages/Item/Controls/Item"));
            XmlNode noImage = no.SelectSingleNode("./Image");

            if (noImage != null)
            {
                no.SelectSingleNode("./Image").InnerText = imagemBranco;
            }

            return(docXML.InnerXml);
        }
コード例 #6
0
        public bool Gera_Relatorio(string Documento,
                                   bool St_imprimir,
                                   bool St_visualizar,
                                   bool St_enviaremail,
                                   bool St_exportPdf,
                                   string Path_exportPdf,
                                   List <string> Destinatarios,
                                   List <string> Anexos,
                                   string Titulo,
                                   string Mensagem,
                                   bool St_enviarcomoanexo)
        {
            bool retorno = false;

            try
            {
                //VERIFICA SE JÁ TEM O ITEM LANÇADO
                if (string.IsNullOrEmpty(Cad_Report.DS_Report))
                {
                    Cad_Report.Modulo    = Modulo;
                    Cad_Report.NM_Classe = NM_Classe;
                    Cad_Report.DS_Report = NM_Classe;
                    Cad_Report.Ident     = Ident;
                }

                //Se nao existir relatorio no banco, baixar da net
                if (!BuscaRelatorio())
                {
                    if (AtualizarRDC.VerificarVersaoRDC(Cad_Report, false))
                    {
                        BuscaRelatorio();
                    }
                }

                XmlDocument docXMLRelatorio = new XmlDocument();
                if (Cad_Report.Code_Report != null)
                {
                    docXMLRelatorio.LoadXml(System.Text.ASCIIEncoding.UTF8.GetString(Compact_Data.Descompactar(Cad_Report.Code_Report, string.Empty)));
                }

                //CRIA O ARQUIVO PARA O RELATORIO
                InlineReportSlot ArquivoRelatorio = new InlineReportSlot();
                //ADICIONAR O NOME E OS PARAMETROS
                ArquivoRelatorio.GetReportParameter += new GetReportParameterEventHandler(Parametros);
                Nome_Relatorio = Nome_Relatorio.Replace(' ', '_');
                ArquivoRelatorio.ReportName = Nome_Relatorio;
                reportManager.DataSources.Add("DTS", DTS_Relatorio);

                if (Cad_Report.Code_Report != null)
                {
                    //ADICIONA O STREAM DO RELATORIO (XML)
                    ArquivoRelatorio.DocumentStream = docXMLRelatorio.InnerXml;
                    reportManager.Reports.Add(ArquivoRelatorio);

                    if (!Altera_Relatorio)
                    {
                        reportManager.Reports[0].LoadReport();
                        reportManager.Reports[0].Prepare();
                        reportManager.Reports[0].RenderDocument();

                        using (PerpetuumSoft.Reporting.View.PreviewForm view = new PerpetuumSoft.Reporting.View.PreviewForm(reportManager.Reports[0]))
                        {
                            if (St_imprimir)
                            {
                                object obj = new CamadaDados.Diversos.TCD_CadTerminal().BuscarEscalar(
                                    new TpBusca[]
                                {
                                    new TpBusca()
                                    {
                                        vNM_Campo = "a.cd_terminal",
                                        vOperador = "=",
                                        vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'"
                                    }
                                }, "a.impressorapadrao");
                                string print = obj == null ? string.Empty : obj.ToString();
                                if (!string.IsNullOrEmpty(print))
                                {
                                    bool existe = false;
                                    for (int i = 0; i < System.Drawing.Printing.PrinterSettings.InstalledPrinters.Count; i++)
                                    {
                                        string teste = System.Drawing.Printing.PrinterSettings.InstalledPrinters[i];
                                        if (System.Drawing.Printing.PrinterSettings.InstalledPrinters[i].Trim().ToUpper().Equals(print.Trim().ToUpper()))
                                        {
                                            existe = true;
                                            break;
                                        }
                                    }
                                    if (!existe)
                                    {
                                        print = string.Empty;
                                    }
                                }

                                if (!string.IsNullOrEmpty(print))
                                {
                                    using (ReportPrintDocument rpd = new ReportPrintDocument())
                                    {
                                        decimal copias = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlNumerico("QTD_VIA_DANFE", null);
                                        rpd.PrinterSettings.Copies      = copias == decimal.Zero ? (short)1 : (short)copias;
                                        rpd.PrinterSettings.PrinterName = print;
                                        rpd.Source = ArquivoRelatorio;
                                        rpd.Print();
                                    }
                                }
                                else
                                {
                                    using (System.Windows.Forms.PrintDialog pd = new PrintDialog())
                                    {
                                        pd.UseEXDialog = true;
                                        if (pd.ShowDialog() == DialogResult.OK)
                                        {
                                            using (ReportPrintDocument rpd = new ReportPrintDocument())
                                            {
                                                rpd.PrinterSettings = pd.PrinterSettings;
                                                rpd.Source          = ArquivoRelatorio;
                                                rpd.Print();
                                            }
                                        }
                                    }
                                }
                            }
                            else if (St_visualizar)
                            {
                                view.WindowState = FormWindowState.Maximized;
                                view.ShowDialog();
                                retorno = true;
                            }
                            else if (St_exportPdf && !string.IsNullOrEmpty(Path_exportPdf))
                            {
                                using (PdfExportFilter pdf = new PdfExportFilter())
                                {
                                    pdf.Export(this.reportManager.Reports[0].Document, Path_exportPdf, false);
                                    retorno = true;
                                }
                            }
                        }
                        if (St_enviaremail)
                        {
                            using (PdfExportFilter pdf = new PdfExportFilter())
                            {
                                string path_anexo = TCN_CadParamGer.BuscaVlString("PATH_ANEXO_EMAIL", null);
                                if (string.IsNullOrEmpty(path_anexo))
                                {
                                    throw new Exception("Não existe path anexo cadastrado nas configurações gerais do sistema!");
                                }
                                if (!System.IO.Directory.Exists(path_anexo))
                                {
                                    System.IO.Directory.CreateDirectory(path_anexo);
                                }
                                if (!path_anexo.EndsWith("\\"))
                                {
                                    path_anexo += System.IO.Path.DirectorySeparatorChar.ToString();
                                }
                                path_anexo += "NFCE" + DateTime.Now.Date.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + ".pdf";
                                pdf.Export(this.reportManager.Reports[0].Document, path_anexo, false);
                                if (Anexos == null)
                                {
                                    Anexos = new List <string>();
                                }
                                Anexos.Add(path_anexo);
                                new Email(Destinatarios,
                                          Titulo,
                                          Mensagem,
                                          Anexos).EnviarEmail();
                                retorno = true;
                            }
                        }
                    }
                    else
                    {
                        Editar();
                    }
                }
                else
                {
                    Editar();
                }
            }
            catch (Exception erro)
            { MessageBox.Show(erro.Message, "Mensagem"); }
            return(retorno);
        }
コード例 #7
0
        public bool ImprimiGraficoReduzida(string Print,
                                           bool St_imprimir,
                                           bool St_visualizar,
                                           List <string> Destinatarios,
                                           string Titulo,
                                           string Mensagem,
                                           short copia)
        {
            bool retorno = false;

            try
            {
                //VERIFICA SE JÁ TEM O ITEM LANÇADO
                if (string.IsNullOrEmpty(Cad_Report.DS_Report))
                {
                    Cad_Report.Modulo    = Modulo;
                    Cad_Report.NM_Classe = NM_Classe;
                    Cad_Report.DS_Report = NM_Classe;
                    Cad_Report.Ident     = Ident;
                }

                //Se nao existir relatorio no banco, baixar da net
                if (!BuscaRelatorio())
                {
                    if (AtualizarRDC.VerificarVersaoRDC(Cad_Report, false))
                    {
                        BuscaRelatorio();
                    }
                }

                XmlDocument docXMLRelatorio = new XmlDocument();
                if (Cad_Report.Code_Report != null)
                {
                    docXMLRelatorio.LoadXml(System.Text.ASCIIEncoding.UTF8.GetString(Compact_Data.Descompactar(Cad_Report.Code_Report, string.Empty)));
                }

                //CRIA O ARQUIVO PARA O RELATORIO
                InlineReportSlot ArquivoRelatorio = new InlineReportSlot();
                //ADICIONAR O NOME E OS PARAMETROS
                ArquivoRelatorio.GetReportParameter += new GetReportParameterEventHandler(Parametros);
                Nome_Relatorio = Nome_Relatorio.Replace(' ', '_');
                ArquivoRelatorio.ReportName = Nome_Relatorio;
                reportManager.DataSources.Add("DTS", DTS_Relatorio);

                if (Cad_Report.Code_Report != null)
                {
                    //ADICIONA O STREAM DO RELATORIO (XML)
                    ArquivoRelatorio.DocumentStream = docXMLRelatorio.InnerXml;
                    reportManager.Reports.Add(ArquivoRelatorio);

                    if (!Altera_Relatorio)
                    {
                        reportManager.Reports[0].LoadReport();
                        reportManager.Reports[0].Prepare();
                        reportManager.Reports[0].RenderDocument();

                        using (PerpetuumSoft.Reporting.View.PreviewForm view = new PerpetuumSoft.Reporting.View.PreviewForm(reportManager.Reports[0]))
                        {
                            if (St_imprimir)
                            {
                                using (ReportPrintDocument rpd = new ReportPrintDocument())
                                {
                                    rpd.PrinterSettings.PrinterName = Print;
                                    rpd.Source = ArquivoRelatorio;
                                    for (int i = 0; i < copia; i++)
                                    {
                                        rpd.Print();
                                    }
                                }
                            }
                            else if (St_visualizar)
                            {
                                view.WindowState = FormWindowState.Maximized;
                                view.ShowDialog();
                                retorno = true;
                            }
                        }
                        if (Destinatarios == null ? false : Destinatarios.Count > 0)
                        {
                            using (PdfExportFilter pdf = new PdfExportFilter())
                            {
                                string path_anexo = TCN_CadParamGer.BuscaVlString("PATH_ANEXO_EMAIL", null);
                                if (string.IsNullOrEmpty(path_anexo))
                                {
                                    throw new Exception("Não existe path anexo cadastrado nas configurações gerais do sistema!");
                                }
                                if (!System.IO.Directory.Exists(path_anexo))
                                {
                                    System.IO.Directory.CreateDirectory(path_anexo);
                                }
                                if (!path_anexo.EndsWith("\\"))
                                {
                                    path_anexo += System.IO.Path.DirectorySeparatorChar.ToString();
                                }
                                path_anexo += "NFCE" + DateTime.Now.Date.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + ".pdf";
                                pdf.Export(this.reportManager.Reports[0].Document, path_anexo, false);
                                List <string> Anexos = new List <string>();
                                Anexos.Add(path_anexo);
                                new Email(Destinatarios,
                                          Titulo,
                                          Mensagem,
                                          Anexos).EnviarEmail();
                                retorno = true;
                            }
                        }
                    }
                    else
                    {
                        Editar();
                    }
                }
                else
                {
                    Editar();
                }
            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message, "Mensagem");
            }
            return(retorno);
        }
コード例 #8
0
        public string GenerateReportIntoFile(RunFileReportRequest request)
        {
            Thread.CurrentThread.CurrentCulture.NumberFormat = CultureInfo.InvariantCulture.NumberFormat;

            DataSet set = GenerateDataSet(request);

            Log.Debug("GenerateReport - after generate dataset");

            string dllFolder = (string)set.Tables["RunReportRequest"].Rows[0]["DllFolder"];
            string dllName   = (string)set.Tables["RunReportRequest"].Rows[0]["DllName"];

            string templateFileName = Path.Combine(dllFolder, dllName + ".rst");

            Log.DebugFormat("GenerateReport rst template file name is {0}", templateFileName);

            string xmlTemplate = File.ReadAllText(templateFileName);

            Log.Debug("GenerateReport after read rst template file");

            ReportManager reportManager = new ReportManager();

            reportManager.DataSources.Add(set.DataSetName, set);
            reportManager.OwnerForm = null;
            Log.Debug("GenerateReport after init ReportManager");

            InlineReportSlot inlineReportSlot = new InlineReportSlot();

            inlineReportSlot.DocumentStream  = xmlTemplate;
            inlineReportSlot.RenderingError += InlineReportSlot_RenderingError;
            Log.Debug("GenerateReport after init InlineReportSlot");

            reportManager.Reports.Add(inlineReportSlot);
            Document document = inlineReportSlot.RenderDocument();

            Log.Debug("GenerateReport after RenderDocument");
            string outputFormat = request.OutputFormat;

            Log.DebugFormat("GenerateReport after RenderDocument, document name is {0}, page count is {1}, outputFormat is {2}",
                            document.Name, document.Pages.Count, outputFormat);

            string tempFileName   = Path.GetTempFileName();
            string outputFileName = Path.ChangeExtension(tempFileName, outputFormat);

            try
            {
                File.Delete(tempFileName);
            }
            catch { }
            try
            {
                File.Delete(outputFileName);
            }
            catch { }

            Log.DebugFormat("GenerateReport - the name of file for export report to write to is set to {0}", outputFileName);

            try
            {
                switch (outputFormat.ToUpper())
                {
                case "PDF":
                {
                    PdfExportFilter exportFilter = new PdfExportFilter();

                    exportFilter.Compress = true;
                    exportFilter.Export(document, outputFileName, false);
                    Log.DebugFormat("GenerateReport after export document to PDF into tempFileName = {0}", outputFileName);
                    break;
                }

                case "CSV":
                {
                    CsvExportFilter exportFilter = new CsvExportFilter();

                    exportFilter.Separator = ",";
                    exportFilter.Export(document, outputFileName, false);
                    Log.DebugFormat("GenerateReport after export document to CSV into tempFileName = {0}", outputFileName);
                    break;
                }

                case "XLSX":
                {
                    ExcelExportFilter exportFilter = new ExcelExportFilter();
                    exportFilter.ExportAsData = true;
                    exportFilter.Export(document, outputFileName, false);
                    Log.DebugFormat("GenerateReport after export document to XLSX into tempFileName = {0}", outputFileName);
                    break;
                }

                case "PNG":
                {
                    PngExportFilter exportFilter = new PngExportFilter();
                    exportFilter.PagesRange = "1";
                    exportFilter.Export(document, outputFileName, false);
                    Log.DebugFormat("GenerateReport after export document to PNG into tempFileName = {0}", outputFileName);
                    break;
                }

                default:
                {
                    Log.DebugFormat("Unable to export report - unknown export format '{0}'", outputFormat);
                    break;
                }
                }
            }
            catch (System.Exception exp)
            {
                Log.Debug("Exception during export report", exp);
                throw exp;
            }

            return(outputFileName);
        }