public ActionResult Index(OperationParam op) { #region 验证登录 User loginUser = AccountHelper.LoginUser; if (loginUser == null) { return(RedirectToAction("Login", "Home", new { area = "" })); } ViewBag.LoginUser = loginUser; #endregion #region 验证权限 string pageId = "Index_Pictures"; //站点目录中的id属性值 if (!Access.Validate(pageId)) { return(HttpNotFound()); } ViewBag.PageId = pageId; #endregion #region 翻页、查询、排序、显示全部、移动、删除 ReturnValue returnValue = new ReturnValue(); Picture deleteData = null; switch (op.OpType) { case OperationType.Pager: break; case OperationType.Query: break; case OperationType.Sort: break; case OperationType.ShowAll: break; case OperationType.RankUp: break; case OperationType.Delete: deleteData = db.Pictures.Find(Guid.Parse(op.OpArgument)); if (deleteData == null) { returnValue.Type = ReturnType.DeleteFailure; returnValue.Message = ResultMessage.DeleteFailure; } else { try { db.Pictures.Remove(deleteData); db.SaveChanges(); returnValue.Type = ReturnType.DeleteSuccess; returnValue.Message = ResultMessage.DeleteSuccess; } catch { db.Entry(deleteData).State = EntityState.Unchanged; returnValue.Type = ReturnType.DeleteFailure; returnValue.Message = ResultMessage.DeleteFailure; } } OperationParam.Reset(ModelState); break; case OperationType.Deletes: string[] ids = op.OpArgument.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); bool success = true; foreach (string id in ids) { deleteData = db.Pictures.Find(Guid.Parse(id)); if (deleteData == null) { continue; } else { db.Pictures.Remove(deleteData); } try { db.SaveChanges(); } catch { db.Entry(deleteData).State = EntityState.Unchanged; success = false; } } if (success) { returnValue.Type = ReturnType.DeletesSuccess; returnValue.Message = ResultMessage.DeletesSuccess; } else { returnValue.Type = ReturnType.DeletesFailure; returnValue.Message = ResultMessage.DeletesFailure; } OperationParam.Reset(ModelState); break; } #endregion IQueryable <Picture> datas = QueryHelper.ExecuteQuery(db.Pictures, op.OpQueryString); //执行前台查询条件(延迟)。若有附加条件,后续添加.Where()子句 Pager pager = new Pager(datas.Count(), op.OpPager, null); //页码相关对象 ViewBag.Pager = pager; if (string.IsNullOrEmpty(op.OpSortProperty)) { op.OpSortProperty = "Name"; op.OpSortDirection = SortDirection.Ascending; } //首次打开页面的初始排序依据及方向 <需修改> IList <Picture> pictures = datas //.Include(s=>s.) //Include所有需要的导航属性和导航集合(含多级导航),一次性查询数据库 <需修改> .Sort(op.OpSortProperty, op.OpSortDirection) //排序 .GetPageData(pager) //选择当前页的数据 .ToList(); //执行查询 ViewBag.OperationParam = op; ViewBag.ReturnValue = returnValue.ToJson(); return(View(pictures)); }
public ActionResult Index(OperationParam op) { #region 验证登录 User loginUser = AccountHelper.LoginUser; if (loginUser == null) { return(RedirectToAction("Login", "Home", new { area = "" })); } ViewBag.LoginUser = loginUser; #endregion #region 验证权限 string pageId = "Index_Role";//站点目录中的id属性值 if (!Access.Validate(pageId)) { return(HttpNotFound()); } ViewBag.PageId = pageId; #endregion #region 除 ReturnValue returnValue = new ReturnValue(); switch (op.OpType) { case OperationType.Pager: break; case OperationType.Query: break; case OperationType.Sort: break; case OperationType.ShowAll: break; case OperationType.RankUp: break; case OperationType.Delete: try { Role role = db.Roles.Find(Guid.Parse(op.OpArgument)); if (role == null) { returnValue.Type = ReturnType.DeleteFailure; returnValue.Message = ResultMessage.DeleteFailure; } else { db.Roles.Remove(role); db.SaveChanges(); returnValue.Type = ReturnType.DeleteSuccess; returnValue.Message = ResultMessage.DeleteSuccess; } } catch { returnValue.Type = ReturnType.DeleteFailure; returnValue.Message = ResultMessage.DeleteFailure; } OperationParam.Reset(ModelState); break; case OperationType.Deletes: try { string[] ids = op.OpArgument.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach (string id in ids) { Role role = db.Roles.Find(Guid.Parse(id)); if (role == null) { continue; } else { db.Roles.Remove(role); } } db.SaveChanges(); returnValue.Type = ReturnType.DeletesSuccess; returnValue.Message = ResultMessage.DeletesSuccess; } catch { returnValue.Type = ReturnType.DeletesFailure; returnValue.Message = ResultMessage.DeletesFailure; } OperationParam.Reset(ModelState); break; } #endregion IQueryable <Role> datas = QueryHelper.ExecuteQuery(db.Roles, op.OpQueryString); //前台查询条件(延迟执行)。若附加条件,添加Where Pager pager = new Pager(datas.Count(), op.OpPager, null); //页码相关对象 ViewBag.Pager = pager; if (string.IsNullOrEmpty(op.OpSortProperty)) { op.OpSortProperty = "Name"; op.OpSortDirection = SortDirection.Descending; } //首次打开页面的初始排序依据及方向 <需修改> List <Role> roles = datas.Sort(op.OpSortProperty, op.OpSortDirection).GetPageData(pager).ToList(); //数据排序、执行查询 ViewBag.OperationParam = op; ViewBag.ReturnValue = returnValue.ToJson(); return(View(roles)); }