public async Task <IActionResult> Detale(int id, [Bind("id_zamowienia,id_ksiazki,tytul,ilosc")] ZamowienieKsiazkiViewModel zamowienie_ksiazki) { if (zamowienie_ksiazki.ilosc > 1000 || zamowienie_ksiazki.ilosc < 1) { ModelState.AddModelError("", "Ilość książek musi mieścić się w przedziale 1-1000"); return(RedirectToAction("Detale", "Zamowienia", id)); } if (ModelState.IsValid) { var temp = new Zamowienie_ksiazki(); temp.id_zamowienia = id; temp.id_ksiazki = zamowienie_ksiazki.id_ksiazki; temp.ilosc = zamowienie_ksiazki.ilosc; var duplikat = await _context.Zamowienie_ksiazki.FirstOrDefaultAsync(m => m.id_zamowienia == id && m.id_ksiazki == temp.id_ksiazki); if (duplikat != null) { duplikat.ilosc += temp.ilosc; _context.Update(duplikat); } else { _context.Add(temp); } await _context.SaveChangesAsync(); return(RedirectToAction("Detale", "Zamowienia", new { id = id })); } ViewData["id_ksiazki"] = new SelectList(_context.Ksiazki, "id_ksiazki", "tytuł", zamowienie_ksiazki.id_ksiazki); return(View(zamowienie_ksiazki.id_zamowienia)); }
public async Task <IActionResult> Detale(int?id) { if (id == null) { return(NotFound()); } var zamowienie_ksiazki = await _context.Zamowienie_ksiazki.Where(m => m.id_zamowienia == id).ToListAsync(); var zamowienie = await _context.Zamowienia.FirstOrDefaultAsync(m => m.id_zamowienia == id); if (zamowienie == null) { return(NotFound()); } if (zamowienie.status_zamowienia == Zamowienia.Status.Zamówione) { ViewBag.Status = Zamowienia.Status.Zamówione; } List <ZamowienieKsiazkiViewModel> zamowienie_ksiazki_vm = new List <ZamowienieKsiazkiViewModel>(); foreach (var ksiazka in zamowienie_ksiazki) { var tytul = await _context.Ksiazki.FirstOrDefaultAsync(m => m.id_ksiazki == ksiazka.id_ksiazki); var temp = new ZamowienieKsiazkiViewModel(ksiazka.id_zamowienia, ksiazka.id_ksiazki, tytul.tytuł, ksiazka.ilosc); zamowienie_ksiazki_vm.Add(temp); } ViewData["id_ksiazki"] = new SelectList(_context.Ksiazki, "id_ksiazki", "tytuł"); return(View(zamowienie_ksiazki_vm)); }