public IActionResult Create(Werkgever wg)
        {
            var result = _repository.AddWerkgever(wg);
            var id     = wg.Id;

            return(CreatedAtRoute("GetWerkgever", new { id = wg.Id }, wg));
        }
 public WerkgeverViewModel(Werkgever werkgever)
 {
     Naam = werkgever.Naam;
     PatronaleBijdrage = werkgever.PatronaleBijdrage;
     LinkNaarLogoPrent = werkgever.LinkNaarLogoPrent;
     AantalWerkuren    = 38;
 }
예제 #3
0
        private bool HandleEvent(WerkgeverGeregistreerd e)
        {
            Werkgever werkgever = _werkgeverGeregistreerdToWerkgeverMapper.Map <Werkgever>(e);

            _repo.RegistreerWerkgever(werkgever);
            return(true);
        }
 public List <Leerling> GetByWerkgever(Werkgever werkgever)
 {
     return(_leerlingen.Where(leerling => leerling.Werkgever.Id == werkgever.Id)
            .Include(l => l.Richting)
            .Include(l => l.Werkgever)
            .OrderBy(l => l.Id).ToList());
 }
예제 #5
0
 public void RegistreerWerkgever(Werkgever werkgever)
 {
     using (var db = new LiteDatabase(_databaseFile))
     {
         var col = db.GetCollection <Werkgever>("werkgever");
         col.Insert(werkgever);
         db.Commit();
     }
 }
        public ActionResult <Werkgever> Update(int id, Werkgever wg)
        {
            var result = _repository.UpdateWerkgever(id, wg);

            return(result ?? (ActionResult <Werkgever>)NotFound(new Dictionary <string, string>()
            {
                { "message", $"werkgever with id: {id} not found" }
            }));
        }
예제 #7
0
        public Werkgever Delete(int id)
        {
            Werkgever wg = _werkgevers.FirstOrDefault(w => w.Id == id);

            if (wg == null)
            {
                return(null);
            }
            _werkgevers.Remove(wg);
            SaveChanges();
            return(wg);
        }
        public void TestIndex_GeenContactPersoonIngesteld_RedirectNaarVoegContactPersoonToe()
        {
            Analyse analyse = new Analyse {
                Departement = _dbContext.Aldi
            };
            Werkgever werkgever = new Werkgever();

            _werkgeverRepository.Setup(w => w.GetById(It.IsAny <int>())).Returns(werkgever);

            var result = _controller.Index(analyse) as RedirectToActionResult;

            Assert.Equal("VoegContactPersoonToe", result?.ActionName);
        }
 public WerkgeverViewModel(Werkgever werkgever)
 {
     if (werkgever != null)
     {
         DecimalConverter dc = new DecimalConverter();
         WerkgeverId       = werkgever.WerkgeverId;
         Naam              = werkgever.Naam;
         Straat            = werkgever.Straat;
         Nummer            = werkgever.Nummer;
         Bus               = werkgever.Bus;
         Postcode          = werkgever.Postcode;
         Gemeente          = werkgever.Gemeente;
         AantalWerkuren    = dc.ConvertToString(werkgever.AantalWerkuren);
         PatronaleBijdrage = dc.ConvertToString(werkgever.PatronaleBijdrage);
     }
 }
예제 #10
0
        public Werkgever UpdateWerkgever(int id, Werkgever werkgever)
        {
            Werkgever wg = _werkgevers.FirstOrDefault(w => w.Id == id);

            if (wg == null)
            {
                return(null);
            }
            else
            {
                wg.Naam           = werkgever.Naam;
                wg.TelefoonNummer = werkgever.TelefoonNummer;
                wg.Werkplaats     = werkgever.Werkplaats;
                wg.Email          = werkgever.Email;
                _werkgevers.Update(wg);
                SaveChanges();
            }
            return(wg);
        }
