Example #1
0
        public async Task <IActionResult> Create([Bind("ZamowienieId,NrFaktura,DataZlozenia,Cena,StatusId,KlientId,ZespolId,AdresId")] Zamowienie zamowienie, string[] selectedplyty)

        {
            try
            {
                if (selectedplyty != null)
                {
                    zamowienie.ZamowieniePlyta = new List <ZamowieniePlyta>();
                    foreach (var cond in selectedplyty)
                    {
                        var condToAdd = new ZamowieniePlyta {
                            ZamowienieId = zamowienie.ZamowienieId, PlytaId = int.Parse(cond)
                        };
                        zamowienie.ZamowieniePlyta.Add(condToAdd);
                    }
                }

                var adress = _context.Klient.Where(m => m.KlientId == zamowienie.KlientId).FirstOrDefault();
                zamowienie.AdresId = adress.AdresId;
                if (ModelState.IsValid)
                {
                    _context.Add(zamowienie);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
            }
            catch (Exception)
            {
                ModelState.AddModelError("", "Dane nie zostaƂy dodane.");
            }
            ListaPlyt(zamowienie);
            return(View(zamowienie));
        }
Example #2
0
        private void UpdateZespolPracownik(string[] selectedPlyty, Zamowienie zamowienieToUpdate)
        {
            if (selectedPlyty == null)
            {
                zamowienieToUpdate.ZamowieniePlyta = new List <ZamowieniePlyta>();
                return;
            }

            var selectedOptionsHS = new HashSet <string>(selectedPlyty);
            var zamPlyta          = new HashSet <int>(zamowienieToUpdate.ZamowieniePlyta.Select(b => b.PlytaId));

            foreach (var s in _context.Plyta)
            {
                if (selectedOptionsHS.Contains(s.PlytaId.ToString()))
                {
                    if (!zamPlyta.Contains(s.PlytaId))
                    {
                        zamowienieToUpdate.ZamowieniePlyta.Add(new ZamowieniePlyta
                        {
                            PlytaId      = s.PlytaId,
                            ZamowienieId = zamowienieToUpdate.ZamowienieId
                        });
                    }
                }
                else
                {
                    if (zamPlyta.Contains(s.PlytaId))
                    {
                        ZamowieniePlyta plytaToRemove = zamowienieToUpdate.ZamowieniePlyta.SingleOrDefault(d => d.PlytaId == s.PlytaId);
                        _context.Remove(plytaToRemove);
                    }
                }
            }
        }