public async Task <ActionResult <Wyporzyczenia> > ZwrotFilmuAsync(int id, [FromBody] Wyporzyczenia wyporzyczenia) { var wypInDb = await _context.Wyporzyczenia.SingleOrDefaultAsync(m => m.Id == id); if (wypInDb == null) { return(NotFound()); } wypInDb.DataZwrotu = wyporzyczenia.DataZwrotu; await _context.SaveChangesAsync(); return(NoContent()); }
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()); }