/// <summary> /// 判断分类明是否已经存在(按用户过滤,排除自己) /// </summary> /// <param name="entity"></param> /// <param name="sc"></param> /// <returns></returns> private bool IsHasNameExcludeOneself(ModelClass entity, IServerContext sc) { Func <ServerContextInfo, bool> func = (scinfo) => { var oldEntity = this.GetDAL <IModelClassDAL>(sc).LoadData(entity.Id, sc); DbQuerySetting qs = new DbQuerySetting(); //where条件 DbQueryFieldGroupSetting where = new DbQueryFieldGroupSetting(); where.FieldCondition = new List <DbQueryFieldSetting>(); where.FieldCondition.Add(new DbQueryFieldSetting() { Name = "Name", Value = entity.Name, DataType = DbQueryFieldDataType.String, QueryType = DbQueryType.Equal }); //过滤当前 where.FieldCondition.Add(new DbQueryFieldSetting() { Name = "Id", DataType = DbQueryFieldDataType.String, Value = entity.Id, QueryType = DbQueryType.NotEqual }); List <DbQueryFieldGroupSetting> listWhere = new List <DbQueryFieldGroupSetting>(); listWhere.Add(where); qs.WhereCondition = listWhere; var result = this.GetDAL <IModelClassDAL>(sc).LoadDatas(qs, sc); int?count = result?.Count; return(count != null && count > 0); }; return(this.CallFuncForContextInfo <bool>(func, sc, "IsHasNameExcludeOneself", "判断是否重名")); }
/// <summary> /// 获取分类列表 /// </summary> /// <param name="sc"></param> /// <returns></returns> public List <ModelClass> GetUserClassList(IServerContext sc) { Func <ServerContextInfo, List <ModelClass> > func = (scinfo) => { DbQuerySetting qs = new DbQuerySetting(); //where条件 DbQueryFieldGroupSetting where = new DbQueryFieldGroupSetting(); where.FieldCondition = new List <DbQueryFieldSetting>(); //根据用户过滤 where.FieldCondition.Add(new DbQueryFieldSetting() { Name = "CreateUserId", Value = scinfo.UserId, DataType = DbQueryFieldDataType.String, QueryType = DbQueryType.Equal }); List <DbQueryFieldGroupSetting> listWhere = new List <DbQueryFieldGroupSetting>(); listWhere.Add(where); List <DbQueryOrderSetting> listOrder = new List <DbQueryOrderSetting>(); //按创建时间排序 listOrder.Add(new DbQueryOrderSetting() { Name = "CreateTime", IsASC = true }); qs.WhereCondition = listWhere; qs.OrderSetting = listOrder; return(this.GetDAL <IModelClassDAL>(sc).LoadDatas(qs, sc)); }; return(this.CallFuncForContextInfo <List <ModelClass> >(func, sc, "GetUserClassList", "获取用户模块分类列表失败")); }
/// <summary> /// 判断分类明是否已经存在(按用户过滤) /// </summary> /// <param name="name"></param> /// <param name="sc"></param> /// <returns></returns> private bool IsHasName(string name, IServerContext sc) { Func <ServerContextInfo, bool> func = (scinfo) => { DbQuerySetting qs = new DbQuerySetting(); //where条件 DbQueryFieldGroupSetting where = new DbQueryFieldGroupSetting(); where.FieldCondition = new List <DbQueryFieldSetting>(); //根据用户过滤 where.FieldCondition.Add(new DbQueryFieldSetting() { Name = "Name", Value = name, DataType = DbQueryFieldDataType.String, QueryType = DbQueryType.Equal }); where.FieldCondition.Add(new DbQueryFieldSetting() { Name = "CreateUserId", Value = scinfo.UserId, DataType = DbQueryFieldDataType.String, QueryType = DbQueryType.Equal }); List <DbQueryFieldGroupSetting> listWhere = new List <DbQueryFieldGroupSetting>(); listWhere.Add(where); qs.WhereCondition = listWhere; var result = this.GetDAL <IModelClassDAL>(sc).LoadDatas(qs, sc); int?count = result?.Count; return(count != null && count > 0); }; return(this.CallFuncForContextInfo <bool>(func, sc, "IsHasName", "判断是否重名")); }
/// <summary> /// 【设计时】更具创建用户获取模块列表,并按分类过滤 /// </summary> /// <param name="classId">分类ID</param> /// <param name="sc">上下文服务对象</param> /// <returns>存在返回集合,否则返回null</returns> public List <ModelDesignData> GetDesignDataListByUserAndClass(string classId, IServerContext sc) { Func <ServerContextInfo, List <ModelDesignData> > func = (scinfo) => { DbQuerySetting qs = new DbQuerySetting(); //where条件 DbQueryFieldGroupSetting where = new DbQueryFieldGroupSetting(); where.FieldCondition = new List <DbQueryFieldSetting>(); //根据用户过滤 where.FieldCondition.Add(new DbQueryFieldSetting() { Name = "AddUserId", Value = scinfo.UserId, DataType = DbQueryFieldDataType.String, QueryType = DbQueryType.Equal }); //根据分类过滤 where.FieldCondition.Add(new DbQueryFieldSetting() { Name = "ClassId", Value = classId, DataType = DbQueryFieldDataType.String, QueryType = DbQueryType.Equal }); List <DbQueryFieldGroupSetting> listWhere = new List <DbQueryFieldGroupSetting>(); listWhere.Add(where); List <DbQueryOrderSetting> listOrder = new List <DbQueryOrderSetting>(); //按创建时间倒序排序 listOrder.Add(new DbQueryOrderSetting() { Name = "AddTime", IsASC = false }); qs.WhereCondition = listWhere; qs.OrderSetting = listOrder; return(this.GetDAL <IModelDesignDataDAL>(sc).LoadDatas(qs, sc)); }; return(this.CallFuncForContextInfo <List <ModelDesignData> >(func, sc, "GetDesignDataList", "【设计时】获取模块列表")); }