예제 #11
0
        public ActionResult <Werkgever> WerkgeverToekennen(int id, Werkgever werkgever)
        {
            var leerling = _leerlingRepository.GetLeerling(id);

            if (leerling == null)
            {
                return(NotFound(new { message = $"Geen leerling gevonden met id {id}" }));
            }

            var toeTeKennenWerkgever = _werkgeversRepository.GetWerkgever(werkgever.Id);

            if (werkgever == null)
            {
                return(NotFound(new { message = $"Geen werkgever gevonden met id {id}" }));
            }

            leerling.Werkgever = toeTeKennenWerkgever;
            _leerlingRepository.SaveChanges();

            return(werkgever);
        }
        private bool ControleerBestaandDepartement(Departement departement, Werkgever werkgever)
        {
            if (departement != null)
            {
                // het departement bestaat al, kijken of de werkgever ook al bestaat
                Werkgever other = departement.Werkgever;

                if (string.Equals(werkgever.Naam, other.Naam) &&
                    string.Equals(werkgever.Straat, other.Straat) &&
                    werkgever.Nummer == other.Nummer &&
                    werkgever.Postcode == other.Postcode &&
                    string.Equals(werkgever.Gemeente, other.Gemeente) &&
                    werkgever.AantalWerkuren.Equals(other.AantalWerkuren))
                {
                    // beiden bestaan al
                    return(true);
                }
            }

            return(false);
        }
        public IActionResult NieuwDepartement(int id)
        {
            try
            {
                // id is het id van de werkgever
                // werkgever ophalen
                Werkgever werkgever = _werkgeverRepository.GetById(id);

                // viewmodel aanmaken
                WerkgeverViewModel model = new WerkgeverViewModel(werkgever);

                return(View(model));
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Werkgever", "NieuwDepartement -- GET --"));
                _exceptionLogRepository.Save();
                TempData["Error"] = "Er ging onverwachts iets fout, probeer later opnieuw";
            }

            return(RedirectToAction("BestaandeWerkgever"));
        }
        public IActionResult Index(Analyse analyse)
        {
            try
            {
                if (analyse.Departement == null)
                {
                    TempData["error"] = "U hebt nog geen werkgever geselecteerd, gelieve deze eerst te selecteren";
                    return(RedirectToAction("Index", "Werkgever"));
                }

                ViewData["analyseId"] = analyse.AnalyseId;

                int id = analyse.Departement.Werkgever.WerkgeverId;
                ViewData["WerkgeverId"] = id;

                Werkgever werkgever = _werkgeverRepository.GetById(id);

                analyse.Departement = _departementRepository.GetById(analyse.Departement.DepartementId);

                if (analyse.Departement?.ContactPersoon != null)
                {
                    ContactPersoonViewModel model = new ContactPersoonViewModel(analyse.Departement?.ContactPersoon,
                                                                                analyse.Departement.Werkgever.WerkgeverId);
                    return(View("Index", model));
                }
                else
                {
                    TempData["error"] = "Er is nog geen contactpersoon, voeg hier eventueel een contactpersoon toe";
                    return(RedirectToAction("VoegContactPersoonToe", new { id = werkgever.WerkgeverId }));
                }
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "ContactPersoon", "Index"));
                _exceptionLogRepository.Save();
                TempData["error"] = "Er ging onverwachts iets mis, probeer later opnieuw";
                return(RedirectToAction("Index", "Werkgever"));
            }
        }
 public void Delete(Werkgever wg)
 {
     ctx.Werkgevers.Remove(wg);
     ctx.SaveChanges();
 }
예제 #16
0
 public BestaandeWerkgeverInfoViewModel(Werkgever werkgever)
 {
     WerkgeverId = werkgever.WerkgeverId;
     Naam        = werkgever.Naam;
 }
