public IActionResult HaalAnalysesOp(Jobcoach jobcoach, IndexViewModel model = null)
        {
            try
            {
                _analyseRepository.SetAnalysesJobcoach(jobcoach, true);
                int totaal = jobcoach.Analyses.Count; //13

                bool volgende = false;
                bool vorige   = false;

                //volgende knop laten zien of niet
                if (totaal > MAX_AANTAL_ANALYSES && model?.EindIndex < totaal)
                {
                    volgende = true;//true // false
                }

                //vorige knop laten zien of niet
                if (model?.BeginIndex != 0)
                {
                    vorige = true;//false //true
                }

                int aantal   = MAX_AANTAL_ANALYSES;
                var analyses = _analyseRepository
                               .GetAnalyses(jobcoach, model.BeginIndex, aantal)
                               .ToList();

                jobcoach.Analyses = analyses;

                model = new IndexViewModel(jobcoach)
                {
                    BeginIndex   = model.BeginIndex,
                    EindIndex    = model.BeginIndex + MAX_AANTAL_ANALYSES,
                    ShowVolgende = volgende,
                    ShowVorige   = vorige
                };

                return(PartialView("_Analyses", model));
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Archief", "HaalAnalysesOp"));
                _exceptionLogRepository.Save();
                TempData["error"] = "Er liep iets mis, probeer later opnieuw";
            }

            return(RedirectToAction("Index"));
        }
        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"));
        }
Example #3
0
        public IActionResult Index()
        {
            try
            {
                Jobcoach gebruiker = _gebruikerRepository.GetByEmail(HttpContext.User.Identity.Name);

                return(View(new ProfielViewModel(gebruiker)));
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Profiel", "Index"));
                _exceptionLogRepository.Save();
                TempData["error"] = "Er ging onverwachts iets fout tijdens het ophalen van je gegevens," +
                                    " probeer later opnieuw";
            }

            return(RedirectToAction("Index", "Kairos"));
        }
Example #4
0
        public IActionResult VoegToe(Analyse analyse, EnclaveKostViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.EnclaveKost);
                    DecimalConverter dc   = new DecimalConverter();
                    EnclaveKost      kost = new EnclaveKost
                    {
                        Soort        = model.Soort,
                        Type         = model.Type,
                        Beschrijving = model.Beschrijving,
                        Bedrag       = dc.ConvertToDecimal(model.Bedrag)
                    };

                    analyse.EnclaveKosten.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, "EnclaveKost", "VoegToe -- POST --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }

            PlaatsTotaalInViewData(analyse);

            return(RedirectToAction("Index"));
        }
        public IActionResult VoegToe(Analyse analyse, MedewerkerNiveauBaatViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.MedewerkersHogerNiveau);
                    DecimalConverter     dc   = new DecimalConverter();
                    MedewerkerNiveauBaat baat = new MedewerkerNiveauBaat
                    {
                        Type  = model.Type,
                        Soort = model.Soort,
                        Uren  = model.Uren,
                        BrutoMaandloonFulltime = dc.ConvertToDecimal(model.BrutoMaandloonFulltime)
                    };

                    analyse.MedewerkersHogerNiveauBaten.Add(baat);
                    analyse.DatumLaatsteAanpassing = DateTime.Now;
                    _analyseRepository.Save();

                    TempData["message"] = Meldingen.VoegToeSuccesvolBaat;
                }
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "MedewerkersHogerNiveau", "VoegToe -- POST --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Index"));
        }
Example #6
0
        public IActionResult VoegToe(Analyse analyse, UitzendKrachtBesparingViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.UitzendkrachtBesparing);
                    DecimalConverter       dc   = new DecimalConverter();
                    UitzendKrachtBesparing baat = new UitzendKrachtBesparing
                    {
                        Type         = model.Type,
                        Soort        = model.Soort,
                        Beschrijving = model.Beschrijving,
                        Bedrag       = dc.ConvertToDecimal(model.Bedrag)
                    };

                    analyse.UitzendKrachtBesparingen.Add(baat);
                    analyse.DatumLaatsteAanpassing = DateTime.Now;
                    _analyseRepository.Save();

                    TempData["message"] = Meldingen.VoegToeSuccesvolBaat;
                }
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "UitzendKrachtBesparing", "VoegToe -- POST --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Index"));
        }
