Esempio n. 1
0
        public async Task <IActionResult> EditSopstvenik(int id, SopstvenikEditVM vm)
        {
            if (id != vm.Sopstvenik.Id)
            {
                return(NotFound());
            }

            //if (ModelState.IsValid)
            //{

            try
            {
                _context.Update(vm.Sopstvenik);
                await _context.SaveChangesAsync();

                IEnumerable <int>     listProdukt = vm.SelectedProducts;
                IQueryable <Junction> toBeRemoved = _context.Junction.Where(s => !listProdukt.Contains(s.ProduktID) && s.SopstvenikID == id);
                _context.Junction.RemoveRange(toBeRemoved);
                IEnumerable <int> existProdukts = _context.Junction.Where(s => listProdukt.Contains(s.ProduktID) && s.SopstvenikID == id).Select(s => s.ProduktID);
                IEnumerable <int> newProdukts   = listProdukt.Where(s => !existProdukts.Contains(s));
                foreach (int produktId in newProdukts)
                {
                    _context.Junction.Add(new Junction {
                        ProduktID = produktId, SopstvenikID = id
                    });
                }
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SopstvenikExists(vm.Sopstvenik.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(RedirectToAction(nameof(IndexSopstvenik)));
            //}
            // return View(vm);
        }
Esempio n. 2
0
        public async Task <IActionResult> EditSopstvenik(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var sopstvenik = _context.Sopstvenik.Where(m => m.Id == id).Include(m => m.Produkti).First();

            if (sopstvenik == null)
            {
                return(NotFound());
            }
            SopstvenikEditVM viewmodel = new SopstvenikEditVM
            {
                Sopstvenik       = sopstvenik,
                ProduktList      = new MultiSelectList(_context.Produkt.OrderBy(s => s.Ime), "Id", "Ime"),
                SelectedProducts = sopstvenik.Produkti.Select(sa => sa.ProduktID)
            };

            return(View(viewmodel));
        }