public ActionResult List(PagerRequest request, UserAuthSearchOption search) { int totalCount; var data = _authRepo.Get(e => (!search.Type.HasValue || e.Type == search.Type.Value) && (!search.BrandId.HasValue || e.BrandId == search.BrandId.Value) && (!search.StoreId.HasValue || e.StoreId == search.StoreId.Value) && (!search.UserId.HasValue || e.UserId == search.UserId.Value) && e.Status != (int)DataStatus.Deleted , out totalCount , request.PageIndex , request.PageSize , e => { if (!search.OrderBy.HasValue) return e.OrderByDescending(o => o.CreatedDate); else { switch (search.OrderBy.Value) { case GenericOrder.OrderByCreateUser: return e.OrderByDescending(o => o.CreatedUser); case GenericOrder.OrderByName: case GenericOrder.OrderByCreateDate: default: return e.OrderByDescending(o => o.CreatedDate); } } }); var models = data.Join(_customerRepo.GetAll(),o=>o.UserId,i=>i.Id,(o,i)=>new {UA=o,U=i}) .GroupJoin(_storeRepo.GetAll(),o=>o.UA.StoreId,i=>i.Id,(o,i)=>new {UA=o.UA,U=o.U,S=i.FirstOrDefault()}) .GroupJoin(_brandRep.GetAll(),o=>o.UA.BrandId,i=>i.Id,(o,i)=>new {UA=o.UA,U=o.U,S=o.S,B=i.FirstOrDefault()}) .ToList() .Select(o=>new UserAuthViewModel(){ Id = o.UA.Id , BrandId = o.UA.BrandId , StoreId = o.UA.StoreId , Type = o.UA.Type , BrandName = o.B==null?"所有":o.B.Name , UserId = o.UA.UserId ,UserNick = o.U.Nickname , StoreName = o.S == null ? "所有" : o.S.Name ,Status = o.UA.Status.Value }); return View("List", new Pager<UserAuthViewModel>(request, totalCount) { Data=models.ToList()}); }
public ActionResult Index(PagerRequest request,UserAuthSearchOption search) { return List(request,search); }