Ejemplo n.º 1
0
        /// <summary>
        /// 获取指定范围的所有数据
        /// </summary>
        /// <param name="deletedDataType">删除数据范围</param>
        /// <param name="enterpriseDataType">企业数据范围</param>
        /// <returns></returns>
        public virtual IQueryable <T> GetAll(DeletedDataType deletedDataType = DeletedDataType.UnDeletedOnly, EnterpriseDataType enterpriseDataType = EnterpriseDataType.CurrentAndSubs)
        {
            var model = _dbset as IQueryable <T>;

            if (typeof(IEnterprise).IsAssignableFrom(typeof(T)))
            {
                switch (enterpriseDataType)
                {
                case EnterpriseDataType.CurrentOnly:
                    model = model.Where("EnterpriseId=\"" + _userInfo.EnterpriseId + "\"");
                    break;

                case EnterpriseDataType.CurrentAndSubs:
                    model = model.Where("EnterpriseId.StartsWith(\"" + _userInfo.EnterpriseId + "\")");
                    break;

                default:
                    model = model.Where("EnterpriseId.StartsWith(\"100\")");
                    break;
                }
            }

            if (typeof(IDbSetBase).IsAssignableFrom(typeof(T)))
            {
                switch (deletedDataType)
                {
                case DeletedDataType.UnDeletedOnly:
                    model = model.Where("Deleted=false");
                    break;

                case DeletedDataType.DeletedOnly:
                    model = model.Where("Deleted=true");
                    break;

                default:
                    break;
                }

                model = model.OrderBy("CreatedDate desc, CreatedTime desc");
            }

            if (typeof(IUserDictionary).IsAssignableFrom(typeof(T)))
            {
                model = model.OrderBy("SystemId");
            }

            return(model);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 获取指定条件的数据
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <param name="deletedDataType">删除数据范围</param>
 /// <param name="enterpriseDataType">企业数据范围</param>
 /// <returns></returns>
 public virtual IQueryable <T> GetAll(Expression <Func <T, bool> > where, DeletedDataType deletedDataType = DeletedDataType.UnDeletedOnly, EnterpriseDataType enterpriseDataType = EnterpriseDataType.CurrentAndSubs)
 {
     return(GetAll(deletedDataType, enterpriseDataType).Where(where));
 }