public IActionResult Ads(string id) { if (User.IsInRole("Admin")) { ICollection <Ad> ads = _repo.GetAllAds(); return(View(ads)); } else { ICollection <Ad> ads = _repo.GetAdsByUser(id); return(View(ads)); } }
public async Task <IActionResult> Index(Guid user, DateTime from, DateTime to, string searchStr, string sortStr, int pageSize = 3, int page = 1) { ViewBag.Users = new SelectList(_userRepository.GetAllUsers(), "Id", "Name"); IQueryable <Ad> source = _adRepository.GetAllAds(); //filtering if (user != Guid.Empty) { source = source.Where(x => x.UserId == user); } if (from != DateTime.MinValue && to != DateTime.MinValue) { source = source.Where(x => x.CreationDate > from && x.CreationDate < to); } if (!string.IsNullOrEmpty(searchStr)) { source = source.Where(x => x.Content.Contains(searchStr) || x.User.Name.Contains(searchStr)); } ViewBag.Num = sortStr == "numAsc" ? "numDesc" : "numAsc"; ViewBag.Date = sortStr == "dateAsc" ? "dateDesc" : "dateAsc"; ViewBag.Cont = sortStr == "contAsc" ? "contDesc" : "contAsc"; ViewBag.Rate = sortStr == "rateAsc" ? "rateDesc" : "rateAsc"; ViewBag.Usr = sortStr == "usrAsc" ? "usrDesc" : "usrAsc"; ViewBag.OrderBy = sortStr; ViewBag.PageSize = pageSize; switch (sortStr) { case "numAsc": source = source.OrderBy(x => x.Number); break; case "numDesc": source = source.OrderByDescending(x => x.Number); break; case "dateAsc": source = source.OrderBy(x => x.CreationDate); break; case "dateDesc": source = source.OrderByDescending(x => x.CreationDate); break; case "contAsc": source = source.OrderBy(x => x.Content); break; case "contDesc": source = source.OrderByDescending(x => x.Content); break; case "rateAsc": source = source.OrderBy(x => x.Rating); break; case "rateDesc": source = source.OrderByDescending(x => x.Rating); break; case "usrAsc": source = source.OrderBy(x => x.User.Name); break; case "usrDesc": source = source.OrderByDescending(x => x.User.Name); break; default: break; } //model.; var T = new IndexViewModel { Ads = await PaginatedList <Ad> .CreateAsync(source, page, pageSize), FilterViewModel = new FilterViewModel(_userRepository.GetAllUsers().ToList(), user, searchStr, from, to) }; return(View(T)); }
public IList <BaseAd> GetAllAds() { return(_adRepository.GetAllAds()); }