public List <Gebruiker> GetUserWithType()
        {
            List <Gebruiker> returnList = new List <Gebruiker>();

            HulpbehoevendeSqlContext hbContext    = new HulpbehoevendeSqlContext();
            HulpbehoevendeRepository hbRepository = new HulpbehoevendeRepository(hbContext);

            VrijwilligerSqlContext vrijwilligerContext    = new VrijwilligerSqlContext();
            VrijwilligerRepository vrijwilligerRepository = new VrijwilligerRepository(vrijwilligerContext);


            BeheerderSqlContext beheerderContext    = new BeheerderSqlContext();
            BeheerderRepository beheerderRepository = new BeheerderRepository(beheerderContext);

            HulpverlenerSqlContext hvContext    = new HulpverlenerSqlContext();
            HulpverlenerRepository hvRepository = new HulpverlenerRepository(hvContext);


            returnList.AddRange(hbRepository.GetAllHulpbehoevenden());
            returnList.AddRange(vrijwilligerRepository.GetAllVrijwilligers());
            returnList.AddRange(beheerderRepository.GetAll());
            returnList.AddRange(hvRepository.GetAll());


            return(returnList);
        }
        public void TestHulpverlenerId()
        {
            var sql  = new HulpverlenerSqlContext();
            var repo = new HulpverlenerRepository(sql);

            var hulpverlener = repo.GetById(1);

            Assert.AreEqual("snekmel", hulpverlener.Gebruikersnaam);
        }
        public void TestAllHulpverleners()
        {
            var sql  = new HulpverlenerSqlContext();
            var repo = new HulpverlenerRepository(sql);

            var hulpverlenerList = repo.GetAll();

            Assert.IsTrue(hulpverlenerList[0].Id == 1);
        }
        public ActionResult RegistreerHulpverlener(FormCollection form, HttpPostedFileBase foto)
        {
            try
            {
                string path     = "";
                string fotoPath = "";
                if (foto != null)
                {
                    if (foto.ContentLength > 0)
                    {
                        if (Path.GetExtension(foto.FileName).ToLower() == ".png" || Path.GetExtension(foto.FileName).ToLower() == ".jpg" ||
                            Path.GetExtension(foto.FileName).ToLower() == ".jpeg")
                        {
                            path = Path.Combine(Server.MapPath("~/Content/Foto"), foto.FileName);
                            foto.SaveAs(path);
                            fotoPath = "/Content/Foto/" + foto.FileName;
                        }
                    }
                }
                if (form["wachtwoord"] == form["wachtwoordherhalen"])
                {
                    Gebruiker gebruiker1 = new Gebruiker();
                    gebruiker1.Image          = fotoPath;
                    gebruiker1.Geslacht       = (Geslacht)Enum.Parse(typeof(Geslacht), form["geslacht"]);
                    gebruiker1.Adres          = form["adres"];
                    gebruiker1.Email          = form["email"];
                    gebruiker1.Geboortedatum  = Convert.ToDateTime(form["geboortedatum"]);
                    gebruiker1.Woonplaats     = form["plaats"];
                    gebruiker1.Land           = form["land"];
                    gebruiker1.Postcode       = form["postcode"];
                    gebruiker1.Telefoonnummer = form["telnr"];
                    gebruiker1.Wachtwoord     = form["wachtwoord"];
                    gebruiker1.Gebruikersnaam = form["gebruikersnaam"];
                    gebruiker1.Naam           = form["naam"];
                    gebruiker1.Barcode        = form["barcode"];

                    GebruikerSqlContext sql             = new GebruikerSqlContext();
                    GebruikerRepository repo            = new GebruikerRepository(sql);
                    int                    id           = repo.Create(gebruiker1);
                    Hulpverlener           hulpverlener = new Hulpverlener(id);
                    HulpverlenerSqlContext hsql         = new HulpverlenerSqlContext();
                    HulpverlenerRepository hrepo        = new HulpverlenerRepository(hsql);
                    hrepo.Create(id);

                    return(RedirectToAction("Index", "Login"));
                }
                return(RedirectToAction("RegistreerHulpverlener", "Registreer"));
            }
            catch (Exception e)
            {
                return(RedirectToAction("Index", "Error"));
            }
        }
        public ActionResult Barcode(FormCollection form)
        {
            try
            {
                Gebruiker           g   = AuthRepository.CheckAuthBarcode(form["barcode"]);
                GebruikerSqlContext gsc = new GebruikerSqlContext();
                GebruikerRepository gr  = new GebruikerRepository(gsc);

                if (g == null)
                {
                    ViewBag.LoginResult = false;
                    return(View("~/Views/Login/Login.cshtml"));
                }
                List <Gebruiker>     users = gr.GetUserTypesByUserId(g.Id);
                List <GebruikerType> types = new List <GebruikerType>();

                foreach (Gebruiker gebr in users)
                {
                    types.Add((GebruikerType)Enum.Parse(typeof(GebruikerType), gebr.GetType().Name));
                }

                if (types.Contains(GebruikerType.Hulpbehoevende) && types.Contains(GebruikerType.Vrijwilliger))
                {
                    ViewBag.Accounts  = users;
                    ViewBag.Types     = types;
                    Session["UserId"] = g.Id;
                    return(Keuze());
                }
                if (types.Contains(GebruikerType.Hulpbehoevende))
                {
                    HulpbehoevendeSqlContext hsc = new HulpbehoevendeSqlContext();
                    HulpbehoevendeRepository hr  = new HulpbehoevendeRepository(hsc);

                    Session["LoggedInUser"] = hr.GetHulpbehoevendeById(g.Id);
                    return(RedirectToAction("Index", "Hulpbehoevende"));
                }
                if (types.Contains(GebruikerType.Vrijwilliger))
                {
                    VrijwilligerSqlContext vsc = new VrijwilligerSqlContext();
                    VrijwilligerRepository vr  = new VrijwilligerRepository(vsc);
                    Session["LoggedInUser"] = vr.GetVrijwilligerById(g.Id);
                    return(RedirectToAction("Index", "Vrijwilliger"));
                }
                if (types.Contains(GebruikerType.Beheerder))
                {
                    BeheerderSqlContext bsc = new BeheerderSqlContext();
                    BeheerderRepository br  = new BeheerderRepository(bsc);
                    Session["LoggedInUser"] = br.GetById(g.Id);
                    return(RedirectToAction("Index", "Beheerder"));
                }
                if (types.Contains(GebruikerType.Hulpverlener))
                {
                    HulpverlenerSqlContext hsc = new HulpverlenerSqlContext();
                    HulpverlenerRepository hr  = new HulpverlenerRepository(hsc);
                    Session["LoggedInUser"] = hr.GetById(g.Id);
                    return(RedirectToAction("Index", "Hulpverlener"));
                }
                return(RedirectToAction("Index", "Login"));
            }
            catch (Exception e)
            {
                return(RedirectToAction("Index", "Error"));
            }
        }