Пример #1
0
        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));
        }
Пример #2
0
        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));
        }