public override Task <MenutList> PageSerach(SearchMenu request, ServerCallContext context) { var query = _menu.GetAll().AsNoTracking(); if (SearchFilter(request) != null) { query = query.Where(SearchFilter(request)); } query = OrderFilter() != null ? query.OrderByDescending(OrderFilter()) : query.OrderByDescending(item => item.Id); var total = query.Count(); var result = query.Skip(request.PageMax * (request.PageIndex - 1)) .Take(request.PageMax) .ToList(); var date = new MenutList { Total = total }; ConvertToEntities(result).ForEach(item => { date.Datas.Add(item); }); return(Task.FromResult(date)); }
public override Task <MenutList> PageSerachMenu(SearchMenu request, ServerCallContext context) { var query = _menu.GetAll().AsNoTracking(); if (SearchFilter(request) != null) { query = query.Where(SearchFilter(request)); } query = OrderFilter() != null ? query.OrderByDescending(OrderFilter()) : query.OrderByDescending(item => item.Id); var total = query.Count(); var result = query.Skip(request.PageMax * (request.PageIndex - 1)) .Take(request.PageMax) .ToList(); var date = new MenutList { Total = total }; ConvertToEntities(result).ForEach(item => { JsonConvert.DeserializeObject <List <int> >(item.Operates).ForEach(operateId => { var operate = _operate.SingleOrDefault(ope => ope.Id == operateId); if (operate == null) { return; } item.OperateModels.Add(new OperateModel() { Id = operateId, Name = operate.Name }); }); date.Datas.Add(item); }); return(Task.FromResult(date)); }