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]); }
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]); }
public MessageFactory(Model.SqlCon con) { this.con = con; this.model = ModelFac.Models.First(p => p.ClassName == "Soway.Event.Message"); }
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); }
public EventDefFactory(Model.SqlCon sqlCon) { this.SqlCon = sqlCon; this.model = ModelFac.Models.First(p => p.ClassName == "Soway.Event.EventDefination"); }