コード例 #1
0
ファイル: BuchController.cs プロジェクト: sannek2406/BibApp
        // 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)));
        }
コード例 #2
0
        // 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)));
        }
コード例 #3
0
        // 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)));
        }
コード例 #4
0
        // 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)));
        }