// Legt ein Exemplar in den Warenkorb public async Task <IActionResult> InDenWarenkorb(int?id) { var exemplar = await bibContext.Exemplar.SingleOrDefaultAsync(e => e.Id == id); var user = await userManager.GetUserAsync(User); var buchBereitsInWarenkorb = bibContext.Warenkorb.SingleOrDefault(b => b.ISBN == exemplar.ISBN && b.Benutzer == user.UserName); var buch = await bibContext.Buch.SingleOrDefaultAsync(e => e.ISBN == exemplar.ISBN); if (buchBereitsInWarenkorb == null) // Fall: Das Buch befindet sich noch nicht im Warenkorb und wird ihm hinzugefügt { var warenkorbManager = WarenkorbManager.GetWarenkorbManager(user, bibContext); await warenkorbManager.InDenWarenkorb(exemplar); toastNotification.AddToastMessage("Buch in Warenkorb", "Das Buch \"" + buch.Titel + "\" wurde dem Warenkorb hinzugefügt!", ToastEnums.ToastType.Success, new ToastOption() { PositionClass = ToastPositions.TopCenter }); } else // Fall: Das Buch befindet sich bereits im Warenkorb { toastNotification.AddToastMessage("Bereits im Warenkorb", "Das Buch \"" + buch.Titel + "\" befindet sich bereits im Warenkorb!", ToastEnums.ToastType.Warning, new ToastOption() { PositionClass = ToastPositions.TopCenter }); } return(RedirectToAction(nameof(Index))); }
// Entfernt alle Bücher aus dem Warenkorb public async Task <IActionResult> WarenkorbLeeren() { var user = await userManager.GetUserAsync(User); var warenkorbManager = WarenkorbManager.GetWarenkorbManager(user, bibContext); await warenkorbManager.WarenkorbLeeren(); toastNotification.AddToastMessage("Warenkorb geleert", "Es wurden alle Bücher aus dem Warenkorb entfernt.", ToastEnums.ToastType.Success, new ToastOption() { PositionClass = ToastPositions.TopCenter }); return(RedirectToAction(nameof(Index))); }
// Sendet einen Leihauftrag an den Bibliothekar public async Task <IActionResult> LeihauftragSenden() { var user = await userManager.GetUserAsync(User); var warenkorbManager = WarenkorbManager.GetWarenkorbManager(user, bibContext); await warenkorbManager.LeihauftragSenden(); toastNotification.AddToastMessage("Leihauftrag gesendet", "Der Leihauftrag wurde an den Bibliothekar gesendet.", ToastEnums.ToastType.Success, new ToastOption() { PositionClass = ToastPositions.TopCenter }); return(RedirectToAction(nameof(Index))); }
// Entfernt ein einzelnes Buch aus dem Warenkorb public async Task <IActionResult> EntferneVonWarenkorb(int?id) { var warenkorbExemplar = await bibContext.Warenkorb.SingleOrDefaultAsync(i => i.Id == id); var user = await userManager.GetUserAsync(User); var warenkorbManager = WarenkorbManager.GetWarenkorbManager(user, bibContext); await warenkorbManager.EntferneVonWarenkorb(warenkorbExemplar); toastNotification.AddToastMessage("Buch entfernt", "Das Buch \"" + warenkorbExemplar.BuchTitel + "\" wurde aus dem Warenkorb entfernt.", ToastEnums.ToastType.Success, new ToastOption() { PositionClass = ToastPositions.TopCenter }); return(RedirectToAction(nameof(Index))); }