Ejemplo n.º 1
0
        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()
            }));
        }
Ejemplo n.º 2
0
 public ActionResult Index(PagerRequest request, UserAuthSearchOption search)
 {
     return(List(request, search));
 }