public async Task <IActionResult> DisplayAds(AdsVm ad) { var filteredAds = await driverSer.FilterAds(ad); var vm = new AdSearchVm { Ads = filteredAds }; return(View(vm)); }
public async Task <AdsVm[]> FilterAds(AdsVm adRequest) { var allAds = await appctx.Ad.ToArrayAsync(); List <AdsVm> filteredAds = new List <AdsVm>(); foreach (var ad in allAds.Where(a => a.DriverId == null)) { if (ad.Arequired && adRequest.Arequired || ad.Brequired && adRequest.Brequired || ad.Crequired && adRequest.Crequired || ad.Cerequired && adRequest.Cerequired || ad.Drequired && adRequest.Drequired ) { var company = appctx.Company.Where(c => c.Id == ad.CompanyId).SingleOrDefault(); var companyUser = await CompanySer.GetCompanyById(company.AspNetUsersId); filteredAds.Add(new AdsVm { Id = ad.Id, Header = ad.Header, Arequired = ad.Arequired, Brequired = ad.Brequired, Crequired = ad.Crequired, Cerequired = ad.Cerequired, Drequired = ad.Drequired, Description = ad.Description, Image = companyUser.Image, StartDate = ad.StartDate, EndDate = ad.EndDate.Value }); } } return(filteredAds.ToArray()); }