public LoonkostFormViewModel(Loonkost loon, IEnumerable <Doelgroep> doelgroepen) { DecimalConverter dc = new DecimalConverter(); Id = loon.Id; AantalUrenPerWeek = loon.AantalUrenPerWeek; Beschrijving = loon.Beschrijving; Bedrag = dc.ConvertToString(loon.Bedrag); BrutoMaandloonFulltime = dc.ConvertToString(loon.BrutoMaandloonFulltime); Ondersteuningspremie = (int)loon.Ondersteuningspremie; AantalMaandenIBO = loon.AantalMaandenIBO; IBOPremie = dc.ConvertToString(loon.IBOPremie); doelgroep = loon.Doelgroep?.DoelgroepId; Doelgroep mogelijkVerwijderd = doelgroepen.SingleOrDefault(d => d.DoelgroepId == loon.Doelgroep?.DoelgroepId); if (mogelijkVerwijderd == null) { List <Doelgroep> doelgroeps = doelgroepen.ToList(); doelgroeps.Add(loon.Doelgroep); doelgroepen = doelgroeps; } DoelgroepSelectList = new SelectList(doelgroepen, nameof(Doelgroep.DoelgroepId), nameof(Doelgroep.Omschrijving), doelgroep); }
public void TestBerekenBrutoloonPerMaand_GegevenGelijkAan0_Returns0() { _aantalWerkuren = 37; _loonkost = new Loonkost { BrutoMaandloonFulltime = 2000, AantalUrenPerWeek = 0 }; Assert.Equal(0, _loonkost.BerekenBrutoloonPerMaand(_aantalWerkuren, PatronaleBijdrage)); }
public void TestBerekenBrutoloonPerMaand_GegevenOntbreekt_Returns0() { // Werkgever.AantalWerkuren ontbreekt (standaard 0) _aantalWerkuren = 0; _loonkost = new Loonkost { BrutoMaandloonFulltime = 2000, AantalUrenPerWeek = 23 }; Assert.Equal(0, _loonkost.BerekenBrutoloonPerMaand(_aantalWerkuren, PatronaleBijdrage)); }
public void TestBerekenGemiddeldeVOPPerMaand_GegevenOntbreekt_Returns0() { // doelgroep ontbreekt _aantalWerkuren = 37; _loonkost = new Loonkost { BrutoMaandloonFulltime = 2000, AantalUrenPerWeek = 23 }; Assert.Equal(0, _loonkost.BerekenGemiddeldeVOPPerMaand(_aantalWerkuren, PatronaleBijdrage)); }
public LoonkostViewModel(Loonkost loon) { DecimalConverter dc = new DecimalConverter(); Id = loon.Id; AantalUrenPerWeek = loon.AantalUrenPerWeek; Beschrijving = loon.Beschrijving; Bedrag = dc.ConvertToString(loon.Bedrag); BrutoMaandloonFulltime = dc.ConvertToString(loon.BrutoMaandloonFulltime); Ondersteuningspremie = (int)loon.Ondersteuningspremie; AantalMaandenIBO = loon.AantalMaandenIBO; IBOPremie = dc.ConvertToString(loon.IBOPremie); Doelgroep = loon.Doelgroep; }
public void TestBerekenGemiddeldeVOPPerMaand_DoelgroepNull_Returns0() { _aantalWerkuren = 37; _loonkost = new Loonkost { BrutoMaandloonFulltime = 2000, AantalUrenPerWeek = 23, Doelgroep = null, Ondersteuningspremie = 30 }; Assert.Equal(0, _loonkost.BerekenGemiddeldeVOPPerMaand(_aantalWerkuren, PatronaleBijdrage)); }
public void TestBerekenTotaleLoonkost_GegevenOntbreekt_Returns0() { // IBOPremie en AantalMaandenIBO ontbreken _aantalWerkuren = 37; _loonkost = new Loonkost { BrutoMaandloonFulltime = 2000, AantalUrenPerWeek = 23, Doelgroep = new Doelgroep(Laaggeschoold, 2500M, 1550M), Ondersteuningspremie = 20 }; Assert.Equal(0, _loonkost.BerekenTotaleLoonkost(_aantalWerkuren, PatronaleBijdrage)); }
public IActionResult VoegToe(Analyse analyse, LoonkostFormViewModel model) { try { if (ModelState.IsValid) { analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.Loonkost); DecimalConverter dc = new DecimalConverter(); Loonkost kost = new Loonkost { Beschrijving = model.Beschrijving, AantalUrenPerWeek = model.AantalUrenPerWeek, BrutoMaandloonFulltime = dc.ConvertToDecimal(model.BrutoMaandloonFulltime), Ondersteuningspremie = model.Ondersteuningspremie, AantalMaandenIBO = model.AantalMaandenIBO, IBOPremie = dc.ConvertToDecimal(model.IBOPremie) }; if (model.doelgroep != null) { int doelgroepid = model.doelgroep ?? 0; kost.Doelgroep = _doelgroepRepository.GetById(doelgroepid); } analyse.Loonkosten.Add(kost); analyse.DatumLaatsteAanpassing = DateTime.Now; _analyseRepository.Save(); TempData["message"] = Meldingen.VoegToeSuccesvolKost; } } catch (Exception e) { if (e is ArgumentException || e is FormatException) { TempData["error"] = e.Message; } else { _exceptionLogRepository.Add(new ExceptionLog(e, "LoonKosten", "VoegToe -- POST --")); _exceptionLogRepository.Save(); TempData["error"] = Meldingen.OpslaanFoutmeldingKost; return(RedirectToAction("Index")); } } return(RedirectToAction("Index")); }
public void TestSetBedrag_DoetNiets() { _aantalWerkuren = 37; _loonkost = new Loonkost { BrutoMaandloonFulltime = 2000, AantalUrenPerWeek = 23, Doelgroep = new Doelgroep(Laaggeschoold, 2500M, 1550M), Ondersteuningspremie = 20, AantalMaandenIBO = 2, IBOPremie = 564.0M }; Assert.Equal(0, _loonkost.Bedrag); }
public IActionResult Bewerk(Analyse analyse, LoonkostViewModel model) { try { analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.Loonkost); Loonkost kost = KostOfBaatExtensions.GetBy(analyse.Loonkosten, model.Id); DecimalConverter dc = new DecimalConverter(); if (ModelState.IsValid && kost != null) { kost.Id = model.Id; kost.Beschrijving = model.Beschrijving; kost.AantalUrenPerWeek = model.AantalUrenPerWeek; kost.BrutoMaandloonFulltime = dc.ConvertToDecimal(model.BrutoMaandloonFulltime); kost.Doelgroep = _doelgroepRepository.GetById(model.Doelgroep.DoelgroepId); kost.Ondersteuningspremie = model.Ondersteuningspremie; kost.AantalMaandenIBO = model.AantalMaandenIBO; kost.IBOPremie = dc.ConvertToDecimal(model.IBOPremie); if (kost.Doelgroep == null) { TempData["error"] = "Opgelet! U heeft nog geen doelgroep geselecteerd. Er zal dus nog geen resultaat " + "berekend worden bij deze kost."; } analyse.DatumLaatsteAanpassing = DateTime.Now; _analyseRepository.Save(); TempData["message"] = Meldingen.OpslaanSuccesvolKost; } } catch (Exception e) { if (e is ArgumentException || e is FormatException) { ModelState.AddModelError("", e.Message); } else { _exceptionLogRepository.Add(new ExceptionLog(e, "LoonKosten", "Bewerk -- GET --")); _exceptionLogRepository.Save(); TempData["error"] = Meldingen.OpslaanFoutmeldingKost; return(RedirectToAction("Index")); } } return(RedirectToAction("Index")); }
private void MaakLoonkosten() { string laaggeschoold = "Wn's < 25 jaar laaggeschoold"; string middengeschoold = "Wn's < 25 jaar middengeschoold"; string tussen55En60 = "Wn's ≥ 55 en < 60 jaar"; Poetsvrouw = new Loonkost { Id = 1, BrutoMaandloonFulltime = 1800, AantalUrenPerWeek = 37, Doelgroep = new Doelgroep(laaggeschoold, 2500M, 1550M), Ondersteuningspremie = 20, AantalMaandenIBO = 2, IBOPremie = 564.0M }; Secretaresse = new Loonkost { Id = 2, BrutoMaandloonFulltime = 2200, AantalUrenPerWeek = 23, Doelgroep = new Doelgroep(middengeschoold, 2500M, 1000M), Ondersteuningspremie = 20, AantalMaandenIBO = 2, IBOPremie = 564.0M }; Postbode = new Loonkost { Id = 3, BrutoMaandloonFulltime = 1900, AantalUrenPerWeek = 35, Doelgroep = new Doelgroep(tussen55En60, 2500M, 1150M), Ondersteuningspremie = 20, AantalMaandenIBO = 2, IBOPremie = 564.0M }; Loonkosten = new List <Loonkost> { Poetsvrouw, Secretaresse, Postbode }; }
public void TestBerekenBrutoloonPerMaand_AlleGegevensIngevuld (int werkuren, decimal brutoloon, int urenPerWeek, string omschrijving, decimal minBrutoloon, decimal doelgroepvermindering, decimal expected) { _aantalWerkuren = werkuren; _loonkost = new Loonkost { BrutoMaandloonFulltime = brutoloon, AantalUrenPerWeek = urenPerWeek, Doelgroep = new Doelgroep(omschrijving, minBrutoloon, doelgroepvermindering) }; decimal brutoloonPerMaand = _loonkost.BerekenBrutoloonPerMaand(_aantalWerkuren, PatronaleBijdrage); // afronden omdat je werkt met decimals, de excel is ook afgerond op 2 decimalen brutoloonPerMaand = Math.Round(brutoloonPerMaand, 2); Assert.Equal(expected, brutoloonPerMaand); }
private List <Loonkost> MaakLoonkosten() { Loonkost poetsvrouw = new Loonkost { Beschrijving = "Poetsvrouw", BrutoMaandloonFulltime = 1800, AantalUrenPerWeek = 37, Doelgroep = _doelgroepRepository.GetById(1), Ondersteuningspremie = 20M, AantalMaandenIBO = 2, IBOPremie = 564.0M }; Loonkost secretaresse = new Loonkost { Beschrijving = "Secretaresse", BrutoMaandloonFulltime = 2200, AantalUrenPerWeek = 23, Doelgroep = _doelgroepRepository.GetById(2), Ondersteuningspremie = 20M, AantalMaandenIBO = 2, IBOPremie = 564.0M }; Loonkost postbode = new Loonkost { Beschrijving = "Postbode", BrutoMaandloonFulltime = 1900, AantalUrenPerWeek = 35, Doelgroep = _doelgroepRepository.GetById(3), Ondersteuningspremie = 20M, AantalMaandenIBO = 2, IBOPremie = 564.0M }; return(new List <Loonkost> { poetsvrouw, secretaresse, postbode }); }
public void TestBerekenGemiddeldeVOPPerMaand_AlleGegevensIngevuld (decimal brutoloon, decimal urenPerWeerk, string omschrijving, decimal minBrutoloon, decimal doelgroepvermindering, decimal VOP, decimal expected) { _aantalWerkuren = 37; _loonkost = new Loonkost { BrutoMaandloonFulltime = brutoloon, AantalUrenPerWeek = urenPerWeerk, Doelgroep = new Doelgroep(omschrijving, minBrutoloon, doelgroepvermindering), Ondersteuningspremie = VOP }; decimal gemiddeldeVopPerMaand = _loonkost.BerekenGemiddeldeVOPPerMaand(_aantalWerkuren, PatronaleBijdrage); // afronden omdat je werkt met decimals, de excel is ook afgerond op 2 decimalen gemiddeldeVopPerMaand = Math.Round(gemiddeldeVopPerMaand, 2); Assert.Equal(expected, gemiddeldeVopPerMaand); }
public void TestBerekenTotaleLoonkost_AlleGegevensIngevuld() { _aantalWerkuren = 37; _loonkost = new Loonkost { BrutoMaandloonFulltime = 2000, AantalUrenPerWeek = 23, Doelgroep = new Doelgroep(Laaggeschoold, 2500M, 1550M), Ondersteuningspremie = 20, AantalMaandenIBO = 2, IBOPremie = 564.0M }; decimal totaleLoonkost = _loonkost.BerekenTotaleLoonkost(_aantalWerkuren, PatronaleBijdrage); // afronden omdat je werkt met decimals, de excel is ook afgerond op 2 decimalen totaleLoonkost = Math.Round(totaleLoonkost, 2); Assert.Equal(14272.00M, totaleLoonkost); }
public IActionResult Verwijder(Analyse analyse, int id) {// id is het id van de baat die moet verwijderd worden try { analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.Loonkost); Loonkost kost = KostOfBaatExtensions.GetBy(analyse.Loonkosten, id); if (kost != null) { analyse.Loonkosten.Remove(kost); analyse.DatumLaatsteAanpassing = DateTime.Now; _analyseRepository.Save(); } } catch (Exception e) { _exceptionLogRepository.Add(new ExceptionLog(e, "LoonKosten", "Verwijder")); _exceptionLogRepository.Save(); TempData["error"] = Meldingen.VerwijderFoutmeldingKost; } return(RedirectToAction("Index")); }
public IActionResult Bewerk(Analyse analyse, int id) {// id is het id van de baat die moet bewerkt wordens try { analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.Loonkost); Loonkost kost = KostOfBaatExtensions.GetBy(analyse.Loonkosten, id); if (kost != null) { LoonkostFormViewModel model = new LoonkostFormViewModel(kost, _doelgroepRepository.GetAll()); return(PartialView("_Formulier", model)); } } catch (Exception e) { _exceptionLogRepository.Add(new ExceptionLog(e, "LoonKosten", "Bewerk -- GET --")); _exceptionLogRepository.Save(); TempData["error"] = Meldingen.OphalenFoutmeldingKost; } return(RedirectToAction("Index")); }
public void TestGetBy_Loonkosten() { Loonkost loonkost = KostOfBaatExtensions.GetBy(_dbContext.Loonkosten, 2); Assert.Equal(_dbContext.Secretaresse, loonkost); }
public void TestGetBy_GeenGevonden_ReturnsNull() { Loonkost loonkost = KostOfBaatExtensions.GetBy(_dbContext.Loonkosten, 0); Assert.Null(loonkost); }
public void TestConstructorSetsTypeEnSoort() { _loonkost = new Loonkost(); Assert.Equal(Type.Kost, _loonkost.Type); Assert.Equal(Soort.Loonkost, _loonkost.Soort); }