Exemple #1
0
        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());
        }