Ejemplo n.º 1
0
        public static List <Soway.Query.BoolExp.CompareOp> GetCompareType(Model.SqlCon con, PropertyType property)
        {
            var str = con.ToString();

            if (CopareCache.ContainsKey(str) == false)
            {
                CopareCache.Add(str, new Dictionary <PropertyType, List <Query.BoolExp.CompareOp> >());
            }
            var dics = CopareCache[str];

            if (dics.ContainsKey(property) == false)
            {
                dics.Add(property, new Soway.Query.BoolExp.CompareOpFac(str).GetSelectedType(property));
            }
            return(dics[property]);
        }
Ejemplo n.º 2
0
        public static List <Soway.Query.SelectType> GetSelectedType(Model.SqlCon con, PropertyType property)
        {
            var str = con.ToString();

            if (TypeCaches.ContainsKey(str) == false)
            {
                TypeCaches.Add(str, new Dictionary <PropertyType, List <Query.SelectType> >());
            }
            var dics = TypeCaches[str];

            if (dics.ContainsKey(property) == false)
            {
                dics.Add(property, new Soway.Query.SelectedTypeFac(str).GetSelectedType(property));
            }
            return(dics[property]);
        }
Ejemplo n.º 3
0
 public MessageFactory(Model.SqlCon con)
 {
     this.con   = con;
     this.model = ModelFac.Models.First(p => p.ClassName == "Soway.Event.Message");
 }
Ejemplo n.º 4
0
        public Soway.Query.BoolExp.BoolExpression GetQueryExp(Soway.Service.Report.BoolExp exp, QueryModel model, Model.SqlCon con, Soway.Query.QueryInstance ins)
        {
            Soway.Query.BoolExp.BoolExpresstionFacotry fac = new Query.BoolExp.BoolExpresstionFacotry(ins);
            var result = new BoolExpression();

            if (exp.Col != null)
            {
                //简单类型
                var col = model.Columns.First(p => p.ID == exp.Col.ID);

                result.Exp = fac.CreateBoolExpression(new Query.CompareCol()
                {
                    Col = col,
                    SelectedTableName = model.Table.ShowName
                }, QueryCache.GetCompareType(con, col.DataType).First(p => p.ID.ToString() == exp.CompareOp.ID), exp.ValueExp,
                                                      exp.ValueFmt, exp.ParamName);
            }
            else if (exp.FirstExp != null)
            {
                //复杂类型

                result =
                    GetQueryExp(exp.FirstExp, model, con, ins);
                foreach (var sequence in exp.Sequences)
                {
                    fac.AddBoolExpression(
                        result,
                        sequence.BoolOp,
                        GetQueryExp(sequence.AddedExp, model, con, ins));
                }
            }


            return(result);
        }
Ejemplo n.º 5
0
 public EventDefFactory(Model.SqlCon sqlCon)
 {
     this.SqlCon = sqlCon;
     this.model  = ModelFac.Models.First(p => p.ClassName == "Soway.Event.EventDefination");
 }