public ActionResult <IEnumerable <CheckInVoorRaadpleegDto> > GetCheckIns([FromQuery] CheckInsResourceParameters checkInsResourceParameters) { if (checkInsResourceParameters != null) { if (checkInsResourceParameters.Inschrijving.HasValue) { if (!_inschrijvingRepository.BestaatInschrijving(checkInsResourceParameters.Inschrijving.Value)) { return(NotFound($"Inschrijving '{checkInsResourceParameters.Inschrijving.Value}' niet gevonden.")); } } if (checkInsResourceParameters.Lid.HasValue) { if (!_lidRepository.BestaatLid(checkInsResourceParameters.Lid.Value)) { return(NotFound($"Lid '{checkInsResourceParameters.Lid.Value}' niet gevonden.")); } } if (checkInsResourceParameters.CheckInMomentStartPeriode.HasValue && checkInsResourceParameters.CheckInMomentEindPeriode.HasValue) { if (checkInsResourceParameters.CheckInMomentStartPeriode > checkInsResourceParameters.CheckInMomentEindPeriode) { return(BadRequest("De opgegeven periode is ongeldig.")); } } } var checkInsVanRepo = _checkInRepository.GetCheckIns(checkInsResourceParameters); return(Ok(_mapper.Map <IEnumerable <CheckInVoorRaadpleegDto> >(checkInsVanRepo))); }
public IEnumerable <CheckIn> GetCheckIns(CheckInsResourceParameters checkInenResourceParameters) { if (checkInenResourceParameters == null) { throw new ArgumentNullException(nameof(checkInenResourceParameters)); } if (!checkInenResourceParameters.Inschrijving.HasValue && !checkInenResourceParameters.Lid.HasValue && !checkInenResourceParameters.CheckInMomentStartPeriode.HasValue && !checkInenResourceParameters.CheckInMomentEindPeriode.HasValue) { return(GetCheckIns()); } if (!checkInenResourceParameters.Inschrijving.HasValue) { if (checkInenResourceParameters.Inschrijving == Guid.Empty) { throw new ArgumentNullException(nameof(checkInenResourceParameters.Inschrijving)); } } if (!checkInenResourceParameters.Lid.HasValue) { if (checkInenResourceParameters.Lid == Guid.Empty) { throw new ArgumentNullException(nameof(checkInenResourceParameters.Lid)); } } if (checkInenResourceParameters.CheckInMomentStartPeriode.HasValue && checkInenResourceParameters.CheckInMomentEindPeriode.HasValue) { if (checkInenResourceParameters.CheckInMomentStartPeriode > checkInenResourceParameters.CheckInMomentEindPeriode) { throw new ArgumentException("De opgegeven periode is ongeldig."); } } var collectie = _context.CheckIns as IQueryable <CheckIn>; if (checkInenResourceParameters.Inschrijving.HasValue) { collectie = collectie.Where(c => c.InschrijvingsId == checkInenResourceParameters.Inschrijving); } if (checkInenResourceParameters.Lid.HasValue) { collectie = collectie.Where(c => c.LidId == checkInenResourceParameters.Lid); } if (checkInenResourceParameters.CheckInMomentStartPeriode.HasValue) { collectie = collectie.Where(c => c.CheckInMoment >= checkInenResourceParameters.CheckInMomentStartPeriode); } if (checkInenResourceParameters.CheckInMomentEindPeriode.HasValue) { collectie = collectie.Where(c => c.CheckInMoment <= checkInenResourceParameters.CheckInMomentEindPeriode); } return(collectie.OrderBy(c => c.CheckInMoment).ToList()); }