Пример #1
0
        public ActionResult List(PagerRequest request, SectionSearchOption search)
        {
            int totalCount;
            var linq = _sectionRepo.Get(s => (!search.SId.HasValue || search.SId.Value == s.Id) &&
                                        (string.IsNullOrEmpty(search.Name) || s.Name.StartsWith(search.Name)) &&
                                        (!search.BrandId.HasValue || search.BrandId.Value == s.BrandId) &&
                                        (!search.StoreId.HasValue || search.StoreId.Value == s.StoreId) &&
                                        s.Status != (int)DataStatus.Deleted
                                        , out totalCount
                                        , request.PageIndex
                                        , request.PageSize
                                        , e => e.OrderByDescending(o => o.CreateDate));
            var data = linq.Join(_storeRepo.GetAll(), o => o.StoreId, i => i.Id, (o, i) => new { S = o, Store = i })
                       .Join(_brandRepo.GetAll(), o => o.S.BrandId, i => i.Id, (o, i) => new { S = o.S, Store = o.Store, B = i })
                       .ToList()
                       .Select(l => new SectionViewModel().FromEntity <SectionViewModel>(l.S, p => {
                p.Store = new StoreViewModel().FromEntity <StoreViewModel>(l.Store);
                p.Brand = new BrandViewModel().FromEntity <BrandViewModel>(l.B);
            }));


            var v = new Pager <SectionViewModel>(request, totalCount)
            {
                Data = data.ToList()
            };

            return(View("List", v));
        }
Пример #2
0
 public ActionResult Index(PagerRequest request, SectionSearchOption search)
 {
     return(List(request, search));
 }