Пример #1
0
        public SearchMetadata <VmGame> Search(VmGameSearch condition)
        {
            var total = 0L;
            var games = this._service.SearchGame(condition, out total);

            return(new SearchMetadata <VmGame>(games, total));
        }
Пример #2
0
        public List <VmGame> SearchGame(VmGameSearch condition, out long total)
        {
            var          repository = base.UnitOfWork.Repository <Game>();
            GameCategory category   = (GameCategory)Convert.ToInt32(condition.Category);
            var          query      = from gameInfo in repository.Queryable()
                                      select gameInfo;

            if (category != GameCategory.All)
            {
                query = query.Where(m => m.Info.Category == category);
            }
            if (!string.IsNullOrEmpty(condition.Name))
            {
                query = query.Where(m => m.Info.Name.Contains(condition.Name));
            }
            total = query.Count();
            return(query.Select(m => new VmGame
            {
                Id = m.Id,
                Name = m.Info.Name,
                Description = m.Info.Description,
                Category = m.Info.Category,
                Rule = m.Info.Rule,
                Author = m.Info.Author.Name,
                AuthorId = m.Info.AuthorId
            }).ToList());
        }