public IActionResult Submit(SollicitantViewModel model, string id) { IngevuldeVacature vac = new IngevuldeVacature(); vac.Vacature = _vacatureRepository.GetBy(id); IEnumerable <IVraag> vragen = _vacatureRepository.GetAllQuestions(); IVraag vraag = null; Mogelijkheid optie = null; ResponseGroup resgroup = null; // Todo vervangen door velden voornaam, achternaam, email en telefoon //vac.Sollicitant = (Sollicitant) _userManager.GetUserAsync(HttpContext.User).Result; vac.AchternaamSollicitant = model.Achternaam; vac.VoornaamSollicitant = model.Voornaam; vac.TelefoonSollicitant = model.TelefoonNummer; vac.EmailSollicitant = model.EmailAdres; foreach (var group in model.Competenties) { foreach (var comp in group.Values) { resgroup = new ResponseGroup(); foreach (var item in comp.VraagViewModels) { vraag = vragen.SingleOrDefault(v => v.Id.Equals(item.VraagId)); if (vraag is VraagMeerkeuze) { optie = ((VraagMeerkeuze)vraag).Opties.SingleOrDefault(c => c.Id.Equals(item.OptieKeuzeId)); resgroup.Responses.Add(new Response { Vraag = vraag, OptieKeuze = optie }); } else if (vraag is VraagRubrics) { optie = ((VraagRubrics)vraag).Opties.SingleOrDefault(c => c.Id.Equals(item.OptieKeuzeId)); resgroup.Responses.Add(new Response { Vraag = vraag, OptieKeuze = optie }); } else { resgroup.Responses.Add(new Response { OpenAntwoord = item.Redenering, Vraag = vraag }); } } resgroup.Competentie = vraag.Competentie; vac.ResponseGroup.Add(resgroup); } } _ingevuldeVacatureRepository.Add(vac); return(RedirectToAction("Index", "Home")); }
public void Delete(IngevuldeVacature vac) { _ingevuldeVacatures.Remove(vac); SaveChanges(); }
public void Add(IngevuldeVacature vac) { _ingevuldeVacatures.Add(vac); SaveChanges(); }
public IActionResult Index(String id) { List <Double> lijst1 = new List <double>(); List <Double> lijst2 = new List <double>(); List <Double> lijst3 = new List <double>(); List <String> comp1 = new List <string>(); List <String> comp2 = new List <string>(); List <String> comp3 = new List <string>(); IngevuldeVacature vac = _ingevuldeVacatureRepository.GetBy(id); ICollection <RapportViewModel> models = new List <RapportViewModel>(); ViewBag.naam = vac.VoornaamSollicitant + " " + vac.AchternaamSollicitant; ViewBag.telefoon = vac.TelefoonSollicitant; ViewBag.mail = vac.EmailSollicitant; ViewBag.title = vac.Vacature.Functie; ViewBag.desc = vac.Vacature.Beschrijving; ViewBag.datum = vac.DatumIngevuld; foreach (ResponseGroup rg in vac.ResponseGroup.OrderBy(o => o.Competentie.Type).ThenBy(ol => ol.Competentie.Id)) { RapportViewModel rvm = new RapportViewModel(); rvm.CompetentieNaam = rg.Competentie.Naam; rvm.Verklaring = rg.Competentie.Verklaring; rvm.CompetentieType = rg.Competentie.Type; if (rg.Competentie.Vignet != null) { rvm.Vignet = rg.Competentie.Vignet.Naam; } else { rvm.Vignet = "LEEG"; } foreach (Response r in rg.Responses.OrderBy(r => r.Vraag.VraagVolgorde)) { AntwoordViewModel avm = new AntwoordViewModel(); avm.VraagStelling = r.Vraag.VraagStelling; avm.Antwoord = r.Vraag.OutputString; if (r.OpenAntwoord != null && r.OpenAntwoord.Trim().Length != 0) { avm.Antwoord = avm.Antwoord.Replace("$$", r.OpenAntwoord); } else { if (r.OptieKeuze != null) { if (r.OptieKeuze.Output != null && r.OptieKeuze.Output.Trim().Length != 0) { avm.Antwoord = avm.Antwoord.Replace("$$", r.OptieKeuze.Output); } else { avm.Antwoord = avm.Antwoord.Replace("$$", r.OptieKeuze.Input); } } else { avm.Antwoord = avm.Antwoord = "LEEG"; } } /* hier moet nog gezorgd worden dat de rubric kan vergeleken worden (dus soli en bedrijf antwoorden matchen)*/ if (r.Vraag.type.Equals(VraagType.RUBRIC)) { int result; VacatureCompetentie temp = vac.Vacature.CompetentiesLijst.Where(c => c.Competentie.Vragen.OrderBy(co => co.VraagVolgorde).FirstOrDefault().Id.Equals(r.Vraag.Id)).FirstOrDefault(); if (r.OptieKeuze == null || temp.GeselecteerdeOptie == null) { result = 0; } else { result = r.OptieKeuze.Score <= temp.GeselecteerdeOptie.Score ? 1 : 0; } if (r.Vraag.Competentie.Type.Equals(CompetentieType.GRONDHOUDING)) { lijst1.Add(result); comp1.Add(r.Vraag.Competentie.Naam); } if (r.Vraag.Competentie.Type.Equals(CompetentieType.KENNIS)) { lijst2.Add(result); comp2.Add(r.Vraag.Competentie.Naam); } if (r.Vraag.Competentie.Type.Equals(CompetentieType.VAARDIGHEDEN)) { lijst3.Add(result); comp3.Add(r.Vraag.Competentie.Naam); } } ViewBag.comp1 = comp1; ViewBag.comp2 = comp2; ViewBag.comp3 = comp3; rvm.vms.Add(avm); } models.Add(rvm); } ICollection <Group <string, RapportViewModel> > groups = new List <Group <string, RapportViewModel> >(); var results = models.GroupBy(m => m.CompetentieType).ToList(); FixDonutDiagrammen(lijst1, lijst2, lijst3); foreach (var item in results) { groups.Add(new Group <string, RapportViewModel> { Key = item.Key.ToString(), Values = item.ToList() }); } return(View(groups)); }