Exemplo n.º 1
0
        public static dynamic getReport(string reportType, System.Data.DataSet ds, DocumentDownloadSection param)
        {
            string      mimeType = "", extension = "";
            Stream      stream    = new MemoryStream();
            ReportClass report    = new ReportClass();
            bool        isValid   = true;
            var         rptSource = ds;

            if (string.IsNullOrEmpty(param.OperationName))
            {
                isValid = false;
            }
            if (isValid)
            {
                string strRptPath = string.Empty;
                //if (param.OperationName.Equals("rptCostCenterWiseIncomeTaxYearly") || param.OperationName.Equals("rptCostCenterWiseIncomeNonTaxYearly"))
                //{
                //    strRptPath = System.Web.HttpContext.Current.Server.MapPath("~/WebReport/Reports/") + param.OperationName + ".rpt";
                //}
                //else
                //{

                //}

                strRptPath = System.Web.HttpContext.Current.Server.MapPath("~/WebReport/Reports/") + param.OperationName + ".rpt";

                //dsReport = rptSource.Copy();
                report.FileName = strRptPath;
                //===========Data set=====
                //var path = "~//WebReport//DataSet//dsLeaveForm.xsd";
                //ds.WriteXmlSchema(HostingEnvironment.MapPath(path));

                report.Load(strRptPath);
                if (ds != null && ds.GetType().ToString() != "System.String")
                {
                    report.SetDataSource(ds);
                    if (param.OperationName.Equals("rptCostCenterWiseIncomeTaxYearly") || param.OperationName.Equals("rptCostCenterWiseIncomeNonTaxYearly"))
                    {
                        report.SetParameterValue("Option", param.IncomeTaxYear);
                        report.SetParameterValue("Option1", param.FromMonth);
                        report.SetParameterValue("Option2", param.ToMonth);
                        report.SetParameterValue("Option3", param.AYear);
                    }
                }


                if (reportType == "pdf")
                {
                    mimeType  = "application/pdf";
                    extension = ".pdf";
                    stream    = report.ExportToStream(ExportFormatType.PortableDocFormat);
                }
                else if (reportType == "excel")
                {
                    mimeType  = "application/vnd.ms-excel";
                    extension = ".xls";
                    stream    = report.ExportToStream(ExportFormatType.Excel);
                }
                else if (reportType == "word")
                {
                    mimeType  = "application/msword";
                    extension = ".doc";
                    stream    = report.ExportToStream(ExportFormatType.WordForWindows);
                }
                else if (reportType == "RichText")
                {
                    mimeType  = "application/rtf";
                    extension = ".rtf";
                    stream    = report.ExportToStream(ExportFormatType.RichText);
                }
                report.Close();
                report.Dispose();

                return(new { mimeType = mimeType, stream = stream, extension = extension });
            }
            else
            {
                return("<H2>Nothing Found; </H2>");
            }
        }