public ComputeFuncFillSpecificColExp(PbExpressionImp pbImp) { if (pbImp.ExpressionType != PbExpressionType.ComputeFuncAndFillSpecificCol) { throw new Exception("PbExpressionType is not ComputeFuncAndFillSpecificCol !"); } this.Expression = pbImp.Expression; this.Initial(pbImp.Expression); }
public IsMustInputExp(PbExpressionImp pbImp) { if (pbImp.ExpressionType != PbExpressionType.IsMustInput) { throw new Exception("PbExpressionType is not IsMustInput!"); } this.Expression = pbImp.Expression; this.Initial(pbImp.Expression); }
public IsReadOnlyExp(PbExpressionImp pbImp) { if (pbImp.ExpressionType != PbExpressionType.IsReadOnly) { throw new Exception("PbExpressionType is not IsReadOnly!"); } this.Expression = pbImp.Expression; this.Initial(pbImp.Expression); }
public IsVisibleExp(PbExpressionImp pbImp) { if (pbImp.ExpressionType != PbExpressionType.IsVisible) { throw new Exception("PbExpressionType is not IsVisible!"); } this.Expression = pbImp.Expression; this.Initial(pbImp.Expression); }
public BillValidationExp(PbExpressionImp pbImp) { //去掉运算符中空格,然后=替换成== pbImp.Expression = pbImp.Expression.Replace("< >", "<>").Replace("<>", "!=").Replace("> =", ">=").Replace("< =", "<="); pbImp.Expression = pbImp.Expression.Replace("!=", "*#1").Replace(">=", "*#2").Replace("<=", "*#3"); pbImp.Expression = pbImp.Expression.Replace("=", "==").Replace(" and ", " && ").Replace(" or ", " || "); pbImp.Expression = pbImp.Expression.Replace("*#1", "!=").Replace("*#2", ">=").Replace("*#3", "<="); this.Expression = pbImp.Expression; this.Initial(this.Expression); }
//pb表达式转换为前台代码 可见、必输、保护 public void ConvertExpression(PbExpressionImp PbImp, string type, string colname) { string expression = string.Empty; string temptype = string.Empty; if (string.IsNullOrEmpty(PbImp.Expression)) { return; } try { temptype = type; switch (PbImp.ExpressionType) { case PbExpressionType.IsVisible: { IsVisibleExp colExp = new IsVisibleExp(PbImp); expression = colExp.GetCodeFromExp(tableRelation, colRelation, colname); break; } case PbExpressionType.IsMustInput: { IsMustInputExp colExp = new IsMustInputExp(PbImp); expression = colExp.GetCodeFromExp(tableRelation, colRelation); break; } case PbExpressionType.IsReadOnly: { IsReadOnlyExp colExp = new IsReadOnlyExp(PbImp); expression = colExp.GetCodeFromExp(tableRelation, colRelation, colname); break; } default: break; } } catch (Exception e) { Logger.Error("ConvertExpression: type:" + PbImp.ExpressionType.ToString() + "\r\n" + e.StackTrace); } if (!string.IsNullOrEmpty(expression) && !expressions.ContainsKey(expression)) { expressions.Add(expression, temptype); } }
private static PbExpressionImp ParseExpression(string expressionStr) { PbExpressionImp pbExpressionImp = new PbExpressionImp(); string str = expressionStr.Trim(); int index = str.IndexOf("=", StringComparison.OrdinalIgnoreCase); str = str.Remove(0, index + 1); index = str.IndexOf(";", StringComparison.OrdinalIgnoreCase); string rule = str.Substring(0, index); pbExpressionImp.ExpressionType = (PbExpressionType)Convert.ToInt32(rule); str = str.Remove(0, index + 1); str = str.Replace("@", "="); str = str.Replace("\r\n", ""); pbExpressionImp.Expression = str; return(pbExpressionImp); }
public ComputeSqlFillSpecificBodyColExp(PbExpressionImp pbImp) { this.Expression = pbImp.Expression; this.Expression = Expression.Replace("&", ","); this.Initial(pbImp.Expression); }
public ComputeExpDisBodyColExp(PbExpressionImp pbImp) { this.Expression = pbImp.Expression; this.Initial(pbImp.Expression); }
public CheckBodyUnique(PbExpressionImp pbImp) { this.Expression = pbImp.Expression; this.Initial(pbImp.Expression); }
public BillValidationComplexExp(PbExpressionImp pbImp) { this.Expression = pbImp.Expression; this.Initial(pbImp.Expression); }
public BillHeadUniqueCheck(PbExpressionImp pbImp) { this.Expression = pbImp.Expression; this.Initial(pbImp.Expression); }
public ExecuteSqlExp(PbExpressionImp pbImp) { this.Expression = pbImp.Expression; this.Expression = Expression.Replace("&", ","); this.Initial(pbImp.Expression); }
private static void CommonAssignment(PbBaseTextInfo baseTextInfo, DwDbColumn dwDbColumn, DwText dwText, DwColumn dc, SqlDbType dbType, string dwAuthName) { try { if (string.IsNullOrEmpty(dwAuthName)) { baseTextInfo.FullName = dc.Name; } else { baseTextInfo.FullName = dwAuthName + "." + dc.Name; } baseTextInfo.Height = dc.Height; baseTextInfo.MaxLength = dc.MaxLength; baseTextInfo.Name = dc.Name; baseTextInfo.TextColor = dc.Color; baseTextInfo.Visible = dc.Visible; baseTextInfo.DefaultValue = dc.DefaultValue; baseTextInfo.Tag = dc.Tag; baseTextInfo.Format = dc.Format; baseTextInfo.EditMask = dc.EditMask; //赋上必输和保护 baseTextInfo.IsMustInput = dc.Mustinput; baseTextInfo.IsProtect = dc.Protect; baseTextInfo.SingleText = dc.SingleText; //是否为单独标签 baseTextInfo.TextArea = dc.TextArea; //是否为多行文本框 baseTextInfo.ColSpan = dc.ColSpan; //列占位数 baseTextInfo.MultiSelect = dc.MultiSelect; //是否多选帮助 baseTextInfo.YPos = dc.YPos; baseTextInfo.Color = dc.Color; //设置grid某一列字体的颜色 baseTextInfo.backgroundColor = dc.BackgroundColor; //设置grid某一列背景颜色 //设置列的保护属性表达式 if (dc.ProtectExp.Contains("if")) { PbExpressionImp pbExpressionImp = new PbExpressionImp(); pbExpressionImp.Expression = dc.ProtectExp; pbExpressionImp.ExpressionType = (PbExpressionType)17; baseTextInfo.IsReadOnlyExpressionImp = pbExpressionImp; } if (dwText == null) { baseTextInfo.LeftText = string.Empty; baseTextInfo.XPos = dc.XPos; baseTextInfo.Width = dc.Width; baseTextInfo.LabelWidth = dc.Width; } else { baseTextInfo.LeftText = dwText.Text; baseTextInfo.XPos = dwText.XPos; baseTextInfo.LabelTextColor = dwText.LabelTextColor; if (dc.ControlType == DwControlType.CheckBoxEdit && dc.XPos < dwText.XPos)//checkbox的情况要单独讨论,考虑到标签是在选择框的右边。 { baseTextInfo.Width = dwText.XPos + dwText.Width - dc.XPos; baseTextInfo.LabelWidth = dwText.Width + dc.Width; } else { baseTextInfo.Width = dc.XPos - dwText.XPos + dc.Width; if (dc.XPos == dwText.XPos) { baseTextInfo.LabelWidth = dc.Width; } else { baseTextInfo.LabelWidth = dc.XPos - dwText.XPos; } } } baseTextInfo.ColumnInfo.ColumnDataType = dbType; string[] arrayStr = dwDbColumn.DbName.Split('.'); Debug.Assert(arrayStr.Length == 2); baseTextInfo.ColumnInfo.ColumnName = arrayStr[1]; if (string.IsNullOrEmpty(dwAuthName)) { baseTextInfo.ColumnInfo.TableName = arrayStr[0]; } else { baseTextInfo.ColumnInfo.TableName = dwAuthName; } //if (!string.IsNullOrEmpty(dwDbColumn.SummaryType)) //{ // switch (dwDbColumn.SummaryType) // { // case "avg": // dwDbColumn.SummaryType = "average"; // break; // case "count": // dwDbColumn.SummaryType = "count"; // break; // case "max": // dwDbColumn.SummaryType = "max"; // break; // case "min": // dwDbColumn.SummaryType = "min"; // break; // case "sum": // dwDbColumn.SummaryType = "sum"; // break; // } // baseTextInfo.SummaryType = dwDbColumn.SummaryType; //} } catch (Exception ex) { string msg = ex.Message; throw; } }