Example #1
0
        protected void btnprintdetail_Click(object sender, EventArgs e)
        {
            try
            {
                BALItem lcls = new BALItem();
                lcls.ItemID     = Convert.ToInt64(hdnitemid.Value);
                lcls.LoggedinBy = defaultPage.UserId;
                lcls.Filter     = "";
                List <GetItemDetailsReport_Result> llstdetailreview = lclsservice.GetItemDetailsReport(lcls).ToList();
                rvitemdetailreport.ProcessingMode         = ProcessingMode.Local;
                rvitemdetailreport.LocalReport.ReportPath = Server.MapPath("~/Reports/ItemDetailsReport.rdlc");
                ReportDataSource datasource = new ReportDataSource("GetItemDetailsReportDS", llstdetailreview);
                rvitemdetailreport.LocalReport.DataSources.Clear();
                rvitemdetailreport.LocalReport.DataSources.Add(datasource);
                rvitemdetailreport.LocalReport.Refresh();
                Warning[] warnings;
                string[]  streamids;
                string    mimeType;
                string    encoding;
                string    extension;
                byte[]    bytes = rvitemdetailreport.LocalReport.Render("PDF", "", out mimeType, out encoding, out extension, out streamids, out warnings);
                Guid      guid  = Guid.NewGuid();
                string    path  = ConfigurationManager.AppSettings["TempFileLocation"].ToString();
                _sessionPDFFileName = "ItemDetails" + guid + ".pdf";
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                path = Path.Combine(path, _sessionPDFFileName);
                using (StreamWriter sw = new StreamWriter(File.Create(path)))
                {
                    sw.Write("");
                }

                FileStream fs = new FileStream(path, FileMode.Open);
                // byte[] data = new byte[fs.Length];
                fs.Write(bytes, 0, bytes.Length);
                fs.Close();
                ShowPDFFile(path);
            }
            catch (Exception ex)
            {
                EventLogger log = new EventLogger(config);
                log.LogException(ex);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", Constant.MedicalSuppliesErrorMessage.Replace("<<Itemname>>", ex.Message), true);
            }
        }