Esempio n. 1
0
        public async Task <IActionResult> Create([Bind("ISBN, Titel, Autor, Verlag, Erscheinungsjahr, Regal, Reihe, AnzahlExemplare")] Buch buch)
        {
            if (ModelState.IsValid)
            {
                var buchVorhanden = await bibContext.Buch.SingleOrDefaultAsync(m => m.ISBN == buch.ISBN);

                // Fall: Buch ist noch nicht in DB vorhanden
                if (buchVorhanden == null)
                {
                    bibContext.Add(buch);

                    // Erzeuge die Exemplare für das Buch
                    for (int i = 1; i <= buch.AnzahlExemplare; i++)
                    {
                        var exemplar = new Exemplar {
                            ExemplarId = i, ISBN = buch.ISBN, Verfügbarkeit = true
                        };
                        bibContext.Exemplar.Add(exemplar);
                    }

                    await bibContext.SaveChangesAsync();

                    toastNotification.AddToastMessage("Buch erstellt", "Das Buch \"" + buch.Titel + "\" wurde erstellt!", ToastEnums.ToastType.Success, new ToastOption()
                    {
                        PositionClass = ToastPositions.TopCenter
                    });

                    return(RedirectToAction(nameof(Index)));
                }
                else // Fall: Buch ist bereits in DB vorhanden
                {
                    toastNotification.AddToastMessage("Buch bereits vorhanden", "Das Buch mit der ISBN " + buch.ISBN + " existiert bereits in den Stammdaten!", ToastEnums.ToastType.Error, new ToastOption()
                    {
                        PositionClass = ToastPositions.TopCenter
                    });

                    return(View(buch));
                }
            }
            return(View(buch));
        }
Esempio n. 2
0
        // Fügt ein Exemplar dem Warenkorb des eingeloggten Benutzers hinzu
        public async Task InDenWarenkorb(Buch.Exemplar exemplar)
        {
            var warenkorbExemplar = bibContext.Warenkorb.SingleOrDefault(
                c => c.Benutzer == BenutzerName &&
                c.ISBN == exemplar.ISBN &&
                c.ExemplarId == exemplar.ExemplarId);

            if (warenkorbExemplar == null)
            {
                var buch = bibContext.Buch.SingleOrDefault(
                    c => c.ISBN == exemplar.ISBN);

                warenkorbExemplar = new Warenkorb()
                {
                    Benutzer   = BenutzerName,
                    ISBN       = exemplar.ISBN,
                    ExemplarId = exemplar.ExemplarId,
                    BuchTitel  = buch.Titel
                };
                bibContext.Add(warenkorbExemplar);
                await bibContext.SaveChangesAsync();
            }
        }