public IActionResult GetByFilter(BesucherFilterViewModel besucherFilterViewModel) { return(Execute(() => { return _besucherService.GetByFilterViewModel(besucherFilterViewModel); })); }
public List <Besucher> GetByFilter(BesucherFilterViewModel filter) { var query = _databaseContext.BesuchBesucher.AsQueryable(); if (filter.IstBeendet == true) { query = query.Where(x => x.Besuch.Endzeit != null); } if (filter.IstBeendet == false) { query = query.Where(x => x.Besuch.Endzeit == null); } if (!string.IsNullOrWhiteSpace(filter.Vorname)) { query = query.Where(x => x.Besucher != null && x.Besucher.Person != null && x.Besucher.Person.Vorname.ToLower().Contains(filter.Vorname.ToLower())); } if (!string.IsNullOrWhiteSpace(filter.Name)) { query = query.Where(x => x.Besucher != null && x.Besucher.Person != null && x.Besucher.Person.Name.ToLower().Contains(filter.Name.ToLower())); } if (!string.IsNullOrWhiteSpace(filter.Email)) { query = query.Where(x => x.Besucher != null && x.Besucher.Person != null && x.Besucher.Person.Email.ToLower().Contains(filter.Email.ToLower())); } if (filter.Startzeit.HasValue) { query = query.Where(x => x.Besuch != null && x.Besuch.Startzeit >= filter.Startzeit.Value); } if (filter.Endzeit.HasValue) { query = query.Where(x => x.Besuch != null && x.Besuch.Endzeit <= filter.Endzeit.Value); } if (filter.Skip.HasValue) { query = query.Skip(filter.Skip.Value); } if (filter.Take.HasValue) { query = query.Take(filter.Take.Value); } return(query .Include(x => x.Besucher.Person) .Select(x => x.Besucher) .ToList()); }
public List <BesucherViewModel> GetByFilterViewModel(BesucherFilterViewModel besucherFilterViewModel) { Guard.IsNotNull(besucherFilterViewModel); using (var unit = new UnitOfWork()) { var besucherRepo = unit.GetRepository <BesucherRepository>(); var result = besucherRepo.GetByFilter(besucherFilterViewModel); return(_mapper.Map <List <BesucherViewModel> >(result)); } }