示例#1
0
        /// <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", "判断是否重名"));
        }
示例#2
0
        /// <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", "获取用户模块分类列表失败"));
        }
示例#3
0
        /// <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", "判断是否重名"));
        }
示例#4
0
        /// <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", "【设计时】获取模块列表"));
        }