Пример #1
0
        /// <summary>
        /// 验证用户是否有审核权限
        /// </summary>
        /// <param name="ariticleId"></param>
        /// <param name="userId"></param>
        public bool ValidateApproveAuthority(string ariticleId, string userId)
        {
            bool canApprove=false;
            User user;
            using (UserRepository userRepository = new UserRepository())
            {
                user = userRepository.FindByID(userId);
                if (user == null)
                    throw new Exception("审核失败,找不到userId对应的用户对象");
                if(user.AuthorityCategory==EnumUserCategory.Membership||
                    user.AuthorityCategory==EnumUserCategory.Visitor)
                    throw new Exception("审核失败,用户不具有审核权限");
            }
            Ariticle ariticle;
            using (AriticleRepository ariticleRepository = new AriticleRepository())
            {
                ariticle = ariticleRepository.FindById(ariticleId);
                ariticleRepository.Db.Entry(ariticle).Reference(a => a.User).Load();
                if (ariticle == null)
                    throw new Exception("审核失败,无法找到对应的文章");
            }

            if (user.AuthorityCategory == EnumUserCategory.Superman
                && ariticle != null)
            {
                //超级管理员具有审核所有文章的权限
                canApprove = true;
            }
            if (user.AuthorityCategory == EnumUserCategory.Administrator &&
                ariticle != null && ariticle.User.ContentGroupId == user.ContentGroupId)
            {
                //普通管理员具有审核其所在分组文章的权限
                canApprove = true;
            }
            return canApprove;
        }
Пример #2
0
 //2014年1月2日15:38:36 郭毅
 public ActionResult GetNewestAriticles(int count, string userId) 
 {
     IQueryable<Ariticle> ariticles;
     List<Ariticle> ariticleList;
     List<AriticleViewModel> newestAriticleList = new List<AriticleViewModel>();
     AriticleRepository ariticleRepository = new AriticleRepository();
     ariticles = ariticleRepository.FindAll();
     ariticles = ariticles.Where(a => a.Approve.ApproveStatus == EnumAriticleApproveStatus.Approved);
     ariticles = ariticles.OrderByDescending(a => a.Createtime);
     ariticleList = ariticles.ToList();
     if (userId == "null") {
         userId = null;
     }
     ariticleList = isVisibilityUser(ariticleList, userId);
     
     newestAriticleList = SimplifyAriticle(count,ariticleList);
     string result = JsonConvert.SerializeObject(newestAriticleList);
     return Content(result);
 }