private void UpdateFakultetiOglasa(string[] selectedFakulteti, Oglas oglasUpdate) { if (selectedFakulteti == null) { oglasUpdate.FakultetiOglasa = new List <FakultetiOglasa>(); return; } var selectedFakultetaHS = new HashSet <string>(selectedFakulteti); var fakultetiOglasa = new HashSet <int> (oglasUpdate.FakultetiOglasa.Select(c => c.Fakultet.FakultetId)); foreach (var fakultet in _context.Fakultet) { if (selectedFakultetaHS.Contains(fakultet.FakultetId.ToString())) { if (!fakultetiOglasa.Contains(fakultet.FakultetId)) { oglasUpdate.FakultetiOglasa.Add(new FakultetiOglasa { OglasId = oglasUpdate.OglasId, FakultetId = fakultet.FakultetId }); } } else { if (fakultetiOglasa.Contains(fakultet.FakultetId)) { FakultetiOglasa fakultetToRemove = oglasUpdate.FakultetiOglasa.FirstOrDefault(i => i.FakultetId == fakultet.FakultetId); _context.Remove(fakultetToRemove); } } } }
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)); }