public static string GetNieuweGestructureerdeMededeling(IInschrijvingRepository inschrijvingRepository) { if (inschrijvingRepository == null) { throw new ArgumentNullException(nameof(inschrijvingRepository)); } string gestructureerdeMededeling = ""; bool inschrijvingIsUniek = false; int aantalPogingen = 0; do { aantalPogingen++; gestructureerdeMededeling = GetNieuweGestructureerdeMededeling(); if (!string.IsNullOrWhiteSpace(gestructureerdeMededeling)) { InschrijvingenResourceParameters parameters = new InschrijvingenResourceParameters() { GestructureerdeMededeling = gestructureerdeMededeling }; IEnumerable <Entities.Inschrijving> inschrijvingen = inschrijvingRepository.GetInschrijvingen(parameters); if (inschrijvingen != null) { inschrijvingIsUniek = (inschrijvingen.Count() == 0); } } } while (!inschrijvingIsUniek & (aantalPogingen < 10)); if (inschrijvingIsUniek) { return(gestructureerdeMededeling); } else { return(string.Empty); } }
public IEnumerable <Inschrijving> GetInschrijvingen(InschrijvingenResourceParameters inschrijvingenResourceParameters) { var collectie = _context.Inschrijvingen as IQueryable <Inschrijving>; if (inschrijvingenResourceParameters == null) { throw new ArgumentNullException(nameof(inschrijvingenResourceParameters)); } if (string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.Id) && string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.Voornaam) && string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.Achternaam) && string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.Standnummer) && string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.GestructureerdeMededeling) && string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.QRCode) && !inschrijvingenResourceParameters.NogNietIngecheckt.HasValue && !inschrijvingenResourceParameters.Evenement.HasValue && !inschrijvingenResourceParameters.Inschrijvingsstatus.HasValue) { if (!inschrijvingenResourceParameters.SorteerMethode.HasValue) { return(GetInschrijvingen()); } else { return(GetGesorteerdeInschrijvingen(inschrijvingenResourceParameters.SorteerMethode, collectie).ToList()); } } if (!string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.Id)) { collectie = collectie.Where(i => i.Id.ToString().ToUpper().Contains(inschrijvingenResourceParameters.Id.ToUpper())); } if (!string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.Voornaam)) { collectie = collectie.Where(i => i.Voornaam.ToUpper().Contains(inschrijvingenResourceParameters.Voornaam.ToUpper())); } if (!string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.Achternaam)) { collectie = collectie.Where(i => i.Achternaam.ToUpper().Contains(inschrijvingenResourceParameters.Achternaam.ToUpper())); } if (!string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.Standnummer)) { collectie = collectie.Where(i => i.Standnummer.ToUpper().Contains(inschrijvingenResourceParameters.Standnummer.ToUpper())); } if (!string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.GestructureerdeMededeling)) { collectie = collectie.Where(i => i.GestructureerdeMededeling.ToUpper() == inschrijvingenResourceParameters.GestructureerdeMededeling.ToUpper()); } if (!string.IsNullOrWhiteSpace(inschrijvingenResourceParameters.QRCode)) { collectie = collectie.Where(i => i.QRCode.ToUpper() == inschrijvingenResourceParameters.QRCode.ToUpper()); } if (inschrijvingenResourceParameters.Evenement.HasValue) { collectie = collectie.Where(i => i.EvenementId == inschrijvingenResourceParameters.Evenement); } if (inschrijvingenResourceParameters.Inschrijvingsstatus.HasValue) { collectie = collectie.Where(i => i.InschrijvingsstatusId == inschrijvingenResourceParameters.Inschrijvingsstatus); } if (inschrijvingenResourceParameters.NogNietIngecheckt.HasValue && inschrijvingenResourceParameters.NogNietIngecheckt.Value) { var collectieAlsList = collectie.ToList(); var nieuweCollectie = new List <Inschrijving>(); for (int i = 0; i < collectieAlsList.Count(); i++) { if (_checkInRepository.GetAantalCheckInsVanInschrijving(collectieAlsList[i].Id) == 0) { nieuweCollectie.Add(collectieAlsList[i]); } } collectie = nieuweCollectie.AsQueryable() as IQueryable <Inschrijving>; } collectie = GetGesorteerdeInschrijvingen(inschrijvingenResourceParameters.SorteerMethode, collectie); return(collectie.ToList()); }
public ActionResult <IEnumerable <InschrijvingVoorRaadpleegDto> > GetInschrijvingen([FromQuery] InschrijvingenResourceParameters inschrijvingenResourceParameters) { var inschrijvingenVanRepo = _inschrijvingRepository.GetInschrijvingen(inschrijvingenResourceParameters); return(Ok(_mapper.Map <IEnumerable <InschrijvingVoorRaadpleegDto> >(inschrijvingenVanRepo))); }