// Constructors
        #region Constructors

        public StartInschrijvingViewModel(IGegevensService dataService, Frame frame, Leerkracht inschrijvendeLeerkracht, Inschrijving inschrijving = null)
            : base(dataService, frame)
        {
            SchooljarenLijst = dataService.GetAlleSchooljaren().ToObservableCollection();
            Jaren            = new int[] { 1, 2, 3, 4, 5, 6, 7 }.ToObservableCollection();
            _alleRichtingen  = dataService.GetAlleRichtingen();
            _alleOpties      = dataService.GetAlleOpties();
            IsOptieZichtbaar = Visibility.Hidden;

            if (inschrijving != null)
            {
                _inschrijving = inschrijving;
                Schooljaar    = inschrijving.Schooljaar;
                Jaar          = inschrijving.Richting.Jaar;
                Richting      = inschrijving.Richting;
                Optie         = inschrijving.Optie;
            }
            else
            {
                _inschrijving = new Inschrijving()
                {
                    InschrijvingId = Guid.NewGuid(),
                    Leerkracht     = inschrijvendeLeerkracht
                };
            }
        }
예제 #2
0
        public bool VeranderInschrijvingConfirmatie(Inschrijving inschrijving)
        {
            this.ResetErrorMessage();

            bool succes = false;

            try
            {
                this.MySqlConnection.Open();

                string sql = $"UPDATE tblinschrijvingen SET bevestigdGastheer = @goedgekeurd WHERE naam = @naam";

                MySqlCommand command = new MySqlCommand(sql, this.MySqlConnection);

                command.Parameters.AddWithValue("@goedgekeurd", 1);
                command.Parameters.AddWithValue("@naam", inschrijving.gastheer.Naam);

                if (command.ExecuteNonQuery() > 0)
                {
                    succes = true;
                }
            }
            catch (MySqlException ex)
            {
                this.ErrorMessage = ex.ToString();
                succes            = false;
            }

            this.MySqlConnection.Close();

            return(succes);
        }
예제 #3
0
        public ReportViewModel(Inschrijving inschrijving)
        {
            _inschrijving = inschrijving;

            LijstMaaltijden = new List <MaaltijdSoort>
            {
                Maaltijden.MaandagMaaltijdSoort,
                Maaltijden.DinsdagMaaltijdSoort,
                Maaltijden.WoensdagMaaltijdSoort,
                Maaltijden.DonderdagMaaltijdSoort,
                Maaltijden.VrijdagMaaltijdSoort
            };

            #region Adressen

            LijstAdressen = new List <AdresWrapper>();

            // Eerst domicilie adres
            LijstAdressen.Add(new AdresWrapper(Leerling.Adressen.Single(x => x.IsDomicilie)));

            // dan de andere adressen van de leerling
            foreach (var adres in Leerling.Adressen)
            {
                if (!LijstAdressen.Any(x => x.AdresId == adres.AdresId))
                {
                    LijstAdressen.Add(new AdresWrapper(adres));
                }
            }

            // dan de adressen dan de contacten
            foreach (var contact in Leerling.Contacten)
            {
                Adres adres = contact.Adres;
                if (!LijstAdressen.Any(x => x.AdresId == adres.AdresId))
                {
                    LijstAdressen.Add(new AdresWrapper(adres));
                }
            }

            #endregion

            LijstContacten = Leerling.Contacten.ToList();

            LijstInschrijvingen = VoorgaandeInschrijvingen.OrderBy(x => x.Schooljaar).ToList();

            LijstToestemmingen = Toestemmingen.ToList();

            LijstLerenKennen = Marketing.LerenKennenSchool.Where(x => x.IsReden).ToList();
            if (!String.IsNullOrWhiteSpace(Marketing.LerenKennenSchoolVaria))
            {
                LijstLerenKennen.Add(new LerenKennen()
                {
                    IsReden          = true,
                    LerenKennenSoort = new LerenKennenSoort()
                    {
                        LerenKennenSoortOmschrijving = Marketing.LerenKennenSchoolVaria
                    }
                });
            }
        }
 public InschrijvingViewModel(Inschrijving i)
 {
     Id        = i.Id;
     Aanwezig  = i.Aanwezig;
     Gebruiker = i.Gebruiker;
     Datum     = i.Datum;
 }
