public ActionResult ManageAds(string SearchString, int page = 1) { //string uId = User.Identity.GetUserId(); ViewBag.Views = db.Views; var Ads = db.Ads.OfType <Ad>().Where(ad => !ad.Confirmed); if (!String.IsNullOrEmpty(SearchString)) { Ads = Ads.Where(a => a.City.Name.ToUpper().Contains(SearchString.ToUpper()) || a.AdDescribtion.ToUpper().Contains(SearchString.ToUpper()) || a.AdTitle.ToUpper().Contains(SearchString.ToUpper())); } //pagination steps int pageSize = 6; var pager = new Pager(Ads.Count(), page, pageSize); MyAdsViewModel MyAds = new MyAdsViewModel() { Ads = Ads.OrderBy(a => a.Date).Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(), Pager = pager, SearchString = SearchString, }; return(View(MyAds)); }
public async Task <ActionResult <MyAdsViewModel> > List() { MyAdsViewModel vm = new MyAdsViewModel(); vm.Families = (await _adsUnitOfWork.FamiliesRepository.GetAll()).ToList(); var countryTmp = (await functionalUnitOfWork.CountriesRepository.GetCountries("fr")).ToList(); vm.Countries = _mapper.Map <List <Country>, List <CountryViewModel> >(countryTmp); var adtmp = (await functionalUnitOfWork.AdRepository.GetAll(true)).ToList(); vm.Ads = _mapper.Map <List <AdModel>, List <AdViewModel> >(adtmp); return(Ok(vm)); }
private async Task RefeshResultFilter() { MyAdsViewModel x = new MyAdsViewModel(); x.ListCodeCountrySelected = RefAds?.Countries?.Where(x => x.Selected).Select(c => c.Eeacode).ToList() ?? new List <string>(); x.ListIdCategorySelected = FamilySelected?.Categories.Where(x => x.Selected).Select(c => c.CategoryId).ToList() ?? new List <Guid>(); x.searchTxt = searchTxt ?? ""; var getFamily = await HttpClient.PostAsJsonAsync($"/api/Ads/search", x); getFamily.EnsureSuccessStatusCode(); var json = await getFamily.Content.ReadAsStringAsync(); AdsTmp = RefAds.Ads = JsonConvert.DeserializeObject <List <AdViewModel> >(json); await InvokeAsync(StateHasChanged); }
public ActionResult MyAds(string SearchString, string sortBy, int page = 1) { string uId = User.Identity.GetUserId(); string adminId = db.Users.Where(u => u.UserType.Equals("Admin")).Select(u => u.Id).FirstOrDefault(); ViewBag.adminId = adminId; var Ads = db.Ads.OfType <Ad>().Where(ad => ad.UserId.Equals(uId)); if (!String.IsNullOrEmpty(SearchString)) { Ads = Ads.Where(a => a.City.Name.ToUpper().Contains(SearchString.ToUpper()) || a.AdDescribtion.ToUpper().Contains(SearchString.ToUpper()) || a.AdTitle.ToUpper().Contains(SearchString.ToUpper())); } switch (sortBy) { case "Active": Ads = Ads.Where(a => a.Confirmed); break; case "Inactive": Ads = Ads.Where(a => !a.Confirmed); break; default: break; } //pagination steps int pageSize = 6; var pager = new Pager(Ads.Count(), page, pageSize); MyAdsViewModel MyAds = new MyAdsViewModel() { Ads = Ads.OrderBy(a => a.Date).Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(), Pager = pager, SearchString = SearchString, }; MyAds.Sorts = new Dictionary <string, string> { { "Active", "Active" }, { "Inactive", "Inactive" } }; return(View(MyAds)); }
protected override async Task OnInitializedAsync() { await jSRuntime.InvokeVoidAsync("outsideClickHandler", "dropdownmenu", DotNetObjectReference.Create(this)); AuthenticateSate = await authenticationStateTask; if (AuthenticateSate.User.Identity.IsAuthenticated) { User = AuthenticateSate.User; } var getAds = await HttpClient.GetAsync("/api/Ads"); getAds.EnsureSuccessStatusCode(); var json = await getAds.Content.ReadAsStringAsync(); RefAds = JsonConvert.DeserializeObject <MyAdsViewModel>(json); AdsTmp = RefAds.Ads.Where(a => a.OwnerId == User.Id).ToList(); await base.OnInitializedAsync(); }
public async Task <ActionResult> search(MyAdsViewModel model) { try { var listIdsUsers = _userManager.Users.Where(x => (model.ListCodeCountrySelected.Contains(x.Country) || model.ListCodeCountrySelected.Count == 0) && x.EmailConfirmed).Select(c => c.Id).ToList(); var listAd = await functionalUnitOfWork.AdRepository.Where(x => listIdsUsers.Contains(x.OwnerId) && x.Title.Contains(model.searchTxt)); var listFiltered = await _adsUnitOfWork.CategoryAdRepository.Where(x => listAd.Select(c => c.Id).Contains(x.AdId) && (model.ListIdCategorySelected.Contains(x.CategoryId) || model.ListIdCategorySelected.Count == 0)); listAd = listAd.Where(x => listFiltered.Select(c => c.AdId).Contains(x.Id)).ToList(); return(Ok(listAd)); } catch (Exception ex) { throw; } return(Ok()); }