public RegistreerPage_Mobile()
 {
     gebruikerViewModel = new GebruikerViewModel();
     this.InitializeComponent();
     Soort.Items.Add("Ondernemer");
     Soort.Items.Add("Gebruiker");
 }
        public ActionResult Edit(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            ApplicationUser gebruiker = db.Users.Find(id);

            if (gebruiker == null)
            {
                return(HttpNotFound());
            }

            GebruikerViewModel gebruikerView = new GebruikerViewModel
            {
                Id             = gebruiker.Id,
                Email          = gebruiker.Email,
                Voornaam       = gebruiker.Voornaam,
                Tussenvoegsel  = gebruiker.Tussenvoegsel,
                Achternaam     = gebruiker.Achternaam,
                Telefoonnummer = gebruiker.Telefoonnummer
            };

            return(View(gebruikerView));
        }
Beispiel #3
0
        private List <GroepViewModel> GetGroepen()
        {
            List <GroepViewModel> groepen = new List <GroepViewModel>();

            groepen.Add(new GroepViewModel {
                Id = 1, Naam = "Parent groep"
            });
            groepen.Add(new GroepViewModel {
                Id = 2, Naam = "Groep 2", IdParent = 1
            });
            groepen.Add(new GroepViewModel {
                Id = 3, Naam = "Groep 3", IdParent = 1
            });
            groepen.Add(new GroepViewModel {
                Id = 4, Naam = "Groep 4", IdParent = 1
            });

            Random random = new Random();

            for (int i = 1; i < 10; i++)
            {
                GebruikerViewModel gebruiker = new GebruikerViewModel {
                    Id = Guid.NewGuid(), Naam = "Gebruiker " + i
                };
                Int32 randomNumber = random.Next(groepen.Count);
                groepen.Find(x => x.Id == randomNumber + 1).Gebruikers.Add(gebruiker);
            }

            return(groepen);
        }
        public ActionResult GoToUserPage()
        {
            string             username = Session["Username"].ToString();
            Gebruiker          F        = Repo.GetGebruiker(username);
            GebruikerViewModel obj      = new GebruikerViewModel(F.Username, F.Password, F.Email, F.Description);

            return(View("userPage", obj));
        }
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     OndernemingviewModel = new OndernemingenViewModel();
     CategorieViewModel   = new CategorieViewModel();
     gebruikerViewModel   = new GebruikerViewModel();
     fillPage();
 }
        // view: userpage
        public ActionResult Description(GebruikerViewModel obj)
        {
            string Username = Session["Username"].ToString();



            Gebruiker Y = Repo.GetGebruiker(Username);

            obj = new GebruikerViewModel(Y.Username, Y.Password, Y.Email, Y.Description);
            return(View("EditUserPage", obj));
        }
        public ActionResult Register(GebruikerViewModel obj)
        {
            try
            {
                Gebruiker X = new Gebruiker(obj.Username, obj.Password, obj.Email);
                Repo.addGebruiker(X);
                return(View("Login"));
            }

            catch (SqlException e)
            {
                return(View("Nope"));
            }
        }
        public ActionResult GoToShortlist(GebruikerViewModel obj)
        {
            string username = Session["Username"].ToString();

            int usID = Repo.getGebruikerID(username);

            if (usID != 0)
            {
                Session["usID"] = usID;

                return(RedirectToAction("Shortlist", "verhaal"));
            }

            else
            {
                return(View("Nope"));
            }
        }
        //view: login
        public ActionResult Login(GebruikerViewModel obj)
        {
            Gebruiker X = new Gebruiker(obj.Username, obj.Password);
            //Repo.LoginGebruiker(X);
            Gebruiker Y = Repo.LoginGebruiker(X);



            if (Y != null)
            {
                obj = new GebruikerViewModel(Y.Username, Y.Password, Y.Email, Y.Description);
                // you gotta fill the session before you return the view, or else its bad

                Session["Username"] = obj.Username;

                return(View("userPage", obj));
            }

            else
            {
                return(View("Nope"));
            }
        }
        public ActionResult Edit(GebruikerViewModel gebruikerView)
        {
            ApplicationUser gebruiker = db.Users.Find(gebruikerView.Id);

            if (gebruiker == null)
            {
                return(HttpNotFound());
            }

            if (!ModelState.IsValid)
            {
                return(View(gebruikerView));
            }

            gebruiker.Voornaam       = gebruikerView.Voornaam;
            gebruiker.Tussenvoegsel  = gebruikerView.Tussenvoegsel;
            gebruiker.Achternaam     = gebruikerView.Achternaam;
            gebruiker.Telefoonnummer = gebruikerView.Telefoonnummer;

            db.Entry(gebruiker).State = EntityState.Modified;
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public ActionResult CreateLeefgroep(GebruikerViewModel.LeefgroepViewModel model)
        {
            if (UserStillLoggedIn() || !(_gebruikerRepository.FindById((int)Session["gebruiker"]) is Admin))
            {
                return ReturnToLogin();
            }
            if (ModelState.IsValid)
            {
                var opvangtehuis = new Opvangtehuis(model.Naam, model.Straat, model.StraatNummer, model.Gemeente, model.Postcode);
                _opvangtehuisRepository.AddLeefgroep(opvangtehuis);
                _opvangtehuisRepository.SaveChanges();

                this.AddNotification("De leefgroep is toegevoegd", NotificationType.SUCCESS);
                return RedirectToAction("AdminIndex");
            }

            return View();
        }
        public ActionResult AchtergrondInstelling(GebruikerViewModel.InstellingenViewModel model)
        {
            if (UserStillLoggedIn())
            {
                return ReturnToLogin();
            }

            var gebruiker = _gebruikerRepository.FindById((int)Session["gebruiker"]);
            if (ModelState.IsValid)
            {
                if (model.AchtergrondAfbeeldingInstellenViewModel.BackgroundUpload != null)
                {
                    gebruiker.AddBackground(ImageUploadBackgroundAfbeelding(model.AchtergrondAfbeeldingInstellenViewModel.BackgroundUpload));
                    Session["backgroundurl"] = gebruiker.BackgroundUrl;
                    _gebruikerRepository.SaveChanges();
                }
            }

            var pavm = new GebruikerViewModel.ProfielAfbeeldingInstellenViewModel(gebruiker.ImageUrl);
            var aavm = new GebruikerViewModel.AchtergrondAfbeeldingInstellenViewModel(gebruiker.BackgroundUrl);
            var ivm = new GebruikerViewModel.InstellingenViewModel(gebruiker.GetType().Name, pavm, aavm);
            return View("Instellingen", ivm);
        }
        public ActionResult WachtwoordAanpassen(GebruikerViewModel.InstellingenViewModel model)
        {
            if (UserStillLoggedIn())
            {
                return ReturnToLogin();
            }

            var gebruiker = _gebruikerRepository.FindById((int)Session["gebruiker"]);
            if (ModelState.IsValid)
            {
                if (IsValid(model.ChangeViewModel.Wachtwoord, gebruiker.Gebruikersnaam))
                {
                    string pass = BCrypt.Net.BCrypt.HashPassword(model.ChangeViewModel.NieuwWachtwoord, BCrypt.Net.BCrypt.GenerateSalt());

                    gebruiker.WachtwoordAanpassen(pass);
                    _gebruikerRepository.SaveChanges();

                    this.AddNotification("Je wachtwoord is aangepast", NotificationType.SUCCESS);
                    return RedirectToAction("Instellingen");
                }
                ModelState.AddModelError("Wachtwoord", "Het wachtwoord dat is ingegeven is niet correct");
            }
            var pavm = new GebruikerViewModel.ProfielAfbeeldingInstellenViewModel(gebruiker.ImageUrl);
            var aavm = new GebruikerViewModel.AchtergrondAfbeeldingInstellenViewModel(gebruiker.BackgroundUrl);
            var ivm = new GebruikerViewModel.InstellingenViewModel(gebruiker.GetType().Name, pavm, aavm);
            return View("Instellingen", ivm);
        }
        public ActionResult KamerControleOverview(GebruikerViewModel.KamerControleOverviewViewModel model)
        {
            if (UserStillLoggedIn() || !(_gebruikerRepository.FindById((int)Session["gebruiker"]) is Opvoeder))
            {
                return ReturnToLogin();
            }

            foreach (var c in model.KamerControleViewModels)
            {
                Client client = (Client)_gebruikerRepository.FindById(c.ClientId);
                var opvangtehuis = _gebruikerRepository.FindById(client.Id).Opvangtehuis;
                var kamercontrole = client.ViewKamerControle(opvangtehuis.GetKamerControleOpdrachten());

                foreach (var i in kamercontrole.KamerControleItems)
                {
                    foreach (var ivm in c.ControleItemViewModels.Where(m => m.Titel == i.GetControleOpdrachtTitel()))
                    {
                        i.OpdrachtGedaanControle = ivm.DoneOpvoeder;
                    }
                }
            }
            _gebruikerRepository.SaveChanges();
            this.AddNotification("De wijzigingen zijn opgeslagen", NotificationType.SUCCESS);
            return RedirectToAction("KamerControleOverview");
        }
        public ActionResult Forum(GebruikerViewModel.ForumViewModel model)
        {
            if (UserStillLoggedIn() || _gebruikerRepository.FindById((int)Session["gebruiker"]) is Admin)
            {
                return ReturnToLogin();
            }

            if (ModelState.IsValid)
            {
                var gebruiker = _gebruikerRepository.FindById((int)Session["gebruiker"]);

                if (gebruiker is Client)
                {
                    var client = (Client)gebruiker;
                    client.GetForumById(model.ForumId).AddPost(new Post(model.Post, client));
                }
                else
                {
                    var opvoeder = (Opvoeder)gebruiker;
                    opvoeder.GetForumById(model.ForumId).AddPost(new Post(model.Post, opvoeder));
                }

                _gebruikerRepository.SaveChanges();

                return RedirectToAction("Forum");
            }
            return View();
        }
        public ActionResult CreateSanctie(GebruikerViewModel.SanctieViewModel model)
        {
            if (UserStillLoggedIn() && !(_gebruikerRepository.FindById((int)Session["gebruiker"]) is Opvoeder))
            {
                return ReturnToLogin();
            }

            Opvangtehuis opvangtehuis;
            if (ModelState.IsValid)
            {
                try
                {
                    var gebruiker = (Client)_gebruikerRepository.FindById(model.Id);
                    opvangtehuis = _gebruikerRepository.FindById(gebruiker.Id).Opvangtehuis;
                    gebruiker.AddSanctie(model.Rede, model.Date, model.EindDatum, opvangtehuis.FindStrafByName(model.GeselecteerdeStraf));
                    _gebruikerRepository.SaveChanges();

                    this.AddNotification("Een sanctie is toegevoegd", NotificationType.SUCCESS);
                    return RedirectToAction("OpvoederIndex");
                }
                catch (ApplicationException e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }

            opvangtehuis = _gebruikerRepository.FindById((int)Session["gebruiker"]).Opvangtehuis;
            var svm = new GebruikerViewModel.SanctieViewModel(model.Id, _gebruikerRepository.FindById(model.Id).GiveFullName());
            svm.SetStraffen(opvangtehuis.GetStraffen().Select(s => s.Naam).ToList());
            return View(svm);

        }
        public ActionResult Edit(GebruikerViewModel.EditViewModel model)
        {
            if (UserStillLoggedIn() || _gebruikerRepository.FindById((int)Session["gebruiker"]) is Client)
            {
                return ReturnToLogin();
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var gebruiker = _gebruikerRepository.FindById(model.Id);
                    gebruiker.EditGebruiker(model.Naam, model.Voornaam,
                        _opvangtehuisRepository.FindByName(model.GeselecteerdOpvangtehuisId),
                     ImageUploadProfielAfbeelding(model.Image));

                    _gebruikerRepository.UpdateGebruiker(gebruiker);
                    _gebruikerRepository.SaveChanges();

                    this.AddNotification("De gebruiker is aangepast", NotificationType.SUCCESS);

                    if (_gebruikerRepository.FindById((int)Session["gebruiker"]) is Admin)
                    {
                        return RedirectToAction("AdminIndex");
                    }

                    return RedirectToAction("OpvoederIndex");
                }
                catch (ApplicationException e)
                {
                    ModelState.AddModelError("", e.Message);
                }

            }

            var gebruiker1 = _gebruikerRepository.FindById(model.Id);
            var type = _gebruikerRepository.FindById((int)Session["gebruiker"]).GetType().Name;

            var evm = new GebruikerViewModel.EditViewModel(gebruiker1.Id, gebruiker1.Naam, gebruiker1.Voornaam,
                 gebruiker1.GetOpvangtehuisnaam(), type, gebruiker1.ImageUrl);

            if (_gebruikerRepository.FindById((int)Session["gebruiker"]) is Admin)
            {
                evm.SetOpvangtehuizen(_opvangtehuisRepository.FindAll().Select(oh => oh.Naam).ToList());
            }
            else
            {
                evm.AddOpvangtehuis(_gebruikerRepository.FindById((int)Session["gebruiker"]).GetOpvangtehuisnaam());
            }

            return View(evm);

        }
        public ActionResult VergetenWachtwoordAanpassen(GebruikerViewModel.ForgottenPasswordChangeViewModel model)
        {
            if (UserStillLoggedIn() || !(_gebruikerRepository.FindById((int)Session["gebruiker"]) is Admin))
            {
                return ReturnToLogin();
            }

            var gebruiker = _gebruikerRepository.FindById(model.Id);
            if (ModelState.IsValid)
            {
                string pass = BCrypt.Net.BCrypt.HashPassword(model.NieuwWachtwoord, BCrypt.Net.BCrypt.GenerateSalt());

                gebruiker.WachtwoordAanpassen(pass);
                _gebruikerRepository.SaveChanges();

                this.AddNotification("Je wachtwoord is aangepast", NotificationType.SUCCESS);
                return RedirectToAction("AdminIndex");
            }
            var fpcvm = new GebruikerViewModel.ForgottenPasswordChangeViewModel(gebruiker.Id);

            return View(fpcvm);
        }
        public ActionResult CreateClient(GebruikerViewModel.CreateClientViewModel model)
        {
            if (UserStillLoggedIn() || _gebruikerRepository.FindById((int)Session["gebruiker"]) is Client)
            {
                return ReturnToLogin();
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (model.GeselecteerdOpvangtehuisId != null)
                    {

                        if (_gebruikerRepository.FindByUsername(model.GebruikersNaam) != null)
                        {
                            this.AddNotification("Er is al reeds iemand met deze gebruikersnaam", NotificationType.ERROR);
                            return RedirectToAction("CreateClient");
                        }

                        //var crypto = new SimpleCrypto.PBKDF2();
                        //var encrytwachtwoord = crypto.Compute(model.Wachtwoord);

                        string pass = BCrypt.Net.BCrypt.HashPassword(model.Wachtwoord, BCrypt.Net.BCrypt.GenerateSalt());

                        var client = new Client(model.Naam, model.Voornaam,
                            _opvangtehuisRepository.FindByName(model.GeselecteerdOpvangtehuisId), model.GebruikersNaam,
                             pass);

                        _gebruikerRepository.AddClient(client);
                        _gebruikerRepository.SaveChanges();

                        if (_gebruikerRepository.FindById((int)Session["gebruiker"]) is Admin)
                        {
                            this.AddNotification("Cliënt toegevoegd", NotificationType.SUCCESS);
                            return RedirectToAction("AdminIndex");
                        }

                        this.AddNotification("Cliënt toegevoegd", NotificationType.SUCCESS);
                        return RedirectToAction("OpvoederIndex");

                    }
                }
                catch (ApplicationException e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }

            var ccvm = new GebruikerViewModel.CreateClientViewModel()
            {
                GebruikerType = _gebruikerRepository.FindById((int)Session["gebruiker"]).GetType().Name,
                Opvangtehuizen = _opvangtehuisRepository.FindAll().Select(oh => oh.Naam).ToList()
            };

            return View(ccvm);
        }
        public ActionResult CreateOpvoeder(GebruikerViewModel.CreateOpvoederViewModel model)
        {
            if (UserStillLoggedIn() || !(_gebruikerRepository.FindById((int)Session["gebruiker"]) is Admin))
            {
                return ReturnToLogin();
            }

            if (!ImageIsValidType(model.ImageUpload))
            {
                ModelState.AddModelError("ImageUpload", "Dit is geen foto");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (_gebruikerRepository.FindByUsername(model.GebruikersNaam) != null)
                    {
                        this.AddNotification("Er is al reeds iemand met deze gebruikersnaam", NotificationType.ERROR);
                        return RedirectToAction("CreateOpvoeder");
                    }


                    string pass = BCrypt.Net.BCrypt.HashPassword(model.Wachtwoord, BCrypt.Net.BCrypt.GenerateSalt());

                    var opvoeder = new Opvoeder(model.Naam, model.Voornaam,
                        _opvangtehuisRepository.FindByName(model.GeselecteerdOpvangtehuisId), model.GebruikersNaam, pass, ImageUploadProfielAfbeelding(model.ImageUpload), model.IsStagair);

                    //var crypto = new SimpleCrypto.PBKDF2();
                    //var encrytwachtwoord = crypto.Compute(model.Wachtwoord);

                    //var opvoeder = new Opvoeder(model.Naam, model.Voornaam,
                    //    _opvangtehuisRepository.FindByName(model.GeselecteerdOpvangtehuisId), model.GebruikersNaam, encrytwachtwoord, crypto.Salt, ImageUploadProfielAfbeelding(model.ImageUpload), model.IsStagair);

                    _gebruikerRepository.AddOpvoeder(opvoeder);
                    _gebruikerRepository.SaveChanges();

                    this.AddNotification("Opvoeder toegevoegd", NotificationType.SUCCESS);
                    return RedirectToAction("AdminIndex");
                }
                catch (ApplicationException e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }

            var covm =
                new GebruikerViewModel.CreateOpvoederViewModel(
                    _opvangtehuisRepository.FindAll().Select(oh => oh.Naam).ToList());

            return View(covm);
        }