예제 #5
0
        public IActionResult RegistreerAanwezigheid(RegistreerAanwezigheidViewModel rvm)
        {
            Inschrijving i = _inschrijvingRepository.GetByEmailAndSessieId(rvm.Email, rvm.SessieID);

            if (i != null)
            {
                if (i.Aanwezig)
                {
                    TempData["message"] = "Je bent reeds geregistreerd voor deze sessie.";
                }
                else
                {
                    i.Aanwezig          = true;
                    TempData["message"] = "Je bent succesvol geregistreerd voor deze sessie.";
                }
            }
            else
            {
                TempData["error"] = "Je bent niet ingeschreven voor deze sessie of je e-mailadres is ongeldig, probeer opnieuw";
            }

            _inschrijvingRepository.SaveChanges();

            return(RedirectToAction(nameof(RegistreerAanwezigheden), new { id = rvm.SessieID }));
        }
예제 #6
0
        public string AuthenticeerStandhouder(string inschrijvingsIdTekstFormaat, string email)
        {
            Guid inschrijvingsId;

            if (!Guid.TryParse(inschrijvingsIdTekstFormaat, out inschrijvingsId))
            {
                return(null);
            }

            Inschrijving inschrijvingVanRepo = _inschrijvingRepository.GetInschrijving(inschrijvingsId);

            if (inschrijvingVanRepo == null)
            {
                return(null);
            }

            if (inschrijvingVanRepo.Email.ToUpper() == email.ToUpper())
            {
                return(GenereerToken(inschrijvingVanRepo.Id.ToString(), inschrijvingVanRepo.Voornaam.ToString(), "Standhouder", 1));
            }
            else
            {
                return(null);
            }
        }
예제 #7
0
        public async Task <IActionResult> SchrijfUit(int id)
        {
            Sessie sessie = _sessieRepository.GetBy(id);

            if (sessie != null)
            {
                IdentityUser user = await _userManager.GetUserAsync(User);

                try
                {
                    Inschrijving inschrijving = new Inschrijving();
                    inschrijving = sessie.GeefSessieInschrijving(_gebruikerRepository.GetByEmail(user.Email));
                    sessie.VerwijderInschrijving(inschrijving);
                    _inschrijvingRepository.Delete(inschrijving);
                    _inschrijvingRepository.SaveChanges();
                    _sessieRepository.SaveChanges();
                    TempData["message"] = $"Je bent nu uitgeschreven voor sessie {sessie.Titel}";
                }
                catch (ArgumentException e)
                {
                    TempData["error"] = "Je bent niet ingeschreven voor deze sessie";
                }
            }
            else
            {
                TempData["error"] = "Er is iets fout gelopen";
            }
            return(RedirectToAction(nameof(Detail), new { id }));
        }
예제 #8
0
 public IActionResult WijzigInschrijvingen(List <InschrijvingViewModel> inschrijvingenModels)
 {
     try
     {
         foreach (InschrijvingViewModel vm in inschrijvingenModels)
         {
             Inschrijving i = _inschrijvingRepository.GetBy(vm.Id);
             i.Aanwezig = vm.Aanwezig;
             if (i.Aanwezig)
             {
                 i.Status = "AANWEZIG";
             }
             else
             {
                 i.Status = "AFWEZIG";
             }
         }
         _inschrijvingRepository.SaveChanges();
         TempData["message"] = $"De aanwezigheden werden succesvol opgeslagen.";
     }
     catch
     {
         TempData["error"] = $"Sorry, er ging iets mis bij het updaten van de aanwezigheden. De aanwezigheden werden niet opgeslagen.";
     }
     return(RedirectToAction(nameof(Index)));
 }
예제 #9
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,CursusId,CursistId,punten")] Inschrijving inschrijving)
        {
            if (id != inschrijving.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(inschrijving);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!InschrijvingExists(inschrijving.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CursistId"] = new SelectList(_context.Cursisten, "Id", "Achternaam", inschrijving.CursistId);
            ViewData["CursusId"]  = new SelectList(_context.Cursussen, "Id", "Naam", inschrijving.CursusId);
            return(View(inschrijving));
        }
        // Constructors
        #region Constructors

        public AkkoordToestemmingenViewModel(IGegevensService dataService, Frame frame, Inschrijving inschrijving)
            : base(dataService, frame)
        {
            if (inschrijving.Toestemmingen is null ||
                inschrijving.Toestemmingen.Count == 0)
            {
                inschrijving.Toestemmingen = new List <Toestemming>();

                foreach (var toestemmingSoort in dataService.GetAlleToestemmingSoorten(inschrijving.Richting.Jaar))
                {
                    inschrijving.Toestemmingen.Add(new Toestemming {
                        ToestemmingSoort = toestemmingSoort
                    });
                }
            }

            LijstToestemmingen = new ObservableCollection <Toestemming>();
            LijstToestemmingen.CollectionChanged += LijstToestemmingen_CollectionChanged;

            // CollectionChanged triggert niet bij volledig nieuwe lijst
            foreach (var item in inschrijving.Toestemmingen)
            {
                LijstToestemmingen.Add(item);
            }

            _inschrijving = inschrijving;

            IsOverrideKnopZichtbaar = !LijstToestemmingen
                                      .Single(x => x.ToestemmingSoort.Code == "Schoolreglement").IsAkkoord;
        }
예제 #11
0
 public IActionResult AanwezighedenRegistrerenGebruikersnaam(int id, AanwezigheidViewModelGebruikersnaam aanwezigheidViewModel)
 {
     try
     {
         Sessie    s = _sessieRepository.GetById(id);
         Gebruiker g = _gebruikerRepository.GetByGebruikersnaam(aanwezigheidViewModel.Gebruikersnaam);
         IEnumerable <Gebruiker> ingeschreven = s.Inschrijvingen.Select(e => e.Gebruiker);
         if (ingeschreven.Contains(g))
         {
             Inschrijving ins = s.Inschrijvingen.FirstOrDefault(e => e.Gebruiker == g);
             ins.ZetAanwezigheid(true);
             _sessieRepository.SaveChanges();
         }
         else
         {
             Inschrijving ins = new Inschrijving(g, s);
             s.Inschrijvingen.Add(ins);
             ins.ZetAanwezigheid(true);
             _sessieRepository.SaveChanges();
         }
         TempData["message"] = $"De gebruiker is aangemeld bij deze sessie";
         return(RedirectToAction(nameof(AanwezighedenRegistrerenBarcode), new { id }));
     }
     catch
     {
         TempData["error"] = $"Er is iets migelopen, we konden deze persoon niet aanwezig zetten";
     }
     return(RedirectToAction(nameof(AanwezighedenRegistrerenGebruikersnaam)));
 }
예제 #12
0
        public void TestFindAllCursuses()
        {
            using (var repo = new CursusRepository(new DatabaseContext(_options)))
            {
                var cursus = new Inschrijving()
                {
                    Titel = "Cursus1",
                    Code  = "C1",
                    Dagen = 3,
                };
                repo.Insert(cursus);
                cursus = new Inschrijving()
                {
                    Titel = "Cursus2",
                    Code  = "C2",
                    Dagen = 3,
                };
                repo.Insert(cursus);
            }

            using (var repo = new CursusRepository(new DatabaseContext(_options)))
            {
                Assert.AreEqual(2, repo.Count());
            }
        }
        // Custom Validation Rules
        #region Custom Validation Rules



        #endregion

        // Constructors
        #region Constructors

        public BewerkTelefoonViewModel(Telefoon telefoon, IGegevensService dataService, Frame frame, Inschrijving inschrijving)
            : base(dataService, frame)
        {
            _inschrijving = inschrijving;

            Telefoon = telefoon;

            TelefoonSoorten = dataService.GetAlleTelefoonSoorten();
        }
예제 #14
0
        public Dictionary <Speler, Inschrijving> GetSpelersAndVolgnummers(int ecode)
        {
            Dictionary <Speler, Inschrijving> SpelersVolgnummers = new Dictionary <Speler, Inschrijving>();

            try
            {
                conn.Open();

                string selectQuery = @"SELECT * FROM inschrijving i JOIN speler s on i.p_code = s.p_code WHERE e_code = @ecode";

                MySqlCommand   cmd        = new MySqlCommand(selectQuery, conn);
                MySqlParameter EcodeParam = new MySqlParameter("@ecode", MySqlDbType.Int32);

                EcodeParam.Value = ecode;

                cmd.Parameters.Add(EcodeParam);


                MySqlDataReader    dataReader = cmd.ExecuteReader();
                ToernooiController TC         = new ToernooiController();

                while (dataReader.Read())
                {
                    int    p_code             = dataReader.GetInt32("p_code");
                    string roepnaam           = dataReader.GetString("roepnaam");
                    string voorletters        = dataReader.GetString("voorletters");
                    string tussenvoegsels     = dataReader[3] as string;
                    string achternaam         = dataReader.GetString("achternaam");
                    char   geslacht           = dataReader.GetChar("geslacht");
                    string postcode           = dataReader.GetString("postcode");
                    string straat             = dataReader.GetString("straat");
                    int    huisnummer         = dataReader.GetInt32("huisnummer");
                    string woonplaats         = dataReader.GetString("woonplaats");
                    string emailadres         = dataReader.GetString("emailadres");
                    string IBAN_nummer        = dataReader.GetString("IBAN_nummer");
                    int    rating             = dataReader.GetInt32("rating");
                    bool   staat_op_blacklist = dataReader.GetChar("staat_op_blacklist") == 'J';
                    int    volgnummer         = dataReader.GetInt32("volgnummer");
                    bool   heeftbetaald       = dataReader.GetChar("heeft_betaald") == 'J';

                    Speler       s = new Speler(p_code, roepnaam, voorletters, tussenvoegsels, achternaam, geslacht, postcode, straat, huisnummer, woonplaats, emailadres, IBAN_nummer, rating, staat_op_blacklist);
                    Inschrijving i = new Inschrijving(ecode, volgnummer, p_code, heeftbetaald);
                    SpelersVolgnummers.Add(s, i);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Ophalen van bekende locaties mislukt" + ex);
            }
            finally
            {
                conn.Close();
            }

            return(SpelersVolgnummers);
        }
예제 #15
0
        public Inschrijving GetInschrijving(Gast gastheer)
        {
            this.ResetErrorMessage();

            Inschrijving inschrijving = new Inschrijving(gastheer, "");
            Gast         gast1        = new Gast("");
            Gast         gast2        = new Gast("");

            try
            {
                this.MySqlConnection.Open();

                string sql = $"SELECT klas, gast1, gast2, bevestigdGastheer, secret FROM tblinschrijvingen WHERE naam = @naam";

                MySqlCommand command = new MySqlCommand(sql, this.MySqlConnection);
                command.Parameters.AddWithValue("@naam", gastheer.Naam);
                MySqlDataReader reader = command.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        inschrijving.klas   = reader.GetString(0);
                        gast1.Naam          = reader.GetString(1);
                        gast2.Naam          = reader.GetString(2);
                        gastheer.Confirmed  = (reader.GetInt32(3) == 1) ? true : false;
                        inschrijving.secret = reader.GetString(4);
                    }
                }
                else
                {
                    reader.Close();
                    this.MySqlConnection.Close();
                    return(null);
                }

                //Reader sluiten
                reader.Close();
            }
            catch (MySqlException ex)
            {
                //Bij een error word de ToString van die error op ErrorMessage gezet zodat dit gebruikt kan worden, voornamelijk tijdens het developen
                this.ErrorMessage = ex.ToString();
            }

            //Connectie sluiten
            this.MySqlConnection.Close();

            inschrijving.gast1    = gast1;
            inschrijving.gast1    = gast2;
            inschrijving.gastheer = gastheer;

            //Return object
            return(inschrijving);
        }
예제 #16
0
 public GebruikerSessieViewModel(Sessie sessie, Inschrijving inschrijving)
 {
     Id          = sessie.Id;
     Titel       = sessie.Titel;
     Gastspreker = sessie.Gastspreker;
     Datum       = sessie.GetDatumString();
     Lokaal      = sessie.GetLokaalString();
     if (inschrijving != null)
     {
         Aanwezig = inschrijving.Aanwezig;
     }
 }
예제 #17
0
        public ReportView(Inschrijving inschrijving, double heightInCM, double widthInCM)
        {
            DataContext = new ReportViewModel(inschrijving);

            InitializeComponent();

            this.Height = heightInCM / 2.54 * 96; // px in WPF = 1/96 inch
            this.Width  = widthInCM / 2.54 * 96;

            Measure(new Size(this.Width - 50, this.Height - 50));
            Arrange(new Rect(0, 0, DesiredSize.Width, DesiredSize.Height));
        }
예제 #18
0
        // Constructors
        #region Constructors

        public ContactenGegevensViewModel(IGegevensService dataService, Frame frame, Inschrijving inschrijving)
            : base(dataService, frame)
        {
            if (inschrijving.Leerling.Contacten == null)
            {
                inschrijving.Leerling.Contacten = new List <Contact>();
            }

            LijstContacten = new ObservableCollection <Contact>(inschrijving.Leerling.Contacten);

            _inschrijving = inschrijving;
        }
        // Constructors
        #region Constructors

        public VoorgaandeInschrijvingViewModel(IGegevensService dataService, Frame frame, Inschrijving inschrijving)
            : base(dataService, frame)
        {
            if (inschrijving.VoorgaandeInschrijvingen is null)
            {
                inschrijving.VoorgaandeInschrijvingen = new List <VoorgaandeInschrijving>();
            }

            LijstVoorgaandeInschrijvingen = new ObservableCollection <VoorgaandeInschrijving>(inschrijving.VoorgaandeInschrijvingen);

            _inschrijving = inschrijving;
        }
예제 #20
0
        public async Task <IActionResult> Create([Bind("Id,CursusId,CursistId,punten")] Inschrijving inschrijving)
        {
            if (ModelState.IsValid)
            {
                _context.Add(inschrijving);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewBag.CursistId = new SelectList(_context.Cursisten, "Id", "Voornaam", inschrijving.CursistId);
            ViewBag.CursusId  = new SelectList(_context.Cursussen, "Id", "Naam", inschrijving.CursusId);
            return(View(inschrijving));
        }
        // Toevoegen
        public void ToevoegenInschrijving(Inschrijving inschrijving)
        {
            if (inschrijving == null)
            {
                throw new ArgumentNullException(nameof(inschrijving));
            }

            if (inschrijving.Id == Guid.Empty)
            {
                inschrijving.Id = Guid.NewGuid();
            }

            _context.Inschrijvingen.Add(inschrijving);
        }
 public ActionResult Create(Inschrijving inschrijving)
 {
     try
     {
         if (ModelState.IsValid)
         {
             agent.PostInschrijving(inschrijving);
             return(RedirectToAction("Index"));
         }
         return(RedirectToAction("Index", inschrijving));
     }
     catch
     {
         return(View());
     }
 }
예제 #23
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Inschrijving = await _context.Inschrijvingen
                           .Include(i => i.Verlofpoule).FirstOrDefaultAsync(m => m.InschrijvingID == id);

            if (Inschrijving == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        public async Task <Inschrijving> SaveChangesAsync(Inschrijving inschrijving)
        {
            var record = db.Inschrijvingen.Find(inschrijving.InschrijvingId);

            if (db.Inschrijvingen.Find(inschrijving.InschrijvingId) == null)
            {
                db.Inschrijvingen.Add(inschrijving);
            }
            else
            {
                record = inschrijving;
            }

            await db.SaveChangesAsync();

            return(inschrijving);
        }
예제 #25
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Inschrijving = await _context.Inschrijvingen
                           .Include(i => i.Verlofpoule).FirstOrDefaultAsync(m => m.InschrijvingID == id);

            if (Inschrijving == null)
            {
                return(NotFound());
            }
            ViewData["VerlofpouleID"] = new SelectList(_context.Verlofpoules, "VerlofpouleID", "VerlofpouleID");
            return(Page());
        }
예제 #26
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Inschrijving = await _context.Inschrijvingen.FindAsync(id);

            if (Inschrijving != null)
            {
                _context.Inschrijvingen.Remove(Inschrijving);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
예제 #27
0
        public IActionResult Post([FromBody] Inschrijving inschrijving)
        {
            if (!ModelState.IsValid)
            {
                var error = new ErrorMessage(ErrorTypes.BadRequest, "Modelstate invalid");
                return(BadRequest(error));
            }

            try
            {
                return(Ok(_repo.Insert(inschrijving)));
            }
            catch (Exception)
            {
                var error = new ErrorMessage(ErrorTypes.Unknown, "Oops, something went wrong");
                return(NotFound(error));
            }
        }
        // Verwijderen
        public void VerwijderenInschrijving(Inschrijving inschrijving)
        {
            if (inschrijving == null)
            {
                throw new ArgumentNullException(nameof(inschrijving));
            }

            if (_betaaltransactieRepository.GetAantalBetaaltransactiesVanInschrijving(inschrijving.Id) > 0)
            {
                _betaaltransactieRepository.VerwijderAlleBetaaltransactiesVanInschrijving(inschrijving.Id);
            }

            if (_checkInRepository.GetAantalCheckInsVanInschrijving(inschrijving.Id) > 0)
            {
                _checkInRepository.VerwijderAlleCheckInsVanInschrijving(inschrijving.Id);
            }

            _context.Inschrijvingen.Remove(inschrijving);
        }
예제 #29
0
        public void TestDeleteCursus()
        {
            using (var repo = new CursusRepository(new DatabaseContext(_options)))
            {
                var pen = new Inschrijving()
                {
                    Titel = "Cursus1",
                    Code  = "C1",
                    Dagen = 3,
                };
                repo.Insert(pen);
                repo.Delete("C1");
            }

            using (var repo = new CursusRepository(new DatabaseContext(_options)))
            {
                Assert.AreEqual(0, repo.Count());
            }
        }
예제 #30
0
        // Constructors
        #region Constructors

        public LeerlingGegevensViewModel(IGegevensService dataService, Frame frame, Inschrijving inschrijving)
            : base(dataService, frame)
        {
            _inschrijving = inschrijving;

            LijstGeslachten           = _dataService.GetAlleGeslachten();
            LijstAanschrijvingSoorten = _dataService.GetAlleAanschrijvingen();

            Leerling leerling = _inschrijving.Leerling;

            if (leerling != null)
            {
                Voornaam            = leerling.Voornaam;
                Familienaam         = leerling.Familienaam;
                GeboorteDatum       = leerling.Geboortedatum;
                Geboorteplaats      = leerling.Geboorteplaats;
                Geboorteland        = leerling.Geboorteland;
                Nationaliteit       = leerling.Nationaliteit;
                Rijksregisternummer = leerling.RijksregisterNummer;
                Geslacht            = leerling.Geslacht;
                Email = leerling.Email;

                Adres domicilieAdres = leerling.Adressen
                                       .SingleOrDefault(x => x.IsDomicilie);
                if (domicilieAdres != null)
                {
                    DomicilieAanspreking  = domicilieAdres.Aanschrijving.AanschrijvingSoortId;
                    DomicilieStraat       = domicilieAdres.Straat;
                    DomicilieHuisnummer   = domicilieAdres.Huisnummer;
                    DomiciliePostcode     = domicilieAdres.Postcode;
                    DomicilieGemeente     = domicilieAdres.Gemeente;
                    DomicilieDeelGemeente = domicilieAdres.Deelgemeente;
                }
            }
            else
            {
                GeboorteDatum = DateTime.Today;
                Email         = new Email()
                {
                    EmailId = Guid.NewGuid()
                };
            }
        }