예제 #17
0
        public async Task InitializeData()
        {
            _dbContext.Database.EnsureDeleted();
            if (_dbContext.Database.EnsureCreated())
            {
                await InitializeUsers();

                // Doelgroepen aanmaken
                InitializeDoelgroepen();

                ContactPersoon contactThomas = new ContactPersoon("Thomas", "Aelbrecht", "*****@*****.**");
                ContactPersoon contactRobin  = new ContactPersoon("Robin", "Coppens", "*****@*****.**");
                ContactPersoon contactDimi   = new ContactPersoon("Dimmy", "Maenhout", "*****@*****.**");

                Werkgever werkgever =
                    new Werkgever("VDAB", "Vooruitgangstraat", 1, "", 9300, "Aalst", 37);

                Departement departement = new Departement("Onderhoudsdienst")
                {
                    Werkgever = werkgever
                };
                werkgever.Departementen.Add(departement);
                _departementRepository.Add(departement);
                _werkgeverRepository.Add(werkgever);

                werkgever =
                    new Werkgever("ALDI", "Leo Duboistraat", 20, "", 9280, "Lebbeke", 37);

                departement = new Departement("Aankoop")
                {
                    Werkgever = werkgever
                };
                werkgever.Departementen.Add(departement);
                _departementRepository.Add(departement);
                _werkgeverRepository.Add(werkgever);

                werkgever =
                    new Werkgever("Coolblue", "Medialaan", 1, "", 1000, "Brussel", 35);

                departement = new Departement("Human resources")
                {
                    Werkgever = werkgever
                };
                werkgever.Departementen.Add(departement);
                _departementRepository.Add(departement);
                _werkgeverRepository.Add(werkgever);

                werkgever =
                    new Werkgever("Coolblue", "Medialaan", 2, "", 1000, "Brussel", 35);
                _werkgeverRepository.Add(werkgever);
                werkgever =
                    new Werkgever("Coolblue", "Medialaan", 3, "", 1000, "Brussel", 35);
                _werkgeverRepository.Add(werkgever);
                werkgever =
                    new Werkgever("Coolblue", "Medialaan", 4, "", 1000, "Brussel", 35);
                _werkgeverRepository.Add(werkgever);
                werkgever =
                    new Werkgever("Coolblue", "Medialaan", 5, "", 1000, "Brussel", 35);
                _werkgeverRepository.Add(werkgever);
                werkgever =
                    new Werkgever("Coolblue", "Medialaan", 6, "", 1000, "Brussel", 35);
                _werkgeverRepository.Add(werkgever);
                werkgever =
                    new Werkgever("Coolblue", "Medialaan", 7, "", 1000, "Brussel", 35);
                _werkgeverRepository.Add(werkgever);
                werkgever =
                    new Werkgever("Coolblue", "Medialaan", 8, "", 1000, "Brussel", 35);
                _werkgeverRepository.Add(werkgever);
                werkgever =
                    new Werkgever("Coolblue", "Medialaan", 9, "", 1000, "Brussel", 35);
                _werkgeverRepository.Add(werkgever);


                InitializeIntrotekst();

                _departementRepository.Save();
                _werkgeverRepository.Save();

                Jobcoach thomas = _gebruikerRepository.GetByEmail("*****@*****.**");

                Analyse analyse = new Analyse();

                departement = new Departement("Verkoop")
                {
                    Werkgever = werkgever
                };
                analyse.Departement = departement;

                analyse.Loonkosten = MaakLoonkosten();

                analyse.ExtraKosten = MaakExtraKosten();

                analyse.MedewerkersZelfdeNiveauBaten = MaakMedewerkerNiveauBaten();

                analyse.Subsidie = new Subsidie {
                    Bedrag = 1500
                };

                analyse.UitzendKrachtBesparingen = MaakUitzendKrachtBesparingen();

                analyse.UpdateTotalen(_analyseRepository);

                _analyseRepository.Add(analyse);
                _analyseRepository.Save();

                thomas.Analyses.Add(analyse);
                _gebruikerRepository.Save();
            }
            _dbContext.SaveChanges();
        }
 public void Delete(Werkgever wg)
 {
     throw new NotImplementedException();
 }
        public IActionResult NieuwDepartement(Analyse analyse, WerkgeverViewModel model)
        {
            try
            {
                Departement      departement = _departementRepository.GetByName(model.Departement);
                DecimalConverter dc          = new DecimalConverter();
                Werkgever        werkgever   = new Werkgever
                {  // nieuwe werkgever aanmaken
                    Naam              = model.Naam,
                    Postcode          = model.Postcode,
                    Gemeente          = model.Gemeente,
                    AantalWerkuren    = dc.ConvertToDecimal(model.AantalWerkuren),
                    PatronaleBijdrage = dc.ConvertToDecimal(model.PatronaleBijdrage),
                    // straat en nummer zijn niet verplicht,
                    // maar als ze ingevuld zijn, instellen in de werkgever
                    Straat = model.Straat,
                    Nummer = model.Nummer,
                    Bus    = model.Bus
                };

                bool result = ControleerBestaandDepartement(departement, werkgever);

                if (result)
                {
                    TempData["Error"] = "De werkgever " + model.Naam + " met als departement " + model.Departement + " bestaat al.";

                    // terugsturen naar het formulier
                    return(View("NieuwDepartement", model));
                }

                departement = new Departement(model.Departement);
                werkgever.Departementen.Add(departement);

                werkgever = _werkgeverRepository.GetById(model.WerkgeverId);

                departement.Werkgever = werkgever;

                // alles instellen
                _departementRepository.Add(departement);
                analyse.Departement = departement;

                // alles opslaan
                _departementRepository.Save();
                _analyseRepository.Save();

                TempData["message"] = "Het nieuwe departement is succesvol toegevoegd";

                return(RedirectToAction("Index", "ContactPersoon"));
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "Werkgever", "NieuwDepartement -- POST --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = "Er ging onverwachts iets fout, probeer later opnieuw";
                }
            }

            return(View(model));
        }
