public ViewResult Edit(int id) { Filmas filmas = _filmaiDB.GetFilmas(id); ViewBag.Zanrai = new SelectList(_ffilmaiDB.Zanrai, "Id", "Pavadinimas"); //ViewBag.AktoriaiList = new MultiSelectList(_ffilmaiDB.Aktoriai, "Id", "VardasPavarde"); FilmoRedagavimasViewModel filmoRedagavimasViewModel = new FilmoRedagavimasViewModel { Id = filmas.Id, Pavadinimas = filmas.Pavadinimas, IsleidimoData = filmas.IsleidimoData.Value, //Zanras = filmas.Zanras, //Aktoriai = filmas.Aktoriai, ZanraiId = filmas.ZanraiId, Zanrai = filmas.Zanrai, SenasId = filmas.ZanraiId }; IQueryable <Aktorius> aktorius = from m in _ffilmaiDB.Aktoriai select m; var aktoriaiFilmasId = from m in _ffilmaiDB.AktoriaiFilmai select m.FilmasId; var aktoriaiFilmas = from m in _ffilmaiDB.AktoriaiFilmai select m; foreach (var m in aktoriaiFilmasId) { if (m == id) { //aktoriaiFilmas = aktoriaiFilmas.Where(x => x.FilmasId == m); aktorius = aktoriaiFilmas.Where(x => x.FilmasId == m).Select(z => z.Aktorius); } } //filmas.AktoriaiFilmai = aktoriaiFilmas.Include(p => p.Aktorius).ToList(); var filmas_DB_Aktoriai = aktorius.ToList(); if (filmas_DB_Aktoriai != null) { int[] DB_AktoriaiIds = new int[filmas_DB_Aktoriai.Count()]; int length = filmas_DB_Aktoriai.Count(); for (int i = 0; i < length; i++) { DB_AktoriaiIds[i] = filmas_DB_Aktoriai[i].Id; } //ViewBag.AktoriaiList = new MultiSelectList(_ffilmaiDB.Aktoriai, "Id", "VardasPavarde", DB_AktoriaiIds); MultiSelectList AktoriaiList = new MultiSelectList(_ffilmaiDB.Aktoriai.ToList(), "Id", "VardasPavarde", DB_AktoriaiIds); filmoRedagavimasViewModel.MultiSel_Aktoriai = AktoriaiList; } return(View(filmoRedagavimasViewModel)); }
public IActionResult Edit_ZanraiDelete(FilmoRedagavimasViewModel model) { if (ModelState.IsValid) { Filmas filmas = _filmaiDB.GetFilmas(model.Id); filmas.Pavadinimas = model.Pavadinimas; filmas.IsleidimoData = model.IsleidimoData; //filmas.Zanras = model.Zanras; //filmas.Aktoriai = model.Aktoriai; filmas.ZanraiId = model.ZanraiId.Value; filmas.Zanrai = model.Zanrai; var aktoriaiFilmasId = from m in _ffilmaiDB.AktoriaiFilmai select m.FilmasId; var aktoriaiFilmas = from m in _ffilmaiDB.AktoriaiFilmai select m; foreach (var m in aktoriaiFilmasId) { if (m == filmas.Id) { _ffilmaiDB.AktoriaiFilmai.Remove(aktoriaiFilmas.First(x => x.FilmasId == m)); _ffilmaiDB.SaveChanges(); } } if (model.SelectedVal.Count() > 0) { List <Aktorius> viewModelAktoriai = new List <Aktorius>(); foreach (var id in model.SelectedVal) { var aktoriai = _ffilmaiDB.Aktoriai.Find(id); if (aktoriai != null) { filmas.DB_Aktoriai.Add(aktoriai); viewModelAktoriai.Add(aktoriai); } } var visiAktoriai = _ffilmaiDB.Aktoriai.ToList(); var aktoriaiPasalinti = visiAktoriai.Except(viewModelAktoriai); foreach (var aktorius in aktoriaiPasalinti) { filmas.DB_Aktoriai.Remove(aktorius); } } foreach (var item in model.SelectedVal) { _ffilmaiDB.AktoriaiFilmai.Add(new AktoriaiFilmas() { FilmasId = filmas.Id, Filmas = _filmaiDB.GetFilmas(filmas.Id), AktoriusId = item, Aktorius = _ffilmaiDB.Aktoriai.FirstOrDefault(s => s.Id == item) }); } Filmas atnaujintasFilmas = _filmaiDB.Update(filmas); return(RedirectToAction("delete", "zanrai", new { id = model.SenasId })); } return(View()); }