public string EvaluateString(Report rpt, Row row) { if (rpt == null || rpt.UserID == null) return Environment.UserName; else return rpt.UserID; }
internal DynamicExpression(Report rpt, ReportLink p, string expr, Row row) { _Source=expr; _Expr = null; _rl = p; _Type = DoParse(rpt); }
public int EvaluateInt32(Report rpt, Row row) { bool bSave=true; IEnumerable re = this.GetDataScope(rpt, row, out bSave); if (re == null) return int.MinValue; Row startrow=null; foreach (Row r in re) { startrow = r; // We just want the first row break; } int count; object currentValue = _Expr.Evaluate(rpt, row); int incr = currentValue == null? 0: 1; if (row == startrow) { // must be the start of a new group count = incr; } else { count = GetValue(rpt) + incr; } SetValue(rpt, count); return count; }
public object Evaluate(Report rpt, Row row) { bool bSave=true; IEnumerable re = this.GetDataScope(rpt, row, out bSave); if (re == null) return null; object v = GetValue(rpt); if (v == null) { object max_value=null; object current_value; foreach (Row r in re) { current_value = _Expr.Evaluate(rpt, r); if (current_value == null || (current_value is double && double.IsNaN((double)current_value))) continue; else if (max_value == null) max_value = current_value; else if (Filter.ApplyCompare(_tc, max_value, current_value) < 0) max_value = current_value; } v = max_value; if (bSave) SetValue(rpt, v); } return v; }
public double EvaluateDouble(Report rpt, Row row) { bool bSave=true; IEnumerable re = this.GetDataScope(rpt, row, out bSave); if (re == null) return double.NaN; ODouble v = GetValueDouble(rpt); if (v != null) return v.d; double sum=0; int count=0; double temp; foreach (Row r in re) { temp = _Expr.EvaluateDouble(rpt, r); if (temp.CompareTo(double.NaN) != 0) { sum += temp; count++; } } double result; if (count > 0) result = (sum/count); else result = double.NaN; if (bSave) SetValue(rpt, result); return result; }
public string EvaluateString(Report rpt, Row row) { if (rpt == null || rpt.ClientLanguage == null) return CultureInfo.CurrentCulture.ThreeLetterISOLanguageName; else return rpt.ClientLanguage; }
public object Evaluate(Report rpt, Row row) { object v = null; if (row == null) return null; bool bSave=true; RowEnumerable re = this.GetDataScope(rpt, row, out bSave); if (re == null) return null; Row crow=null; bool bNext=false; foreach (Row r in re) { if (bNext) { crow = r; break; } if (r == row) bNext = true; } if (crow != null) v = _Expr.Evaluate(rpt, crow); return v; }
public double EvaluateDouble(Report rpt, Row row) { bool bSave=true; IEnumerable re = this.GetDataScope(rpt, row, out bSave); if (re == null) return 0; int v = GetValue(rpt); if (v < 0) { object temp; int count=0; foreach (Row r in re) { temp = _Expr.Evaluate(rpt, r); if (temp != null) { count++; } } v = count; if (bSave) SetValue(rpt, v); } return (double) v; }
internal float GetX2(Report rpt) { float x2=GetOffsetCalc(rpt)+LeftCalc(rpt); if (Width != null) x2 += Width.Points; return x2; }
public double EvaluateDouble(Report rpt, Row row) { bool bSave=true; RowEnumerable re = this.GetDataScope(rpt, row, out bSave); if (re == null) return 0; int v = GetValue(rpt); if (v < 0) { object temp; int count = Math.Max(2, re.LastRow - re.FirstRow); Hashtable ht = new Hashtable(count); foreach (Row r in re) { temp = _Expr.Evaluate(rpt, r); if (temp != null) { object o = ht[temp]; // search for it if (o == null) // if not found; add it to the hash table { ht.Add(temp, temp); } } } v = ht.Count; if (bSave) SetValue(rpt, v); } return (double) v; }
public byte[] GetFileBytes(Report report) { var pages = report.BuildPages(); int width = (int)report.PageWidthPoints; int height = (int)report.PageHeightPoints; string filename = string.Format("gen-{0}.pdf", Guid.NewGuid()); try { using (Cairo.PdfSurface pdf = new Cairo.PdfSurface(filename, width, height)) { using (Cairo.Context g = new Cairo.Context(pdf)) { var render = new fyiReporting.RdlGtkViewer.RenderCairo(g); render.RunPages(pages); } } byte[] bytes = File.ReadAllBytes(filename); return bytes; } finally { if (File.Exists(filename)) { File.Delete(filename); } } }
internal void Save(Report rpt, System.IO.Stream stream, ImageFormat im) { if (_bm == null) Draw(rpt); _mf.Save(stream, im); // _bm.Save(stream, im); }
// Evaluate is for interpretation (and is relatively slow) public object Evaluate(Report rpt, Row row) { double d = EvaluateDouble(rpt, row); if (d.CompareTo(double.NaN) == 0) return null; return (object) d; }
TextWriter tw; // where the output is going #endregion Fields #region Constructors public RenderXml(Report rep, IStreamGen sg) { r = rep; tw = sg.GetTextWriter(); stkReportItem = new Stack(); stkContainers = new Stack(); }
internal void CleanUp(Report rpt) // closes any connections { foreach (DataSourceDefn ds in _Items.Values) { ds.CleanUp(rpt); } }
public object Evaluate(Report rpt, Row row) { bool bSave=true; IEnumerable re = this.GetDataScope(rpt, row, out bSave); if (re == null) return null; Row startrow=null; foreach (Row r in re) { startrow = r; // We just want the first row break; } object v = GetValue(rpt); object current_value = _Expr.Evaluate(rpt, row); if (row == startrow) {} else { if (current_value == null) return v; else if (v == null) {} else if (Filter.ApplyCompare(_tc, v, current_value) > 0) {} else return v; } SetValue(rpt, current_value); return current_value; }
IStreamGen _sg; // stream generater #endregion Fields #region Constructors public RenderExcel(Report rep, IStreamGen sg) { r = rep; _sg = sg; // We need this in future _Excel = new ExcelValet(); }
public double EvaluateDouble(Report rpt, Row row) { bool bSave=true; IEnumerable re = this.GetDataScope(rpt, row, out bSave); if (re == null) return double.NaN; Row startrow=null; foreach (Row r in re) { startrow = r; // We just want the first row break; } double currentValue = _Expr.EvaluateDouble(rpt, row); WorkClass wc = GetValue(rpt); if (row == startrow) { // must be the start of a new group wc.Value = currentValue; wc.Count = 1; } else { wc.Value = ((double) wc.Value + currentValue); wc.Count++; } return (double) wc.Value / wc.Count; }
// public virtual object Evaluate(Report rpt, Row row) { if (row == null) return null; Field f; string field = _ArgExpr.EvaluateString(rpt, row); if (field == null) return null; f = _Fields[field] as Field; if (f == null) return null; object o; if (f.Value != null) o = f.Value.Evaluate(rpt, row); else o = row.Data[f.ColumnNumber]; if (o == DBNull.Value) return null; if (f.RunType == TypeCode.String && o is char) // work around; mono odbc driver confuses string and char o = Convert.ChangeType(o, TypeCode.String); return o; }
internal void SupplyValues(Report rpt, out string[] displayValues, out object[] dataValues) { displayValues = new string[_Items.Count]; dataValues = new object[_Items.Count]; int index=0; // go thru the parameters extracting the data values foreach (ParameterValue pv in _Items) { if (pv.Value == null) dataValues[index] = null; else dataValues[index] = pv.Value.Evaluate(rpt, null); if (pv.Label == null) { // if label is null use the data value; if not provided use "" if (dataValues[index] == null) displayValues[index] = ""; else displayValues[index] = dataValues[index].ToString(); } else { displayValues[index] = pv.Label.EvaluateString(rpt, null); if (displayValues[index] == null) displayValues[index] = ""; } index++; } return; }
internal System.Drawing.Image Image(Report rpt) { if (_bm == null) Draw(rpt); return _bm; }
public ProcessReport(Report rep) { if (rep.rl.MaxSeverity > 4) throw new Exception("Report has errors. Cannot be processed."); r = rep; _sg = null; }
public ProcessReport(Report rep, IStreamGen sg) { if (rep.rl.MaxSeverity > 4) throw new Exception("Report has errors. Cannot be processed."); r = rep; _sg = sg; }
public ProcessReport(Report rep) { if (rep.rl.MaxSeverity > 4) throw new Exception(Strings.ProcessReport_Error_ReportHasErrors); r = rep; _sg = null; }
float _PageWidth; // default width for all pages public Pages(Report r) { _report = r; _pages = new List<Page>(); // array of Page objects _bm = new Bitmap(10, 10); // create a small bitmap to base our graphics _g = Graphics.FromImage(_bm); }
float _PageWidth; // default width for all pages public Pages(Report r) { _report = r; _pages = new List<Page>(); // array of Page objects _bm = Bitmap.CreateBitmap(10, 10, System.Drawing.Imaging.PixelFormat.Format16bppRgb565); // create a small bitmap to base our graphics _g = Graphics.FromImage(_bm); }
public void SetReport(Report report, Page pages) { this.pages = pages; this.report = report; this.MinHeight = (int)report.PageWidthPoints + (rep_padding * 2); this.MinWidth = (int)report.PageHeightPoints + (rep_padding * 2); }
public void SetReport(Report report, Page pages) { this.pages = pages; this.report = report; this.QueueResize(); GdkWindow.Invalidate(); }
public decimal EvaluateDecimal(Report rpt, Row row) { double d = EvaluateDouble(rpt, row); if (d.CompareTo(double.NaN) == 0) return decimal.MinValue; return Convert.ToDecimal(d); }
internal void Load(Report rpt) { foreach (ReportClass rc in _Items) { rc.Load(rpt); } return; }
private bool DoReportPreview() { if (tbReportSyntax.Text.Length < 1) { if (!DoReportSyntax()) { return(false); } } rdlViewer1.SourceRdl = tbReportSyntax.Text; fyiReporting.RDL.Report rpt = rdlViewer1.Report; fyiReporting.RDL.DataSet ds = rpt.DataSets["Data"]; ds.SetData(DataTableConvert.ToDataTable(this.DataEntity)); rdlViewer1.Rebuild(); return(true); }
public virtual bool EvaluateBoolean(Report rpt, Row row) { if (row == null) return false; return Convert.ToBoolean(Evaluate(rpt, row)); }
public int EvaluateInt32(Report rpt, Row row) { string result = EvaluateString(rpt, row); return(Convert.ToInt32(result)); }
public decimal EvaluateDecimal(Report rpt, Row row) { return(decimal.MinValue); }
// Evaluate is for interpretation (and is relatively slow) public object Evaluate(Report rpt, Row row) { return(EvaluateDouble(rpt, row)); }
public DateTime EvaluateDateTime(Report rpt, Row row) { double result = EvaluateDouble(rpt, row); return(Convert.ToDateTime(result)); }
public decimal EvaluateDecimal(Report rpt, Row row) { double result = EvaluateDouble(rpt, row); return(Convert.ToDecimal(result)); }
public bool EvaluateBoolean(Report rpt, Row row) { object result = Evaluate(rpt, row); return(Convert.ToBoolean(result)); }
internal float RunTextCalcHeight(Report rpt, Graphics g, Row row) { return(RunTextCalcHeight(rpt, g, row, null)); }
override internal void RunPage(Pages pgs, Row row) { Report r = pgs.Report; TextboxRuntime tbr = TextboxRuntime.GetTextboxRuntime(r, this); tbr.RunCount++; // Increment the run count bool bHidden = IsHidden(r, row); SetPagePositionBegin(pgs); string t; if (bHidden) { t = ""; } else { t = RunText(r, row); // get the text } bool bDup = RunTextIsDuplicate(tbr, t, pgs.CurrentPage); if (bDup) { if (!(this.IsTableOrMatrixCell(r))) // don't put out anything if not in Table or Matrix { bHidden = true; } t = ""; // still need to put out the cell } PageText pt; PageTextHtml pth = null; if (IsHtml(r, row)) { pt = pth = new PageTextHtml(t); } else { pt = new PageText(t); } SetPagePositionAndStyle(r, pt, row); if (this.CanGrow && tbr.RunHeight == 0) // when textbox is in a DataRegion this will already be called { this.RunTextCalcHeight(r, pgs.G, row, pt is PageTextHtml? pt as PageTextHtml: null); } pt.H = Math.Max(pt.H, tbr.RunHeight); // reset height if (pt.SI.BackgroundImage != null) { pt.SI.BackgroundImage.H = pt.H; // and in the background image } pt.CanGrow = this.CanGrow; // check TextAlign: if General then correct based on data type if (pt.SI.TextAlign == TextAlignEnum.General) { if (DataType.IsNumeric(this.Value.GetTypeCode())) { pt.SI.TextAlign = TextAlignEnum.Right; } } // Hidden objects don't affect the current page? if (!bHidden) { // Force page break if it doesn't fit on a page if (this.IsInBody && // Only force page when object directly in body pgs.CurrentPage.YOffset + pt.Y + pt.H >= pgs.BottomOfPage && // running off end of page !pgs.CurrentPage.IsEmpty()) // if page is already empty don't force new { // force page break if it doesn't fit on the page pgs.NextOrNew(); pgs.CurrentPage.YOffset = OwnerReport.TopOfPage; if (this.YParents != null) { pt.Y = 0; } } Page p = pgs.CurrentPage; RecordPageReference(r, p, row); // save information for late page header/footer references p.AddObject(pt); if (!bDup) { tbr.PreviousText = t; // previous text displayed tbr.PreviousPage = p; // page previous text was shown on } } SetPagePositionEnd(pgs, pt.Y + pt.H); if (pth != null) { pth.Reset(); } if (this.CanGrow && !Value.IsConstant()) { tbr.RunHeight = 0; // need to recalculate } }
internal void ResetPrevious(Report rpt) { TextboxRuntime tbr = TextboxRuntime.GetTextboxRuntime(rpt, this); ResetPrevious(tbr); }
public bool EvaluateBoolean(Report rpt, Row row) { string result = EvaluateString(rpt, row); return(Convert.ToBoolean(result)); }
// Evaluate is for interpretation (and is relatively slow) public object Evaluate(Report rpt, Row row) { return(EvaluateString(rpt, row)); }
public double EvaluateDouble(Report rpt, Row row) { string result = EvaluateString(rpt, row); return(Convert.ToDouble(result)); }
public decimal EvaluateDecimal(Report rpt, Row row) { string result = EvaluateString(rpt, row); return(Convert.ToDecimal(result)); }
public double EvaluateDouble(Report rpt, Row row) { object result = Evaluate(rpt, row); return(Convert.ToDouble(result)); }
public string EvaluateString(Report rpt, Row row) { object result = Evaluate(rpt, row); return(Convert.ToString(result)); }
internal int RunCount(Report rpt) { TextboxRuntime tbr = TextboxRuntime.GetTextboxRuntime(rpt, this); return(tbr.RunCount); }
public DateTime EvaluateDateTime(Report rpt, Row row) { string result = EvaluateString(rpt, row); return(Convert.ToDateTime(result)); }
public virtual double EvaluateDouble(Report rpt, Row row) { if (row == null) return Double.NaN; return Convert.ToDouble(Evaluate(rpt, row), NumberFormatInfo.InvariantInfo); }
public string EvaluateString(Report rpt, Row row) { double result = EvaluateDouble(rpt, row); return(result.ToString()); }
public virtual decimal EvaluateDecimal(Report rpt, Row row) { if (row == null) return decimal.MinValue; return Convert.ToDecimal(Evaluate(rpt, row), NumberFormatInfo.InvariantInfo); }
public bool EvaluateBoolean(Report rpt, Row row) { double result = EvaluateDouble(rpt, row); return(Convert.ToBoolean(result)); }
public virtual int EvaluateInt32(Report rpt, Row row) { if (row == null) return int.MinValue; return Convert.ToInt32(Evaluate(rpt, row), NumberFormatInfo.InvariantInfo); }
public string EvaluateString(Report rpt, Row row) { bool result = EvaluateBoolean(rpt, row); return(result.ToString()); }
public virtual string EvaluateString(Report rpt, Row row) { if (row == null) return null; return Convert.ToString(Evaluate(rpt, row)); }
private void SetValue(Report rpt, int i) { rpt.Cache.AddReplace(_key, new OInt(i)); }
public virtual DateTime EvaluateDateTime(Report rpt, Row row) { if (row == null) return DateTime.MinValue; return Convert.ToDateTime(Evaluate(rpt, row)); }
private int GetValue(Report rpt) { OInt oi = rpt.Cache.Get(_key) as OInt; return(oi == null? -1: oi.i); }
public void ClearCache(Report rpt) { rpt.Cache.Remove(_key); }