Пример #1
0
        public ActionResult KnowledgeManage(int numOnePage, int pageIndex, string state, string userGroupId)
        {
            using (RRDLEntities db = new RRDLEntities())
            {
                AriticleService ariticleService = new AriticleService();
                List<Ariticle> list = new List<Ariticle>();
                string s = state;
                int count = 0;
                int id = 0;
                id = Int32.Parse(userGroupId);
                switch (state)
                {
                    case null:
                    case "all":
                        if (userGroupId == "2")
                        {
                            Expression<Func<Ariticle, bool>> condition =
                                a => a.Approve.ApproveStatus == EnumAriticleApproveStatus.Approved
                                    || a.Approve.ApproveStatus == EnumAriticleApproveStatus.FailedApprove;
                            list = ariticleService.FindAriticlesManage(condition, numOnePage, pageIndex, db);
                            count = ariticleService.GetAriticleCount(condition);
                            break;
                        }
                        else
                        {
                            Expression<Func<Ariticle, bool>> condition =
                                a => (a.Approve.ApproveStatus == EnumAriticleApproveStatus.Approved
                                    || a.Approve.ApproveStatus == EnumAriticleApproveStatus.FailedApprove)
                                    && a.User.ContentGroupId == id;
                            list = ariticleService.FindAriticlesManage(condition, numOnePage, pageIndex, db);
                            count = ariticleService.GetAriticleCount(condition);
                            break;
                        }

                    case "AuditPass":
                        if (userGroupId == "2")
                        {
                            //list = ariticleService.FindAriticlesByApproveStatus(EnumAriticleApproveStatus.Approved,
                            //numOnePage, pageIndex, db);
                            //count = ariticleService.GetAriticleCount(EnumAriticleApproveStatus.Approved);
                            Expression<Func<Ariticle, bool>> condition =
                                a => a.Approve.ApproveStatus == EnumAriticleApproveStatus.Approved;
                            list = ariticleService.FindAriticlesManage(condition, numOnePage, pageIndex, db);
                            count = ariticleService.GetAriticleCount(condition);
                            break;
                        }
                        else
                        {
                            Expression<Func<Ariticle, bool>> condition =
                                a => a.Approve.ApproveStatus == EnumAriticleApproveStatus.Approved
                                    && a.User.ContentGroupId == id;
                            list = ariticleService.FindAriticlesManage(condition, numOnePage, pageIndex, db);
                            count = ariticleService.GetAriticleCount(condition);
                            break;
                        }
                    case "AuditUnqualified":
                        if (userGroupId == "2")
                        {
                            //list = ariticleService.FindAriticlesByApproveStatus(
                            //    EnumAriticleApproveStatus.FailedApprove, numOnePage, pageIndex, db);
                            //count = ariticleService.GetAriticleCount(EnumAriticleApproveStatus.FailedApprove);
                            Expression<Func<Ariticle, bool>> condition =
                                a => a.Approve.ApproveStatus == EnumAriticleApproveStatus.FailedApprove;
                            list = ariticleService.FindAriticlesManage(condition, numOnePage, pageIndex, db);
                            count = ariticleService.GetAriticleCount(condition);
                            break;
                        }
                        else
                        {
                            Expression<Func<Ariticle, bool>> condition =
                                a => a.Approve.ApproveStatus == EnumAriticleApproveStatus.FailedApprove
                                    && a.User.ContentGroupId == id;
                            list = ariticleService.FindAriticlesManage(condition, numOnePage, pageIndex, db);
                            count = ariticleService.GetAriticleCount(condition);
                            break;
                        }
                }
                List<AriticleViewModel> Viewlist = SimplifyAriticle(list);
                string result = JsonConvert.SerializeObject(Viewlist);
                result = result + "ContentAndCount" + count;
                return Content(result);
            }
        }