예제 #20
0
 public Werkgever AddWerkgever(Werkgever werkgever)
 {
     _werkgevers.Add(werkgever);
     SaveChanges();
     return(werkgever);
 }
        public IActionResult Opslaan(Analyse analyse, WerkgeverViewModel model)
        {
            try
            {
                Departement      departement = _departementRepository.GetById(model.DepartementId);
                Werkgever        werkgever   = departement.Werkgever;
                DecimalConverter dc          = new DecimalConverter();
                analyse = _analyseRepository.GetByIdAll(analyse.AnalyseId);
                // werkgever instellen
                Werkgever nieuweWerkgever = new Werkgever(model.Naam, model.Straat, model.Nummer ?? 0, model.Bus,
                                                          model.Postcode, model.Gemeente, dc.ConvertToDecimal(model.AantalWerkuren), dc.ConvertToDecimal(model.PatronaleBijdrage));

                // departement instellen
                if (departement != null && !string.Equals(model.Departement, departement.Naam))
                {
                    // de jobcoach heeft de departementsnaam gewijzigd,
                    // dus we maken een nieuw departement aan
                    departement = new Departement(model.Departement)
                    {
                        Werkgever = werkgever
                    };
                    werkgever.Departementen.Add(departement);
                }

                if (werkgever != null && !nieuweWerkgever.Equals(werkgever))
                {
                    werkgever.Departementen.Remove(departement);
                    departement = new Departement(model.Departement)
                    {
                        Werkgever = nieuweWerkgever
                    };
                    nieuweWerkgever.Departementen.Add(departement);
                }
                else
                {
                    departement.Werkgever = werkgever;
                }

                // instellen in de analyse
                analyse.Departement = departement;

                // alles opslaan
                _departementRepository.Save();
                _analyseRepository.Save();

                TempData["message"] = "De werkgever is succesvol opgeslaan";

                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "Werkgever", "Opslaan "));
                    _exceptionLogRepository.Save();
                    TempData["error"] = "Er ging onverwachts iets fout, probeer later opnieuw";
                }
            }

            return(View("Index", model));
        }
예제 #22
0
        public void TestConstructorStandaardWaarden()
        {
            Werkgever werkgever = new Werkgever();

            Assert.Equal(35, werkgever.PatronaleBijdrage);
        }
예제 #23
0
 public void Remove(Werkgever werkgever)
 {
     _werkgevers.Remove(werkgever);
 }
예제 #24
0
 public void Add(Werkgever werkgever)
 {
     _werkgevers.Add(werkgever);
 }