Example #7
0
        public IActionResult NieuweAnalyse(Jobcoach jobcoach)
        {
            try
            {
                Analyse analyse = new Analyse();

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

                if (jobcoach != null)
                {
                    jobcoach = _jobcoachRepository.GetById(jobcoach.PersoonId);
                    jobcoach.Analyses.Add(analyse);
                    _jobcoachRepository.Save();

                    if (HttpContext != null)
                    {// nodig voor testen, HttpContext kan je niet mocken
                        AnalyseFilter.SetAnalyseInSession(HttpContext, analyse);
                    }

                    return(RedirectToAction("SelecteerWerkgever", "Werkgever"));
                }
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Analyse", "NieuweAnalyse"));
                _exceptionLogRepository.Save();
                TempData["error"] = "Er ging iets fout tijdens het starten van een nieuwe analyse, probeer later opnieuw";
            }

            return(RedirectToAction("Index", "Kairos"));
        }
        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"));
            }
        }
Example #9
0
        public async Task <IActionResult> Index()
        {
            try
            {
                if (HttpContext != null)
                {
                    AnalyseFilter.ClearSession(HttpContext);
                }

                ApplicationUser user = await _userManager.GetUserAsync(User);

                if (user == null)
                {
                    TempData["error"] = "Gelieve je eerst aan te melden alvorens deze pagina te bezoeken.";
                    await _signInManager.SignOutAsync();

                    return(RedirectToAction("Login", "Account"));
                }

                IndexViewModel model = new IndexViewModel
                {
                    BeginIndex = 0,
                    EindIndex  = MAX_AANTAL_ANALYSES
                };
                IEnumerable <Datum> datumTypes = Enum.GetValues(typeof(Datum))
                                                 .Cast <Datum>();

                model.listItems = from date in datumTypes
                                  select new SelectListItem
                {
                    Text  = ((int)date) > 1 ? ((int)date).ToString() + " maanden" : ((int)date).ToString() + " maand",
                    Value = ((int)date).ToString()
                };


                return(View("Index", model));
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "Kairos", "Index"));
                _exceptionLogRepository.Save();
                TempData["error"] = "Je analyses konder niet geladen worden, probeer later opnieuw";
            }

            return(View("Index", new IndexViewModel()));
        }
Example #10
0
        public IActionResult Opslaan(Analyse analyse, SubsidieViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.Subsidie);
                    // de baat bestaat reeds:
                    DecimalConverter dc   = new DecimalConverter();
                    Subsidie         baat = new Subsidie
                    {
                        Type   = model.Type,
                        Soort  = model.Soort,
                        Bedrag = dc.ConvertToDecimal(model.Bedrag)
                    };

                    analyse.Subsidie = baat;
                    analyse.DatumLaatsteAanpassing = DateTime.Now;
                    _analyseRepository.Save();

                    TempData["message"] = Meldingen.OpslaanSuccesvolBaat;
                }
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "Subsidie", "Opslaan -- POST --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }


            return(RedirectToAction("Index"));
        }
Example #11
0
        public IActionResult Opslaan(Analyse analyse, ExtraOmzetViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.ExtraOmzet);
                    DecimalConverter dc   = new DecimalConverter();
                    ExtraOmzet       baat = new ExtraOmzet
                    {
                        Type  = model.Type,
                        Soort = model.Soort,
                        JaarbedragOmzetverlies = dc.ConvertToDecimal(model.JaarbedragOmzetverlies),
                        Besparing = dc.ConvertToDecimal(model.Besparing)
                    };

                    analyse.ExtraOmzet             = baat;
                    analyse.DatumLaatsteAanpassing = DateTime.Now;
                    _analyseRepository.Save();

                    TempData["message"] = Meldingen.OpslaanSuccesvolBaat;
                }
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "ExtraOmzet", "Opslaan -- GET --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Index"));
        }
Example #12
0
        public IActionResult Opslaan(Analyse analyse, LogistiekeBesparingViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    analyse = _analyseRepository.GetById(analyse.AnalyseId, Soort.LogistiekeBesparing);
                    DecimalConverter    dc   = new DecimalConverter();
                    LogistiekeBesparing baat = new LogistiekeBesparing
                    {
                        Type                     = model.Type,
                        Soort                    = model.Soort,
                        TransportKosten          = dc.ConvertToDecimal(model.TransportKosten),
                        LogistiekHandlingsKosten = dc.ConvertToDecimal(model.LogistiekHandlingsKosten)
                    };

                    analyse.LogistiekeBesparing    = baat;
                    analyse.DatumLaatsteAanpassing = DateTime.Now;
                    _analyseRepository.Save();
                }

                TempData["message"] = Meldingen.OpslaanSuccesvolBaat;
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "LogistiekeBesparing", "Opslaan -- GET --"));
                    _exceptionLogRepository.Save();
                    TempData["error"] = Meldingen.OpslaanFoutmeldingKost;
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Index"));
        }
Example #13
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));
        }
        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));
        }