示例#1
0
 private static InschrijvingDataModel MapToDataModel(InschrijvingViewModel inschrijving, string sessionId, long bedrag)
 {
     return(new InschrijvingDataModel {
         Commentaar = inschrijving.Commentaar,
         Email = inschrijving.Email,
         Naam = inschrijving.Naam,
         Privacyverklaring = inschrijving.Privacyverklaring,
         SessionId = sessionId,
         LidVanClub = inschrijving.LidVanClub,
         KindOpSchool = inschrijving.KindOpSchool,
         GratisLidmaatschap = inschrijving.GratisLidmaatschap,
         Straatnaam = inschrijving.Straatnaam,
         Postcode = inschrijving.Postcode,
         Plaats = inschrijving.Plaats,
         Telefoon = inschrijving.Telefoon,
         Kinderen = inschrijving.Kinderen.Select(k => new KindDataModel {
             Achternaam = k.Achternaam,
             Anekdote = k.Anekdote,
             Geslacht = k.Geslacht,
             Leeftijd = k.Leeftijd,
             Voornaam = k.Voornaam
         }).ToArray(),
         Bedrag = bedrag
     });
 }
示例#2
0
        // GET: Inschrijvingen/Edit/5
        public async Task <IActionResult> Edit(Guid?id)
        {
            // mag de huidige gebruiker (indien gekend) deze gegevens zien
            // als het resultaat null is, mag hij de gegevens zien
            // als het resultaat niet null is, toon dan de gepaste pagina (login of unauthorized)
            IActionResult actionResult = CredentialBeheerder.CheckIfAllowed(_role, TempData, _context);;

            if (actionResult != null)
            {
                return(actionResult);
            }

            if (id == null)
            {
                return(NotFound());
            }

            // haal de inschrijvingen voor de activiteit uit de db
            var inschrijvingenVoorActiviteit = await _context.Inschrijvingen
                                               .AsNoTracking()
                                               .Where(i => i.Id_Activiteit == id)
                                               .Include(i => i.Lid)
                                               .ToListAsync();

            // geen inschrijvingen
            if (inschrijvingenVoorActiviteit == null)
            {
                return(NotFound());
            }

            // haal de activiteit uit de db
            var activiteit = _context.Activiteiten
                             .AsNoTracking()
                             .Where(a => a.Id == id)
                             .FirstOrDefault();

            // niet gevonden
            if (activiteit == null)
            {
                return(NotFound());
            }
            // onthoud het aantal inschrijvingen
            activiteit.AantalInschrijvingen = inschrijvingenVoorActiviteit.Count;
            // haal een lijst met alle leden uit de db
            var leden = await _context.Leden
                        .OrderBy(l => l.Achternaam)
                        .ThenBy(l => l.Voornaam)
                        .ToListAsync();

            var model = new InschrijvingViewModel()
            {
                AlleLeden = leden,
                // enkel de leden van de inschrijvingen nodig
                IngeschrevenLeden = inschrijvingenVoorActiviteit.Select(l => l.Lid).ToList(),
                Activiteit        = activiteit,
                Id_Activiteit     = activiteit.Id
            };

            return(View(model));
        }
示例#3
0
        private static IEnumerable <SessionLineItemOptions> CreateLineItemsFromInschrijving(InschrijvingViewModel inschrijving, ILogger log)
        {
            log.LogInformation($"KindOpSchool is {inschrijving.KindOpSchool} and LidVanClub is {inschrijving.LidVanClub}");
            if (!inschrijving.KindOpSchool && !inschrijving.LidVanClub)
            {
                log.LogInformation("Person needs a club subscription. Creating line item");
                yield return(new SessionLineItemOptions {
                    Name = "Lidmaatschap Nederlandse Club Oslo",
                    Description = "2020",
                    Amount = 17500,
                    Currency = "nok",
                    Quantity = 1
                });
            }

            log.LogInformation($"AantalKinderen is {inschrijving.Kinderen.Count()}");

            foreach (var kind in inschrijving.Kinderen)
            {
                log.LogInformation("Creating line item for kind");
                yield return(new SessionLineItemOptions {
                    Name = "Inschrijving Sinterklaas",
                    Description = kind.Voornaam + " " + kind.Achternaam,
                    Amount = 10000,
                    Currency = "nok",
                    Quantity = 1
                });
            }
        }