private void ExportToPDF() { JobTypeGraphReport(); string fileName = "QuickJobSummary_Pdf_" + DateTime.Now.ToShortDateString(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", fileName + ".pdf")); Response.Cache.SetCacheability(HttpCacheability.NoCache); StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); //gridViewReport.RenderControl(hw); StringReader sr = new StringReader(sw.ToString()); iTextSharp.text.Document pdfDoc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A3, 10f, 10f, 100f, 0f); iTextSharp.text.html.simpleparser.HTMLWorker htmlparser = new iTextSharp.text.html.simpleparser.HTMLWorker(pdfDoc); iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDoc, Response.OutputStream); pdfDoc.Open(); htmlparser.Parse(sr); using (MemoryStream stream = new MemoryStream()) { ChartPrint.SaveImage(stream, ChartImageFormat.Png); iTextSharp.text.Image chartImage = iTextSharp.text.Image.GetInstance(stream.GetBuffer()); chartImage.ScalePercent(75f); pdfDoc.Add(chartImage); } using (MemoryStream stream = new MemoryStream()) { ChartCopy.SaveImage(stream, ChartImageFormat.Png); iTextSharp.text.Image chartImageCopy = iTextSharp.text.Image.GetInstance(stream.GetBuffer()); chartImageCopy.ScalePercent(75f); pdfDoc.Add(chartImageCopy); } using (MemoryStream stream = new MemoryStream()) { ChartScan.SaveImage(stream, ChartImageFormat.Png); iTextSharp.text.Image chartImageScan = iTextSharp.text.Image.GetInstance(stream.GetBuffer()); chartImageScan.ScalePercent(75f); pdfDoc.Add(chartImageScan); } pdfDoc.Close(); Response.Write(pdfDoc); Response.End(); //Response.ClearContent(); //Response.Buffer = true; //Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "Panel.xls")); //Response.ContentType = "application / vnd.ms - excel"; //StringWriter objSW = new StringWriter(); //HtmlTextWriter objTW = new HtmlTextWriter(objSW); //gridViewReport.RenderControl(objTW); //Response.Write(objSW); //Response.End(); }
private void JobTypeGraphReport() { string auditorSuccessMessage = "Graph Generated successfully"; string auditorFailureMessage = "Failed to Generate Graph"; string suggestionMessage = ""; string userRole = Session["UserRole"].ToString(); string userid = loggedInUserID; try { string monthFrom = DropDownListFromMonth.SelectedValue; string dayFrom = DropDownListFromDate.SelectedValue; string yearFrom = DropDownListFromYear.SelectedValue; string monthTo = DropDownListToMonth.SelectedValue; string dayTo = DropDownListToDate.SelectedValue; string yearTo = DropDownListToYear.SelectedValue; string fromDate = "" + monthFrom + "/" + dayFrom + "/" + yearFrom + ""; string toDate = "" + monthTo + "/" + dayTo + "/" + yearTo + ""; DataSet dsJobStatus = DataManager.Provider.Reports.provideJobCompleted(); DataTable dt = dsJobStatus.Tables[0]; string jobStatus = string.Empty; for (int i = 0; i < dt.Rows.Count; i++) { jobStatus = jobStatus + dt.Rows[i]["JOB_COMPLETED_TPYE"].ToString().ToUpper(); jobStatus += (i < dt.Rows.Count) ? "," : string.Empty; } DataSet dsReport = new DataSet(); if (!string.IsNullOrEmpty(fromDate) && !string.IsNullOrEmpty(toDate)) { if (userRole == "admin") { dsReport = DataManager.Provider.Reports.ProvideQuickJobSummaryReportData(fromDate, toDate, jobStatus); } else { dsReport = DataManager.Provider.Reports.ProvideUserQuickJobSummaryReportData(userid, fromDate, toDate, jobStatus); } } TableQuickReport.Visible = true; TableHeaderRow tableHeaderRowReport = new TableHeaderRow(); tableHeaderRowReport.CssClass = "Table_HeaderBG"; tableHeaderRowReport.TableSection = TableRowSection.TableHeader; if (dsReport.Tables[0].Rows.Count != 0) { for (int column = 0; column < dsReport.Tables[0].Columns.Count; column++) { string labelResourceIDs = "JOBTYPE,COLOR,BW,TOTAL"; string clientMessagesResourceIDs = ""; string serverMessageResourceIDs = ""; Hashtable localizedResources = AppLibrary.Localization.Resources("", Session["selectedCulture"] as string, labelResourceIDs, clientMessagesResourceIDs, serverMessageResourceIDs); TableHeaderCell th = new TableHeaderCell(); th.CssClass = "H_title"; th.Text = localizedResources["L_" + dsReport.Tables[0].Columns[column].ColumnName.ToUpper()].ToString(); th.Wrap = false; th.HorizontalAlign = HorizontalAlign.Center; tableHeaderRowReport.Cells.Add(th); } TableQuickReport.Rows.Add(tableHeaderRowReport); for (int i = 0; i < dsReport.Tables[0].Rows.Count; i++) { TableRow trLog = new TableRow(); AppController.StyleTheme.SetGridRowStyle(trLog); TableCell tdJobMode = new TableCell(); tdJobMode.Text = dsReport.Tables[0].Rows[i]["JobType"].ToString(); tdJobMode.HorizontalAlign = HorizontalAlign.Center; TableCell tdColor = new TableCell(); tdColor.Text = dsReport.Tables[0].Rows[i]["Color"].ToString(); tdColor.HorizontalAlign = HorizontalAlign.Center; TableCell tdBW = new TableCell(); tdBW.Text = dsReport.Tables[0].Rows[i]["BW"].ToString(); tdBW.HorizontalAlign = HorizontalAlign.Center; TableCell tdTotal = new TableCell(); tdTotal.Text = dsReport.Tables[0].Rows[i]["Total"].ToString(); tdTotal.HorizontalAlign = HorizontalAlign.Center; trLog.Cells.Add(tdJobMode); trLog.Cells.Add(tdColor); trLog.Cells.Add(tdBW); trLog.Cells.Add(tdTotal); TableQuickReport.Rows.Add(trLog); } ChartPrint.DataSource = dsReport; #region Print //Print chart //if (int.Parse(dsReport.Tables[0].Compute("SUM(Total)", string.Empty).ToString()) == 0) if (dsReport.Tables[0].Rows[0]["Total"].ToString() == "0") { string titleTextNoData = Localization.GetLabelText("", Session["selectedCulture"] as string, "PRINT"); //"PRINT_CHART_DATA"; Title titleNoData = new Title(titleTextNoData, Docking.Top, new System.Drawing.Font("Calibri", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105)); ChartPrint.Titles.Add(titleNoData); string message = Localization.GetLabelText("", Session["selectedCulture"] as string, "NO_DATA_FOR_DATE"); //No Data found for the selected Date range Title noDataTitle = new Title(message, Docking.Top, new System.Drawing.Font("Calibri", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105)); ChartPrint.Titles.Add(noDataTitle); } else { string titleTextNoData = Localization.GetLabelText("", Session["selectedCulture"] as string, "PRINT"); //"PRINT_CHART_DATA"; Title titleNoData = new Title(titleTextNoData, Docking.Top, new System.Drawing.Font("Calibri", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105)); ChartPrint.Titles.Add(titleNoData); ChartPrint.Legends.Add("Legand1").Title = "JobType Vs Print"; ChartPrint.ChartAreas["ChartArea1"].AxisX.Title = "JobType"; ChartPrint.ChartAreas["ChartArea1"].AxisY.Title = "Print"; { ChartPrint.Series["PrintUser"].Points.AddXY("Color", dsReport.Tables[0].Rows[0]["Color"].ToString()); ChartPrint.Series["PrintUser"].Points.AddXY("Bw", dsReport.Tables[0].Rows[0]["BW"].ToString()); //ChartPrint.Series["PrintUser"].Points.AddXY("Total " + dsReport.Tables[0].Rows[0]["JobType"].ToString(), dsReport.Tables[0].Rows[0]["Total"].ToString()); ChartPrint.Series["PrintUser"].Points[0].Color = Color.Yellow; ChartPrint.Series["PrintUser"].Points[1].Color = Color.Gray; ChartPrint.Series["PrintUser"].IsValueShownAsLabel = true; ChartPrint.Series["PrintUser"].ChartType = SeriesChartType.Pie; ChartPrint.Series["PrintUser"].Points[1]["Exploded"] = "true"; ChartPrint.DataBind(); } } #endregion #region Copy //Copy Chart //if (int.Parse(dsReport.Tables[0].Compute("SUM(Total)", string.Empty).ToString()) == 0) if (dsReport.Tables[0].Rows[1]["Total"].ToString() == "0") { string titleTextNoData = Localization.GetLabelText("", Session["selectedCulture"] as string, "COPY"); //"COPY_CHART_DATA"; Title titleNoData = new Title(titleTextNoData, Docking.Top, new System.Drawing.Font("Calibri", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105)); ChartCopy.Titles.Add(titleNoData); string message = Localization.GetLabelText("", Session["selectedCulture"] as string, "NO_DATA_FOR_DATE"); //No Data found for the selected Date range Title noDataTitle = new Title(message, Docking.Top, new System.Drawing.Font("Calibri", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105)); ChartCopy.Titles.Add(noDataTitle); } else { string titleTextNoData = Localization.GetLabelText("", Session["selectedCulture"] as string, "COPY"); //"COPY_CHART_DATA"; Title titleNoData = new Title(titleTextNoData, Docking.Top, new System.Drawing.Font("Calibri", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105)); ChartCopy.Titles.Add(titleNoData); ChartCopy.Legends.Add("Legand1").Title = "JobType Vs Copy"; ChartCopy.ChartAreas["ChartArea1"].AxisX.Title = "JobType"; ChartCopy.ChartAreas["ChartArea1"].AxisY.Title = "Copy"; { ChartCopy.Series["CopyUser"].Points.AddXY("Color ", dsReport.Tables[0].Rows[1]["Color"].ToString()); ChartCopy.Series["CopyUser"].Points.AddXY("Bw ", dsReport.Tables[0].Rows[1]["BW"].ToString()); //ChartCopy.Series["CopyUser"].Points.AddXY("Total " + dsReport.Tables[0].Rows[1]["JobType"].ToString(), dsReport.Tables[0].Rows[1]["Total"].ToString()); //ChartCopy.Series["CopyUser"].LabelForeColor = System.Drawing.Color.Snow; ChartCopy.Series["CopyUser"].Points[0].Color = Color.OrangeRed; ChartCopy.Series["CopyUser"].Points[1].Color = Color.Gray; ChartCopy.Series["CopyUser"].IsValueShownAsLabel = true; ChartCopy.Series["CopyUser"].ChartType = SeriesChartType.Pie; ChartCopy.Series["CopyUser"].Points[1]["Exploded"] = "true"; ChartCopy.DataBind(); } } #endregion #region Scan //Scan Chart // if (int.Parse(dsReport.Tables[0].Compute("SUM(Total)", string.Empty).ToString()) == 0) if (dsReport.Tables[0].Rows[2]["Total"].ToString() == "0") { string titleTextNoData = Localization.GetLabelText("", Session["selectedCulture"] as string, "SCAN"); //"SCAN_CHART_DATA"; Title titleNoData = new Title(titleTextNoData, Docking.Top, new System.Drawing.Font("Calibri", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105)); ChartScan.Titles.Add(titleNoData); string message = Localization.GetLabelText("", Session["selectedCulture"] as string, "NO_DATA_FOR_DATE"); //No Data found for the selected Date range Title noDataTitle = new Title(message, Docking.Top, new System.Drawing.Font("Calibri", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105)); ChartScan.Titles.Add(noDataTitle); } else { string titleTextNoData = Localization.GetLabelText("", Session["selectedCulture"] as string, "SCAN"); //"SCAN_CHART_DATA"; Title titleNoData = new Title(titleTextNoData, Docking.Top, new System.Drawing.Font("Calibri", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105)); ChartScan.Titles.Add(titleNoData); ChartScan.Legends.Add("Legand1").Title = "JobType Vs Scan"; ChartScan.ChartAreas["ChartArea1"].AxisX.Title = "JobType"; ChartScan.ChartAreas["ChartArea1"].AxisY.Title = "Scan"; { ChartScan.Series["ScanUser"].Points.AddXY("Color", dsReport.Tables[0].Rows[2]["Color"].ToString()); ChartScan.Series["ScanUser"].Points.AddXY("Bw", dsReport.Tables[0].Rows[2]["BW"].ToString()); //ChartScan.Series["ScanUser"].Points.AddXY("Total " + dsReport.Tables[0].Rows[2]["JobType"].ToString(), dsReport.Tables[0].Rows[2]["Total"].ToString()); ChartScan.Series["ScanUser"].Points[0].Color = Color.SpringGreen; ChartScan.Series["ScanUser"].Points[1].Color = Color.Gray; ChartScan.Series["ScanUser"].IsValueShownAsLabel = true; ChartScan.Series["ScanUser"].ChartType = SeriesChartType.Pie; ChartScan.Series["ScanUser"].Points[1]["Exploded"] = "true"; ChartScan.DataBind(); } } #endregion //gridViewReport.DataSource = dsReport.Tables[0]; //gridViewReport.DataBind(); } } catch (Exception ex) { LogManager.RecordMessage("QuickJobSummary.aspx.cs.JobTypeGraphReport", Session["UserID"] as string, LogManager.MessageType.Exception, auditorFailureMessage, suggestionMessage, ex.Message, ex.StackTrace); string serverMessage = Localization.GetServerMessage("", Session["selectedCulture"] as string, "Failed to Generate Graph");//FAILED_TO_LOAD_GRAPH GetMasterPage().DisplayActionMessage(AppLibrary.MessageType.Error.ToString(), serverMessage, null); } }