示例#1
0
        public void TestGeefTotalenKosten_8SoortenInDictionary()
        {
            _analyse = new Analyse();
            IDictionary <Soort, decimal> totalen = _analyse.GeefTotalenKosten();

            int aantalSoorten = totalen.Count;

            Assert.Equal(8, aantalSoorten);
        }
示例#2
0
        public void VulKostenIn(Analyse analyse, ExcelWorksheet ws)
        {
            foreach (var pair in analyse.GeefTotalenKosten())
            {
                Soort   soort  = pair.Key;
                decimal waarde = pair.Value;

                if (tabelBedragen.ContainsKey(soort))
                {
                    ws.Cells[tabelBedragen[soort]].Value = waarde;
                }
            }
        }
示例#3
0
        public void TestGeefTotalenKosten()
        {
            DummyApplicationDbContext dbContext = new DummyApplicationDbContext();

            IDictionary <Soort, decimal> expected = new Dictionary <Soort, decimal>
            {
                { Soort.Loonkost, 80430.81M },
                { Soort.ExtraKost, 1550M },
                { Soort.BegeleidingsKost, 2437.11M },
                { Soort.EnclaveKost, 72000M },
                { Soort.VoorbereidingsKost, 21500M },
                { Soort.PersoneelsKost, 17200M },
                { Soort.GereedschapsKost, 12300M },
                { Soort.OpleidingsKost, 4700M }
            };

            _analyse = new Analyse
            {
                Departement = dbContext.Aldi,

                /* KOSTEN */
                Loonkosten           = dbContext.Loonkosten,
                ExtraKosten          = dbContext.ExtraKosten,
                BegeleidingsKosten   = dbContext.BegeleidingsKosten,
                OpleidingsKosten     = dbContext.OpleidingsKosten,
                PersoneelsKosten     = dbContext.PersoneelsKosten,
                GereedschapsKosten   = dbContext.GereedschapsKosten,
                VoorbereidingsKosten = dbContext.VoorbereidingsKosten,
                EnclaveKosten        = dbContext.EnclaveKosten
            };

            IDictionary <Soort, decimal> totalen = _analyse.GeefTotalenKosten();

            foreach (KeyValuePair <Soort, decimal> pair in totalen)
            {
                decimal totaal = Math.Round(pair.Value, 2);
                Assert.Equal(expected[pair.Key], totaal);
            }
        }
示例#4
0
        public IActionResult Index(Analyse analyse)
        {
            ResultaatViewModel model = new ResultaatViewModel();

            try
            {
                analyse            = _analyseRepository.GetByIdAll(analyse.AnalyseId);
                model.AnalyseKlaar = analyse.InArchief;
                model.AnalyseId    = analyse.AnalyseId;

                if (analyse.Departement != null)
                {
                    IDictionary <Soort, decimal> kostenResultaat = analyse.GeefTotalenKosten();
                    IDictionary <Soort, decimal> batenResultaat  = analyse.GeefTotalenBaten();

                    decimal kostenTotaal = kostenResultaat.Sum(t => t.Value);
                    decimal batenTotaal  = batenResultaat.Sum(t => t.Value);

                    model.Resultaten = kostenResultaat;
                    foreach (var rij in batenResultaat)
                    {
                        model.Resultaten.Add(rij);
                    }

                    model.KostenTotaal = kostenTotaal;
                    model.BatenTotaal  = batenTotaal;
                    model.Totaal       = batenTotaal - kostenTotaal;

                    ViewData["SubTotaalBaten"] = model.BatenTotaal;


                    // kleur voor nettoresultaat bepalen
                    if (model.Totaal < 0)
                    {
                        ViewData["klasseTotaal"] = "alert-danger";
                    }
                    else if (model.Totaal == 0)
                    {
                        ViewData["klasseTotaal"] = "alert-warning";
                    }
                    else
                    {
                        ViewData["klasseTotaal"] = "alert-success";
                    }
                }
                else
                {
                    TempData["error"] =
                        "Opgelet! U heeft nog geen werkgever geselecteerd. Er zal dus nog geen resultaat " +
                        "berekend worden voor deze analyse.";
                }
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Resultaat", "Index"));
                _exceptionLogRepository.Save();
                TempData["error"] = "Er ging onverwachts iets fout, probeer later opnieuw";
            }


            return(View(model));
        }