private void UpdateSkoleOglasa(string[] selectedSkole, Oglas oglasUpdate) { if (selectedSkole == null) { oglasUpdate.SrednjaSkolaOglasa = new List <SrednjaSkolaOglasa>(); return; } var selectedSkoleHS = new HashSet <string>(selectedSkole); var skoleOglasa = new HashSet <int> (oglasUpdate.SrednjaSkolaOglasa.Select(c => c.SrednjaSkola.SrednjaSkolaId)); foreach (var skola in _context.SrednjaSkola) { if (selectedSkoleHS.Contains(skola.SrednjaSkolaId.ToString())) { if (!skoleOglasa.Contains(skola.SrednjaSkolaId)) { oglasUpdate.SrednjaSkolaOglasa.Add(new SrednjaSkolaOglasa { OglasId = oglasUpdate.OglasId, SrednjaSkolaId = skola.SrednjaSkolaId }); } } else { if (skoleOglasa.Contains(skola.SrednjaSkolaId)) { SrednjaSkolaOglasa skolaToRemove = oglasUpdate.SrednjaSkolaOglasa.FirstOrDefault(i => i.SrednjaSkolaId == skola.SrednjaSkolaId); _context.Remove(skolaToRemove); } } } }
public async Task <IActionResult> Create([Bind("OglasId,ZanimanjeId,Naziv,Opis,DatumIsteka,Grad")] Oglas oglas, string[] selectedJezici, int[] nivoiCitanja, int[] nivoiPisanja, string[] selectedSkole, string[] selectedFakulteti) { oglas.DatumObjavljivanja = DateTime.Today; oglas.Aktuelan = true; oglas.Poslodavac = _context.Poslodavac.Where(i => i.KorisnikId == HomeController.prijavljenaOsoba.KorisnikId).Single(); if (selectedJezici != null) { oglas.JeziciOglasa = new List <JeziciOglasa>(); int brojac = 0; foreach (var jezik in selectedJezici) { var noviJezik = new JeziciOglasa { OglasId = oglas.OglasId, JezikId = int.Parse(jezik), NivoCitanja = nivoiCitanja[brojac], NivoPisanja = nivoiPisanja[brojac] }; oglas.JeziciOglasa.Add(noviJezik); brojac++; } } if (selectedSkole != null) { oglas.SrednjaSkolaOglasa = new List <SrednjaSkolaOglasa>(); foreach (var skola in selectedSkole) { var novaSkola = new SrednjaSkolaOglasa { OglasId = oglas.OglasId, SrednjaSkolaId = int.Parse(skola) }; oglas.SrednjaSkolaOglasa.Add(novaSkola); } } if (selectedFakulteti != null) { oglas.FakultetiOglasa = new List <FakultetiOglasa>(); foreach (var fakultet in selectedFakulteti) { var noviFakultet = new FakultetiOglasa { OglasId = oglas.OglasId, FakultetId = int.Parse(fakultet) }; oglas.FakultetiOglasa.Add(noviFakultet); } } if (ModelState.IsValid) { _context.Add(oglas); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } SkoleDropDownList(oglas); FakultetDropDownList(oglas); JeziciDropDownList(oglas); ZanimanjeDropDownList(); return(View(oglas)); }