/// <summary> /// 获取模型的各种数量 /// </summary> /// <param name="condition"></param> public static void GetModelCount(IQueryCondition condition) { TableInfo ti = new TableInfo(condition.TableName); DataBaseForThinkment db = new DataBaseForThinkment(condition.TableName); try { int total = db.IDatabase.Total(ti.TableName, null); Criteria c = new Criteria(CriteriaType.Equals, "state", (int)ArticleStates.Started); int yetPublish = db.IDatabase.Total(ti.TableName, c); c = new Criteria(CriteriaType.Equals, "state", (int)ArticleStates.Stopped); int draft = db.IDatabase.Total(ti.TableName, c); c = new Criteria(CriteriaType.Equals, "state", (int)ArticleStates.Checking); int Checking = db.IDatabase.Total(ti.TableName, c); c = new Criteria(CriteriaType.Equals, "state", (int)ArticleStates.Overdued); int Overdued = db.IDatabase.Total(ti.TableName, c); Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("yetPublish", yetPublish.ToString()); dic.Add("draft", draft.ToString()); dic.Add("Checking", Checking.ToString()); dic.Add("Overdued", Overdued.ToString()); dic.Add("total", total.ToString()); condition.JsonMessage.Add(Enum_operType.Seach.ToString(), ti.ToJson(dic, false)); } catch (Exception ex) { We7.Framework.LogHelper.WriteLog(typeof(ExpandClass), ex); } }
public void SetTree(IQueryCondition condition) { TableInfo ti = new TableInfo(condition.TableName, condition.ID, condition.ConditionDic); IDataBaseAssiant IDatabase = new DataBaseForThinkment(condition.TableName).IDatabase; Order[] o; if (string.IsNullOrEmpty(condition.Sort)) { o = new Order[] { new Order(condition.PriMaryKeyName, OrderMode.Asc) } } ; else { o = new Order[] { new Order(condition.Sort, (OrderMode)condition.Sord), new Order(condition.PriMaryKeyName, OrderMode.Asc) } }; //处理排序(默认主键) try { List <TableInfo> aList = IDatabase.GetDtByCondition <TableInfo>(ti.TableName, condition.Condition, o, condition.Fields); if (condition.JoinInfo != null) { aList[0].Table = IDatabase.Join(aList[0].Table, condition); //表连接 } if (aList[0].Table != null) { if (!aList[0].Table.Columns.Contains(HASNODE_KEY)) { aList[0].Table.Columns.Add(HASNODE_KEY, typeof(Boolean)); //添加hasnode节点 } foreach (DataRow item in aList[0].Table.Rows) //处理hasnode { Criteria c = new Criteria(CriteriaType.Equals, condition.PIDKeyName, item[condition.PriMaryKeyName]); int childNodeCount = IDatabase.Total(ti.TableName, c); //获取子节点数目 item[HASNODE_KEY] = childNodeCount > 0 ? true : false; } } condition.JsonMessage.Add(Enum_operType.Seach.ToString(), aList[0].ToJson().Replace("{0}", condition.total.ToString()).Replace("{1}", "200").Replace("{2}", "数据成功返回").Replace("{3}", condition.Page.ToString()).Replace("{4}", condition.totalPage.ToString())); //查询结果特殊处理 } catch (Exception ex) { QueryCondition.SetMessage(condition, condition.TableName, true, "查询", ex.Message); We7.Framework.LogHelper.WriteLog(typeof(JsonResult), ex); } } }