示例#1
0
        private IQueryable <Orphanage> GetFiltered(IQueryable <Orphanage> orphanages,
                                                   OrphanageSearchModel searchModel)
        {
            if (searchModel != null)
            {
                _searchModel = searchModel;

                if (!string.IsNullOrEmpty(searchModel.NameString))
                {
                    orphanages = orphanages.Where(x => x.Name.Contains(searchModel.NameString));
                }

                if (!string.IsNullOrEmpty(searchModel.AddressString))
                {
                    orphanages = orphanages.Where(x => Contains(x.Adress));
                }

                if (searchModel.RatingNumber > 0)
                {
                    orphanages = orphanages.Where(x => x.Rating >= searchModel.RatingNumber);
                }
            }
            GetViewData();

            return(orphanages);
        }
示例#2
0
        public async Task <IActionResult> Index(int id, OrphanageSearchModel searchModel,
                                                SortStateOrphanages sortOrder = SortStateOrphanages.NameAsc)
        {
            IQueryable <Orphanage> orphanages = _unitOfWorkAsync.Orphanages.GetAll();

            orphanages = GetFiltered(orphanages, searchModel);
            orphanages = GetSorted(orphanages, sortOrder);

            if (id == 0)
            {
                return(View(await orphanages.ToListAsync()));
            }

            if (id > 0)
            {
                orphanages = orphanages.Where(x => x.ID.Equals(id));
            }

            return(View(await orphanages.ToListAsync()));
        }