コード例 #1
0
        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());
        }
コード例 #2
0
        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);
            }
        }