public ComputeFuncFillSpecificColExp(PbExpressionImp pbImp)
 {
     if (pbImp.ExpressionType != PbExpressionType.ComputeFuncAndFillSpecificCol)
     {
         throw new Exception("PbExpressionType is not ComputeFuncAndFillSpecificCol !");
     }
     this.Expression = pbImp.Expression;
     this.Initial(pbImp.Expression);
 }
Exemple #2
0
 public IsMustInputExp(PbExpressionImp pbImp)
 {
     if (pbImp.ExpressionType != PbExpressionType.IsMustInput)
     {
         throw new Exception("PbExpressionType is not IsMustInput!");
     }
     this.Expression = pbImp.Expression;
     this.Initial(pbImp.Expression);
 }
Exemple #3
0
 public IsReadOnlyExp(PbExpressionImp pbImp)
 {
     if (pbImp.ExpressionType != PbExpressionType.IsReadOnly)
     {
         throw new Exception("PbExpressionType is not IsReadOnly!");
     }
     this.Expression = pbImp.Expression;
     this.Initial(pbImp.Expression);
 }
Exemple #4
0
 public IsVisibleExp(PbExpressionImp pbImp)
 {
     if (pbImp.ExpressionType != PbExpressionType.IsVisible)
     {
         throw new Exception("PbExpressionType is not IsVisible!");
     }
     this.Expression = pbImp.Expression;
     this.Initial(pbImp.Expression);
 }
Exemple #5
0
        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);
        }
Exemple #6
0
        //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);
            }
        }
Exemple #7
0
        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);
 }
Exemple #9
0
 public ComputeExpDisBodyColExp(PbExpressionImp pbImp)
 {
     this.Expression = pbImp.Expression;
     this.Initial(pbImp.Expression);
 }
Exemple #10
0
 public CheckBodyUnique(PbExpressionImp pbImp)
 {
     this.Expression = pbImp.Expression;
     this.Initial(pbImp.Expression);
 }
 public BillValidationComplexExp(PbExpressionImp pbImp)
 {
     this.Expression = pbImp.Expression;
     this.Initial(pbImp.Expression);
 }
Exemple #12
0
 public BillHeadUniqueCheck(PbExpressionImp pbImp)
 {
     this.Expression = pbImp.Expression;
     this.Initial(pbImp.Expression);
 }
Exemple #13
0
 public ExecuteSqlExp(PbExpressionImp pbImp)
 {
     this.Expression = pbImp.Expression;
     this.Expression = Expression.Replace("&", ",");
     this.Initial(pbImp.Expression);
 }
Exemple #14
0
        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;
            }
        }