public async Task <ActionResult <NoweWypozyczenie> > AddWypozyczenieAsync([FromBody] NoweWypozyczenie noweWypozyczenie) { if (noweWypozyczenie.MovieIDs.Count == 0) { return(BadRequest("Brak filmów na liście wypożyczeń")); } var customer = await _context.Customers.SingleOrDefaultAsync(c => c.Id == noweWypozyczenie.CustomerId); if (customer == null) { return(BadRequest("Nieprawidłowe ID klienta")); } var movies = _context.Movies.Where(m => noweWypozyczenie.MovieIDs.Contains(m.Id)).ToList(); if (movies.Count != noweWypozyczenie.MovieIDs.Count) { return(BadRequest("Nie załadowano filmu")); } foreach (var movie in movies) { if (movie.IloscDostepnychKopi == 0) { return(BadRequest(movie.Name + " jest niedostępny do wypożyczenia")); } movie.IloscDostepnychKopi--; var wypozyczenie = new Wyporzyczenia { Customer = customer, CustomerId = customer.Id, Movie = movie, MovieId = movie.Id, DataWyporzyczenia = DateTime.Now }; await _context.Wyporzyczenia.AddAsync(wypozyczenie); } await _context.SaveChangesAsync(); return(Ok()); }
private async void wypozyczButton_ClickAsync(object sender, EventArgs e) { if (ksiazkiListView.SelectedItems.Count == 0) { string message = "Wybierz ksiazke."; string title = "Błąd"; MessageBoxButtons buttons = MessageBoxButtons.OK; DialogResult result = MessageBox.Show(message, title, buttons); } else { var noweWypozyczenie = await _wypozyczenieRepozytorium.DodajAsync(new Wypozyczenia() { DataWypozyczenia = DateTime.Now, DataOddania = DateTime.Now, KlientID = klient.ID, KsiazkaID = (int)ksiazkiListView.SelectedItems[0].Tag, }); NoweWypozyczenie?.Invoke(noweWypozyczenie); } }