예제 #1
0
        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));
        }
예제 #2
0
        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());
        }