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

            var hulpverlener = repo.GetById(1);

            Assert.AreEqual("snekmel", hulpverlener.Gebruikersnaam);
        }
        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"));
            }
        }
Beispiel #3
0
        public List <Hulpbehoevende> GetAllHulpbehoevenden()
        {
            List <Hulpbehoevende> returnList = new List <Hulpbehoevende>();

            try
            {
                using (SqlConnection con = new SqlConnection(Env.ConnectionString))
                {
                    string     query = "SELECT Gebruiker.*, Hulpbehoevende.HulpverlenerId FROM Hulpbehoevende INNER JOIN Gebruiker ON Hulpbehoevende.GebruikerId = Gebruiker.Id";
                    SqlCommand cmd   = new SqlCommand(query, con);
                    con.Open();
                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        var foto = "";

                        if (!reader.IsDBNull(1))
                        {
                            foto = reader.GetString(1);
                        }

                        HulpverlenerSqlContext sql  = new HulpverlenerSqlContext();
                        HulpverlenerRepository repo = new HulpverlenerRepository(sql);

                        Hulpverlener hulpverlener = repo.GetById(reader.GetInt32(18));

                        Hulpbehoevende hv = new Hulpbehoevende(
                            reader.GetInt32(0),
                            foto,
                            reader.GetString(2),
                            reader.GetString(3),
                            reader.GetString(4),
                            reader.GetString(5),
                            reader.GetDateTime(6),
                            Convert.ToBoolean(reader.GetInt32(7)),
                            Convert.ToBoolean(reader.GetInt32(8)),
                            Convert.ToBoolean(reader.GetInt32(9)),
                            reader.GetString(10),
                            reader.GetString(12),
                            reader.GetString(13),
                            reader.GetString(14),
                            reader.GetString(15),
                            (Geslacht)Enum.Parse(typeof(Geslacht), reader.GetString(16)),
                            hulpverlener
                            );

                        //Barcode
                        if (!reader.IsDBNull(17))
                        {
                            hv.Barcode = reader.GetString(17);
                        }

                        //Uitschrijfdatum
                        if (!reader.IsDBNull(11))
                        {
                            hv.Uitschrijfdatum = reader.GetDateTime(11);
                        }

                        returnList.Add(hv);
                    }
                    con.Close();
                }

                return(returnList);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }