public async Task <IEnumerable <IntezmenyPinDto> > GetIntezmenyekAsync(IntezmenySearchParams searchParams) { IQueryable <Intezmeny> intezemenyQuery = context.Intezmenyek .Include(i => i.Esemenyek) .Include(i => i.IntezmenyHelyszinek) .Include(i => i.IntezmenyVezetok); if (!String.IsNullOrEmpty(searchParams.IntezmenyCim)) { intezemenyQuery = intezemenyQuery.Where(i => i.IntezmenyHelyszinek.Any(ih => ih.Helyszin.ToLower().Contains(searchParams.IntezmenyCim.ToLower()))); } if (!String.IsNullOrEmpty(searchParams.IntezmenyNev)) { intezemenyQuery = intezemenyQuery.Where(i => i.Nev.ToLower().Contains(searchParams.IntezmenyNev.ToLower())); } //TODO: idot is nezzen ha kell(nincs tisztazva) if (!String.IsNullOrEmpty(searchParams.IntezmenyVezeto)) { intezemenyQuery = intezemenyQuery.Where(i => i.IntezmenyVezetok.Any(iv => iv.Nev.ToLower().Contains(searchParams.IntezmenyVezeto.ToLower()))); } if (!String.IsNullOrEmpty(searchParams.EsemenyNev)) { intezemenyQuery = intezemenyQuery.Where(i => i.Esemenyek.Any(es => es.Nev.ToLower().Contains(searchParams.EsemenyNev.ToLower()))); } if (searchParams.IntezmenyTipus != null) { intezemenyQuery = intezemenyQuery.Where(i => searchParams.IntezmenyTipus.Contains(i.Tipus)); } if (searchParams.MukodesIg != null) { //intezmenyre vonatkozo intezemenyQuery = intezemenyQuery.Where(i => i.Alapitas <= searchParams.MukodesIg); } if (searchParams.MukodesTol != null) { intezemenyQuery = intezemenyQuery.Where(i => i.Megszunes >= searchParams.MukodesTol || i.Megszunes == null); } return(await intezemenyQuery.SelectMany(i => i.IntezmenyHelyszinek .Where(ih => (searchParams.MukodesTol == null || searchParams.MukodesTol <= ih.Koltozes || ih.Koltozes == null) && (searchParams.MukodesIg == null || searchParams.MukodesIg >= ih.Nyitas)) .Select(ih => new IntezmenyPinDto { IntezmenyId = i.Id, IntezmenyTipus = i.Tipus, Latitude = ih.Latitude, Longitude = ih.Longitude })).ToListAsync().ConfigureAwait(false)); }
public async Task <IEnumerable <IntezmenyPinDto> > GetIntezmenyek(IntezmenySearchParams searchParams) { return(await intezmenyService.GetIntezmenyekAsync(searchParams)); }