private void readReportImages(DataTable dstDT, DataTable dtReportInfo, string reportID, C1Report c1rpt, string domain) { List <string> listTmpFile = getFTPFiles(dtReportInfo, reportID, domain); int idx = 0; foreach (Field fld in c1rpt.Fields) { if (fld.Picture != null) { C1.C1Report.Util.PictureHolder ph = fld.Picture as C1.C1Report.Util.PictureHolder; if (ph != null && ph.IsBound) { if (string.Compare(ph.FieldName, ReportCommon.FIELDNAME_CREATORSIGNIMAGE, true) == 0) { string creater = ReportUtils.GetStringFromDataTable(dtReportInfo, ReportCommon.FIELDNAME_tbReport__Creater); if (!string.IsNullOrEmpty(creater)) { User user = _dbContext.Set <User>().Where(u => u.UniqueID == creater).FirstOrDefault(); if (user != null) { dstDT.Rows[0][ph.FieldName] = user.SignImage; } } } else if (string.Compare(ph.FieldName, ReportCommon.FIELDNAME_FIRSTAPPROVERSIGNIMAGE, true) == 0) { string approver = ReportUtils.GetStringFromDataTable(dtReportInfo, ReportCommon.FIELDNAME_tbReport__FirstApprover); if (!string.IsNullOrEmpty(approver)) { User user = _dbContext.Set <User>().Where(u => u.UniqueID == approver).FirstOrDefault(); if (user != null) { dstDT.Rows[0][ph.FieldName] = user.SignImage; } } } else if (string.Compare(ph.FieldName, ReportCommon.FIELDNAME_SUBMITTERSIGNIMAGE, true) == 0) { string submitter = ReportUtils.GetStringFromDataTable(dtReportInfo, ReportCommon.FIELDNAME_tbReport__Submitter); if (!string.IsNullOrEmpty(submitter)) { User user = _dbContext.Set <User>().Where(u => u.UniqueID == submitter).FirstOrDefault(); if (user != null) { dstDT.Rows[0][ph.FieldName] = user.SignImage; } } } else if (dstDT.Columns.Contains(ph.FieldName) && idx < listTmpFile.Count) { dstDT.Rows[0][ph.FieldName] = File.ReadAllBytes(listTmpFile[idx]); ++idx; } } } } }
private DataTable GenerateDataTable4Printing(DataTable dtSrc, C1Report c1rpt) { DataTable dt = new DataTable(); foreach (Field fld in c1rpt.Fields) { if (fld.Picture != null) { C1.C1Report.Util.PictureHolder ph = fld.Picture as C1.C1Report.Util.PictureHolder; if (ph != null && ph.IsBound && !dt.Columns.Contains(ph.FieldName)) { dt.Columns.Add(ph.FieldName, System.Type.GetType("System.Byte[]")); } } else if (fld.Calculated) { if (!dt.Columns.Contains(fld.Text)) { dt.Columns.Add(fld.Text); } } } if (dtSrc.Rows.Count > 0) { DataRow dr = dt.NewRow(); foreach (DataColumn fld in dt.Columns) { if (dtSrc.Columns.Contains(fld.ColumnName)) { if (fld.DataType == System.Type.GetType("System.Byte[]")) { dr[fld.ColumnName] = ReportUtils.GetBytesFromBase64(dtSrc, fld.ColumnName); } else { dr[fld.ColumnName] = GetStringForPrinting(dtSrc, fld.ColumnName); } } } dt.Rows.Add(dr); } return(dt); }
private DataTable generateDataTable4Printing(DataTable dtSrc, C1Report c1rpt) { DataTable dt = ReportUtils.CreateDTBaseInfoTemplate(); foreach (Field fld in c1rpt.Fields) { if (fld.Picture != null) { C1.C1Report.Util.PictureHolder ph = fld.Picture as C1.C1Report.Util.PictureHolder; if (ph != null && ph.IsBound && !dt.Columns.Contains(ph.FieldName)) { dt.Columns.Add(ph.FieldName, System.Type.GetType("System.Byte[]")); } } else if (fld.Calculated) { if (!dt.Columns.Contains(fld.Text)) { dt.Columns.Add(fld.Text); if (fld.Text.ToLower() == "tbreport__wys") { fld.RTF = false; fld.Text = "tbReport__WYSTEXT"; } else if (fld.Text.ToLower() == "tbreport__wyg") { fld.RTF = false; fld.Text = "tbReport__WYGTEXT"; } } } } //c1rpt.Save(templateFile); if (dtSrc.Rows.Count > 0) { DataRow dr = dt.NewRow(); foreach (DataColumn fld in dt.Columns) { if (dtSrc.Columns.Contains(fld.ColumnName)) { if (fld.ColumnName.ToLower().EndsWith("reportname")) { dr[fld.ColumnName] = GetStringForPrinting(dtSrc, "tbRegPatient__LocalName") + GetStringForPrinting(dtSrc, fld.ColumnName); } else { dr[fld.ColumnName] = GetStringForPrinting(dtSrc, fld.ColumnName); } } } dt.Rows.Add(dr); } SetExamNumber(dt); //SetSignImage(dt, dtSrc); return(dt); }