コード例 #1
0
        public IEnumerable <Betaaltransactie> GetBetaaltransacties(BetaaltransactiesResourceParameters betaaltransactiesResourceParameters)
        {
            var collectie = _context.Betaaltransacties as IQueryable <Betaaltransactie>;

            if (betaaltransactiesResourceParameters == null)
            {
                throw new ArgumentNullException(nameof(betaaltransactiesResourceParameters));
            }

            if (string.IsNullOrWhiteSpace(betaaltransactiesResourceParameters.VerantwoordelijkeBetaling) && string.IsNullOrWhiteSpace(betaaltransactiesResourceParameters.GestructureerdeMededeling) && !betaaltransactiesResourceParameters.Inschrijving.HasValue && !betaaltransactiesResourceParameters.Betaalmethode.HasValue && !betaaltransactiesResourceParameters.Lid.HasValue)
            {
                return(GetBetaaltransacties());
            }

            if (!string.IsNullOrWhiteSpace(betaaltransactiesResourceParameters.VerantwoordelijkeBetaling))
            {
                collectie = collectie.Where(b => b.VerantwoordelijkeBetaling.ToUpper().Contains(betaaltransactiesResourceParameters.VerantwoordelijkeBetaling.ToUpper()));
            }

            if (!string.IsNullOrWhiteSpace(betaaltransactiesResourceParameters.GestructureerdeMededeling))
            {
                collectie = collectie.Where(b => b.GestructureerdeMededeling.ToUpper() == betaaltransactiesResourceParameters.GestructureerdeMededeling.ToUpper());
            }

            if (betaaltransactiesResourceParameters.Inschrijving.HasValue)
            {
                collectie = collectie.Where(b => b.InschrijvingsId == betaaltransactiesResourceParameters.Inschrijving.Value);
            }

            if (betaaltransactiesResourceParameters.Betaalmethode.HasValue)
            {
                collectie = collectie.Where(b => b.BetaalmethodeId == betaaltransactiesResourceParameters.Betaalmethode.Value);
            }

            if (betaaltransactiesResourceParameters.Lid.HasValue)
            {
                collectie = collectie.Where(b => b.LidId == betaaltransactiesResourceParameters.Lid.Value);
            }

            return(collectie.OrderBy(b => b.DatumBetaling).ToList());
        }
        public ActionResult <IEnumerable <BetaaltransactieVoorRaadpleegDto> > GetBetaaltransacties([FromQuery] BetaaltransactiesResourceParameters betaaltransactiesResourceParameters)
        {
            if (betaaltransactiesResourceParameters != null)
            {
                if (betaaltransactiesResourceParameters.Inschrijving.HasValue)
                {
                    if (!_inschrijvingRepository.BestaatInschrijving(betaaltransactiesResourceParameters.Inschrijving.Value))
                    {
                        return(NotFound($"Inschrijving '{betaaltransactiesResourceParameters.Inschrijving.Value}' niet gevonden."));
                    }
                }

                if (betaaltransactiesResourceParameters.Betaalmethode.HasValue)
                {
                    if (!_betaalmethodeRepository.BestaatBetaalmethode(betaaltransactiesResourceParameters.Betaalmethode.Value))
                    {
                        return(NotFound($"Betaalmethode '{betaaltransactiesResourceParameters.Betaalmethode.Value}' niet gevonden."));
                    }
                }

                if (betaaltransactiesResourceParameters.Lid.HasValue)
                {
                    if (!_lidRepository.BestaatLid(betaaltransactiesResourceParameters.Lid.Value))
                    {
                        return(NotFound($"Lid '{betaaltransactiesResourceParameters.Lid.Value}' niet gevonden."));
                    }
                }
            }

            var BetaaltransactiesVanRepo = _betaaltransactieRepository.GetBetaaltransacties(betaaltransactiesResourceParameters);

            return(Ok(_mapper.Map <IEnumerable <BetaaltransactieVoorRaadpleegDto> >(BetaaltransactiesVanRepo)));
        }