Esempio n. 1
0
        // Leiht einem Benutzer ein Exemplar aus
        public async Task Ausleihen(Exemplar exemplar, Leihauftrag leihauftrag)
        {
            exemplar.EntliehenBis  = DateTime.Now.AddDays(30);
            exemplar.Verfügbarkeit = false;

            leihauftrag.IstVerliehen = true;

            bibContext.Exemplar.Update(exemplar);
            bibContext.Leihauftrag.Update(leihauftrag);
            await bibContext.SaveChangesAsync();
        }
Esempio n. 2
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. 3
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();
            }
        }
Esempio n. 4
0
        // Füllt die Datenbank mit Testdaten
        public async Task Initialize()
        {
            string[] roleNames = { "Admin", "Member" };

            // Erstelle alle Benutzer-Rollen
            foreach (var roleName in roleNames)
            {
                var roleExist = await roleManager.RoleExistsAsync(roleName);

                if (!roleExist)
                {
                    await roleManager.CreateAsync(new IdentityRole(roleName));
                }
            }

            // Erstelle alle Benutzer
            if (!bibContext.Benutzer.Any())
            {
                var poweruser = new Benutzer
                {
                    UserName = "******",
                    Email    = "*****@*****.**",
                    Role     = "Admin"
                };

                var testuser = new Benutzer
                {
                    UserName = "******",
                    Email    = "*****@*****.**",
                    Role     = "Member"
                };

                var user1 = new Benutzer
                {
                    UserName = "******",
                    Email    = "*****@*****.**",
                    Role     = "Member"
                };

                var user2 = new Benutzer
                {
                    UserName = "******",
                    Email    = "hans.mü[email protected]",
                    Role     = "Member"
                };

                var user3 = new Benutzer
                {
                    UserName = "******",
                    Email    = "*****@*****.**",
                    Role     = "Member"
                };

                var user4 = new Benutzer
                {
                    UserName = "******",
                    Email    = "*****@*****.**",
                    Role     = "Member"
                };

                var user5 = new Benutzer
                {
                    UserName = "******",
                    Email    = "*****@*****.**",
                    Role     = "Member"
                };

                string userPWD = "Test123!";

                var powerUserTest = await userManager.FindByEmailAsync("*****@*****.**");

                var testUserTest = await userManager.FindByEmailAsync("*****@*****.**");

                var user1Test = await userManager.FindByEmailAsync("*****@*****.**");

                var user2Test = await userManager.FindByEmailAsync("hans.mü[email protected]");

                var user3Test = await userManager.FindByEmailAsync("*****@*****.**");

                var user4Test = await userManager.FindByEmailAsync("*****@*****.**");

                var user5Test = await userManager.FindByEmailAsync("*****@*****.**");

                if (powerUserTest == null)
                {
                    var createPowerUser = await userManager.CreateAsync(poweruser, userPWD);

                    if (createPowerUser.Succeeded)
                    {
                        await userManager.AddToRoleAsync(poweruser, "Admin");
                    }
                }

                if (testUserTest == null)
                {
                    var createTestUser = await userManager.CreateAsync(testuser, userPWD);

                    if (createTestUser.Succeeded)
                    {
                        await userManager.AddToRoleAsync(testuser, "Member");
                    }
                }

                if (user1Test == null)
                {
                    var createUser1 = await userManager.CreateAsync(user1, userPWD);

                    if (createUser1.Succeeded)
                    {
                        await userManager.AddToRoleAsync(user1, "Member");
                    }
                }

                if (user2Test == null)
                {
                    var createUser2 = await userManager.CreateAsync(user2, userPWD);

                    if (createUser2.Succeeded)
                    {
                        await userManager.AddToRoleAsync(user2, "Member");
                    }
                }

                if (user3Test == null)
                {
                    var createUser3 = await userManager.CreateAsync(user3, userPWD);

                    if (createUser3.Succeeded)
                    {
                        await userManager.AddToRoleAsync(user3, "Member");
                    }
                }

                if (user4Test == null)
                {
                    var createUser4 = await userManager.CreateAsync(user4, userPWD);

                    if (createUser4.Succeeded)
                    {
                        await userManager.AddToRoleAsync(user4, "Member");
                    }
                }

                if (user5Test == null)
                {
                    var createUser5 = await userManager.CreateAsync(user5, userPWD);

                    if (createUser5.Succeeded)
                    {
                        await userManager.AddToRoleAsync(user5, "Member");
                    }
                }
            }

            // Alle Bücher erstellen
            if (!bibContext.Buch.Any())
            {
                var buecher = new Buch[]
                {
                    new Buch {
                        ISBN = "978-3470430287", Titel = "Kompendium Wirtschaftsrecht", Autor = "Brunhilde Steckler, Dimitra Tekidou-Kühlke", Erscheinungsjahr = 2016, Regal = 4, Reihe = 1, Verlag = "NWB", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3933070661", Titel = "Andersens Märchen", Autor = "Hans Christian Andersen", Erscheinungsjahr = 2007, Regal = 1, Reihe = 2, Verlag = "Edition Lempers ", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3866471788", Titel = "Stolz und Vorurteil", Autor = "Jane Austen", Erscheinungsjahr = 2007, Regal = 4, Reihe = 1, Verlag = "Anaconda", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3596900732", Titel = "Vater Goriot", Autor = "Honoré de Balzac", Erscheinungsjahr = 2008, Regal = 22, Reihe = 3, Verlag = "Fischer", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3866473720", Titel = "Das Dekameron", Autor = "Giovanni Boccaccio", Erscheinungsjahr = 2009, Regal = 6, Reihe = 2, Verlag = "Anaconda", AnzahlExemplare = 5
                    },
                    new Buch {
                        ISBN = "978-3518456729", Titel = "Drei Romane. Molloy. Malone stirbt. Der Namenlose", Autor = "Samuel Beckett", Erscheinungsjahr = 2005, Regal = 10, Reihe = 4, Verlag = "Suhrkamp", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3499221897", Titel = "Der Fremde", Autor = "Albert Camus", Erscheinungsjahr = 1996, Regal = 13, Reihe = 2, Verlag = "Rowohlt", AnzahlExemplare = 2
                    },

                    new Buch {
                        ISBN = "978-3518456651", Titel = "Die Gedichte. Kommentierte Gesamtausgabe", Autor = "Paul Celan", Erscheinungsjahr = 2005, Regal = 15, Reihe = 3, Verlag = "Suhrkamp", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3499236587", Titel = "Reise ans Ende der Nacht", Autor = "Louis-Ferdinand Céline", Erscheinungsjahr = 2004, Regal = 14, Reihe = 2, Verlag = "Rowohlt", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3491960831", Titel = "Don Quijote", Autor = "Miguel de Cervantes", Erscheinungsjahr = 2004, Regal = 16, Reihe = 4, Verlag = "Albatros", AnzahlExemplare = 5
                    },
                    new Buch {
                        ISBN = "978-3866472174", Titel = "Die Canterbury-Erzählungen", Autor = "Geoffrey Chaucer", Erscheinungsjahr = 2008, Regal = 17, Reihe = 3, Verlag = "Anaconda", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3423126489", Titel = "Nostromo", Autor = "Joseph Conrad", Erscheinungsjahr = 1999, Regal = 19, Reihe = 1, Verlag = "DTV", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3150007969", Titel = "Die Göttliche Komödie", Autor = "Dante Alighieri", Erscheinungsjahr = 1986, Regal = 20, Reihe = 2, Verlag = "Reclam", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3150015629", Titel = "Grosse Erwartungen", Autor = "Charles Dickens", Erscheinungsjahr = 1993, Regal = 4, Reihe = 1, Verlag = "Reclam", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3150093351", Titel = "Jacques der Fatalist und sein Herr", Autor = "Denis Diderot", Erscheinungsjahr = 1972, Regal = 4, Reihe = 1, Verlag = "Reclam", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3423002950", Titel = "Berlin Alexanderplatz: Die Geschichte vom Franz Biberkopf", Autor = "Alfred Döblin", Erscheinungsjahr = 2002, Regal = 22, Reihe = 4, Verlag = "DTV", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3596129973", Titel = "Verbrechen und Strafe", Autor = "Fjodor M. Dostojewskij", Erscheinungsjahr = 1996, Regal = 3, Reihe = 3, Verlag = "Fischer", AnzahlExemplare = 2
                    },

                    new Buch {
                        ISBN = "978-3492253420", Titel = "Die Dämonen", Autor = "Fjodor M. Dostojewski", Erscheinungsjahr = 2008, Regal = 2, Reihe = 1, Verlag = "Piper", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3596135103", Titel = "Der Idiot", Autor = "Fjodor M. Dostojewskij", Erscheinungsjahr = 1998, Regal = 10, Reihe = 3, Verlag = "Fischer", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3491961234", Titel = "Die Brüder Karamasow", Autor = "Fjodor M. Dostojewskij", Erscheinungsjahr = 2004, Regal = 5, Reihe = 3, Verlag = "Patmos", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3717580027", Titel = "Middlemarch", Autor = "George Eliot", Erscheinungsjahr = 1962, Regal = 6, Reihe = 2, Verlag = "Manesse", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3499138782", Titel = "Der unsichtbare Mann", Autor = "Ralph Ellison", Erscheinungsjahr = 1998, Regal = 7, Reihe = 3, Verlag = "Rowohlt", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3150079782", Titel = "Medea: Griech. / Dt. ", Autor = "Euripides", Erscheinungsjahr = 1986, Regal = 8, Reihe = 4, Verlag = "Reclam", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3257207217", Titel = "Madame Bovary: Sitten der Provinz", Autor = "Gustave Flaubert", Erscheinungsjahr = 2005, Regal = 10, Reihe = 3, Verlag = "Diogenes", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3518223567", Titel = "Zigeunerromanzen: Primer romancero gitano", Autor = "Federico García Lorca", Erscheinungsjahr = 2002, Regal = 14, Reihe = 1, Verlag = "Suhrkamp", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3596509812", Titel = "Hundert Jahre Einsamkeit", Autor = "Gabriel García Márquez", Erscheinungsjahr = 2007, Regal = 11, Reihe = 2, Verlag = "Fischer", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3596510214", Titel = "Die Liebe in den Zeiten der Cholera", Autor = "Gabriel García Márquez", Erscheinungsjahr = 2007, Regal = 15, Reihe = 4, Verlag = "Fischer", AnzahlExemplare = 4
                    },

                    new Buch {
                        ISBN = "978-3423124003", Titel = "Faust: Eine Tragödie (Erster und zweiter Teil)", Autor = "Johann Wolfgang von Goethe", Erscheinungsjahr = 1997, Regal = 15, Reihe = 4, Verlag = "Deutscher Taschenbuch Verlag", AnzahlExemplare = 5
                    },
                    new Buch {
                        ISBN = "978-3866471757", Titel = "Die toten Seelen", Autor = "Nikolaj Gogol", Erscheinungsjahr = 2007, Regal = 8, Reihe = 2, Verlag = "Anaconda", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3423118217", Titel = "Die Blechtrommel", Autor = "Günter Grass", Erscheinungsjahr = 1993, Regal = 14, Reihe = 4, Verlag = "DTV", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3425855625", Titel = "Grande Sertão", Autor = "João Guimarães Rosa", Erscheinungsjahr = 1964, Regal = 14, Reihe = 2, Verlag = "Kiepenheuer & Witsch", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3423252997", Titel = "Hunger", Autor = "Knut Hamsun", Erscheinungsjahr = 2009, Regal = 18, Reihe = 3, Verlag = "Deutscher Taschenbuch Verlag", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3499226014", Titel = "Der alte Mann und das Meer", Autor = "Ernest Hemingway", Erscheinungsjahr = 2012, Regal = 19, Reihe = 2, Verlag = "Rowohlt", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3423130004", Titel = "Ilias · Odyssee", Autor = "Homer", Erscheinungsjahr = 2002, Regal = 20, Reihe = 4, Verlag = "dtv Verlagsgesellschaft", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3596900473", Titel = "Nora oder Ein Puppenheim", Autor = "Henrik Ibsen", Erscheinungsjahr = 2008, Regal = 21, Reihe = 4, Verlag = "Fischer", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3938484777", Titel = "Der Prozess", Autor = "Franz Kafka", Erscheinungsjahr = 2006, Regal = 9, Reihe = 3, Verlag = "Anaconda", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3866471061", Titel = "Das Schloß", Autor = "Franz Kafka", Erscheinungsjahr = 2007, Regal = 7, Reihe = 2, Verlag = "Anaconda", AnzahlExemplare = 1
                    },

                    new Buch {
                        ISBN = "978-3250104650", Titel = "Sakuntala - Ein Drama in sieben Akten", Autor = "Kalidasa", Erscheinungsjahr = 2004, Regal = 4, Reihe = 1, Verlag = "Ammann", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3423112970", Titel = "Ein Kirschbaum im Winter", Autor = "Yasunari Kawabata", Erscheinungsjahr = 1990, Regal = 7, Reihe = 3, Verlag = "Deutscher Taschenbuch Verlag", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3866472976", Titel = "Alexis Sorbas", Autor = "Nikos Kazantzakis", Erscheinungsjahr = 2008, Regal = 2, Reihe = 4, Verlag = "Anaconda", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3499142123", Titel = "Söhne und Liebhaber", Autor = "D. H. Lawrence", Erscheinungsjahr = 1967, Regal = 3, Reihe = 1, Verlag = "Rowohlt", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3882438581", Titel = "Sein eigener Herr", Autor = "Halldór Laxness", Erscheinungsjahr = 2002, Regal = 6, Reihe = 2, Verlag = "Steidl Göttingen", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3596253968", Titel = "Das goldene Notizbuch", Autor = "Doris Lessing", Erscheinungsjahr = 1989, Regal = 12, Reihe = 3, Verlag = "Fischer", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3789129445", Titel = "Pippi Langstrumpf", Autor = "Astrid Lindgren", Erscheinungsjahr = 1987, Regal = 16, Reihe = 2, Verlag = "Oetinger Verlag", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3293004085", Titel = "Das trunkene Land: Erzählungen", Autor = "Lu Xun", Erscheinungsjahr = 2009, Regal = 18, Reihe = 2, Verlag = "Unionsverlag", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3293200500", Titel = "Die Kinder unseres Viertels", Autor = "Nagib Machfus, Naguib Mahfouz", Erscheinungsjahr = 2006, Regal = 19, Reihe = 3, Verlag = "Unionsverlag", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3596294312", Titel = "Buddenbrooks. Verfall einer Familie", Autor = "Thomas Mann", Erscheinungsjahr = 2008, Regal = 20, Reihe = 2, Verlag = "Fischer", AnzahlExemplare = 3
                    },

                    new Buch {
                        ISBN = " 978-3596294336", Titel = "Der Zauberberg", Autor = "Thomas Mann", Erscheinungsjahr = 1991, Regal = 5, Reihe = 1, Verlag = "Fischer", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3800054794", Titel = "Moby Dick", Autor = "Herman Melville", Erscheinungsjahr = 2009, Regal = 6, Reihe = 2, Verlag = "Ueberreuter", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3938484401", Titel = "Die Essais", Autor = "Michel de Montaigne", Erscheinungsjahr = 2005, Regal = 7, Reihe = 3, Verlag = "Anaconda", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3492245647", Titel = "La Storia", Autor = "Elsa Morante", Erscheinungsjahr = 2005, Regal = 8, Reihe = 4, Verlag = "Piper", AnzahlExemplare = 5
                    },
                    new Buch {
                        ISBN = "978-3499244209", Titel = "Menschenkind", Autor = "Toni Morrison", Erscheinungsjahr = 2007, Regal = 9, Reihe = 1, Verlag = "Rowohlt", AnzahlExemplare = 6
                    },
                    new Buch {
                        ISBN = "978-3458333593", Titel = "Die Geschichte vom Prinzen Genji", Autor = "Murasaki", Erscheinungsjahr = 1994, Regal = 10, Reihe = 2, Verlag = "Insel", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3499134623", Titel = "Der Mann ohne Eigenschaften I: Erstes und Zweites Buch", Autor = "Robert Musil", Erscheinungsjahr = 1994, Regal = 11, Reihe = 3, Verlag = "Rowohlt", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3499225437", Titel = "Lolita", Autor = "Vladimir Nabokov", Erscheinungsjahr = 1999, Regal = 3, Reihe = 1, Verlag = "Rowohlt", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3938484074", Titel = "Metamorphosen", Autor = "Ovid", Erscheinungsjahr = 2005, Regal = 4, Reihe = 1, Verlag = "Anaconda", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3250250029", Titel = "Das Buch der Unruhe", Autor = "Fernando Pessoa", Erscheinungsjahr = 2008, Regal = 13, Reihe = 1, Verlag = "Ammann", AnzahlExemplare = 2
                    },

                    new Buch {
                        ISBN = "978-3458069164", Titel = "Sämtliche Erzählungen in vier Bänden", Autor = "Edgar Allan Poe", Erscheinungsjahr = 2008, Regal = 14, Reihe = 3, Verlag = "Insel", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3518397091", Titel = "Auf der Suche nach der verlorenen Zeit", Autor = "Marcel Proust", Erscheinungsjahr = 2000, Regal = 18, Reihe = 3, Verlag = "Suhrkamp", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3446230668", Titel = "Pedro Páramo", Autor = "Juan Rulfo", Erscheinungsjahr = 2008, Regal = 16, Reihe = 4, Verlag = "Carl Hanser", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3906005027", Titel = "Das Masnavi: Erstes Buch", Autor = "Moulana Jalaluddin Rumi", Erscheinungsjahr = 2012, Regal = 14, Reihe = 3, Verlag = "Edition Shershir", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3499238321", Titel = "Mitternachtskinder", Autor = "Salman Rushdie", Erscheinungsjahr = 2005, Regal = 3, Reihe = 1, Verlag = "Rowohlt", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-0141187204", Titel = "Season of Migration to the North", Autor = "Tayeb Salih", Erscheinungsjahr = 2003, Regal = 16, Reihe = 2, Verlag = "Penguin Classics", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3499224676", Titel = "Die Stadt der Blinden", Autor = "José Saramago", Erscheinungsjahr = 1999, Regal = 13, Reihe = 4, Verlag = "Rowohlt", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3704321206", Titel = "Krieg und Frieden", Autor = "Leo N Tolstoi", Erscheinungsjahr = 2005, Regal = 20, Reihe = 4, Verlag = "Neuer Kaiser", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3491961968", Titel = "Anna Karenina", Autor = "Leo N. Tolstoi", Erscheinungsjahr = 2007, Regal = 3, Reihe = 1, Verlag = "Patmos", AnzahlExemplare = 4
                    },

                    new Buch {
                        ISBN = "978-3821807331", Titel = "Leben und Ansichten von Tristram Shandy, Gentleman", Autor = "Laurence Sterne", Erscheinungsjahr = 2006, Regal = 21, Reihe = 1, Verlag = "Anaconda", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3499134852", Titel = "Zeno Cosini", Autor = "Italo Svevo", Erscheinungsjahr = 1990, Regal = 5, Reihe = 2, Verlag = "Rowohlt", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3458347583", Titel = "Gullivers Reisen", Autor = "Jonathan Swift", Erscheinungsjahr = 2004, Regal = 12, Reihe = 2, Verlag = "Insel", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3458341277", Titel = "Der Tod des Iwan Iljitsch", Autor = "Lew Tolstoj", Erscheinungsjahr = 2002, Regal = 13, Reihe = 3, Verlag = "Insel", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3257217025", Titel = "Meistererzählungen", Autor = "Anton Cechov, Anton Tschechow", Erscheinungsjahr = 2000, Regal = 4, Reihe = 1, Verlag = "Diogenes", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3899055788", Titel = "Tausend und eine Nacht", Autor = "K.A.", Erscheinungsjahr = 2007, Regal = 4, Reihe = 1, Verlag = "ADAC", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3866471771", Titel = "Die Abenteuer des Huckleberry Finn", Autor = "Mark Twain, Samuel Clemens", Erscheinungsjahr = 2007, Regal = 4, Reihe = 1, Verlag = "Anaconda", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3938484081", Titel = "Aeneis", Autor = "Vergil", Erscheinungsjahr = 2005, Regal = 4, Reihe = 1, Verlag = "Anaconda", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3257213515", Titel = "Grashalme", Autor = "Walt Whitman", Erscheinungsjahr = 1985, Regal = 4, Reihe = 1, Verlag = "Diogenes", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3596140022", Titel = "Mrs Dalloway", Autor = "Virginia Woolf", Erscheinungsjahr = 1997, Regal = 4, Reihe = 1, Verlag = "Fischer", AnzahlExemplare = 2
                    },

                    new Buch {
                        ISBN = "978-3648065174", Titel = "Agiles Projektmanagement: Scrum, Use Cases, Task Boards & Co.", Autor = "Jörg Preußig", Erscheinungsjahr = 2015, Regal = 4, Reihe = 1, Verlag = "Haufe Lexware", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3864902611", Titel = "Scrum - verstehen und erfolgreich einsetzen", Autor = "Stefan Roock,Henning Wolf", Erscheinungsjahr = 2015, Regal = 4, Reihe = 1, Verlag = "dpunkt", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3648073278", Titel = "Projektmanagement", Autor = "Hans-D. Litke,Ilonka Kunow,Heinz Schulz-Wimmer", Erscheinungsjahr = 2015, Regal = 4, Reihe = 1, Verlag = "CreateSpace", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3636012913", Titel = "Überleben im Projekt", Autor = "Klaus D. Tumuscheit", Erscheinungsjahr = 2007, Regal = 15, Reihe = 4, Verlag = "Redline", AnzahlExemplare = 5
                    },
                    new Buch {
                        ISBN = "978-3658082833", Titel = "Intensivtraining Projektmanagement", Autor = "Walter Jakoby", Erscheinungsjahr = 2015, Regal = 12, Reihe = 6, Verlag = "van Ons", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3895784538", Titel = "Tools für Projektmanagement, Workshops und Consulting", Autor = "Nicolai Andler", Erscheinungsjahr = 2015, Regal = 17, Reihe = 3, Verlag = "van Ons", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3000543401", Titel = "PROJEKT-INSZENATOR", Autor = "Alexander Mereien", Erscheinungsjahr = 2017, Regal = 4, Reihe = 1, Verlag = "van Ons", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3636012050", Titel = "Projektcontrolling leicht gemacht", Autor = "Ulrich Ch Füting, Ingo Hahn", Erscheinungsjahr = 2005, Regal = 15, Reihe = 2, Verlag = "REDLINE", AnzahlExemplare = 1
                    },
                    new Buch {
                        ISBN = "978-3446447974", Titel = "Projektmanagement mit Excel", Autor = "Ignatz Schels, Uwe M. Seidel", Erscheinungsjahr = 2016, Regal = 8, Reihe = 3, Verlag = "Carl Hanser", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3446440746", Titel = "Handbuch IT-Projektmanagement", Autor = "Ernst Tiemeyer", Erscheinungsjahr = 2014, Regal = 9, Reihe = 3, Verlag = "Carl Hanser", AnzahlExemplare = 2
                    },

                    new Buch {
                        ISBN = "978-3110335286", Titel = "Wirtschaftsinformatik", Autor = "Hans Robert Hansen", Erscheinungsjahr = 2015, Regal = 11, Reihe = 1, Verlag = "De Gruyter Oldenbourg", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-3849700881", Titel = "Einführung in die Teamarbeit", Autor = "Cornelia Edding,Karl Schattenhofer", Erscheinungsjahr = 2015, Regal = 14, Reihe = 3, Verlag = "Carl-Auer", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3658098025", Titel = "Marketing: Grundlagen für Studium und Praxis", Autor = "Manfred Bruhn", Erscheinungsjahr = 2016, Regal = 19, Reihe = 3, Verlag = "Springer Gabler", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3658136550", Titel = "Marketingmanagement", Autor = "Christian Homburg", Erscheinungsjahr = 2016, Regal = 10, Reihe = 4, Verlag = "Springer Gabler", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3658086886", Titel = "Kundenzufriedenheit", Autor = "Christian Homburg", Erscheinungsjahr = 2015, Regal = 18, Reihe = 1, Verlag = "Springer Gabler", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3642371158", Titel = "Erfolgsfaktor Kundenzufriedenheit", Autor = "Hansjörg Künzel", Erscheinungsjahr = 2013, Regal = 7, Reihe = 2, Verlag = "Springer Gabler", AnzahlExemplare = 3
                    },
                    new Buch {
                        ISBN = "978-1539744986", Titel = "Online-Marketing-Konzeption - 2017", Autor = "Erwin Lammenett", Erscheinungsjahr = 2017, Regal = 4, Reihe = 1, Verlag = "CreateSpace", AnzahlExemplare = 4
                    },
                    new Buch {
                        ISBN = "978-3658154936", Titel = "Praxiswissen Online-Marketing", Autor = "Erwin Lammenett", Erscheinungsjahr = 2017, Regal = 16, Reihe = 2, Verlag = "Springer Gabler", AnzahlExemplare = 2
                    },
                    new Buch {
                        ISBN = "978-3658163785", Titel = "Grundkurs Wirtschaftsinformatik", Autor = "Dietmar Abts, Wilhelm Mülder", Erscheinungsjahr = 2017, Regal = 6, Reihe = 1, Verlag = "Springer Vieweg", AnzahlExemplare = 8
                    },
                    new Buch {
                        ISBN = "978-3834800022", Titel = "Masterkurs Wirtschaftsinformatik", Autor = "Dietmar Abts, Wilhelm Mülder", Erscheinungsjahr = 2009, Regal = 4, Reihe = 1, Verlag = "Vieweg+Teubner", AnzahlExemplare = 6
                    },
                };

                // Erstelle die zugehörigen Exemplare
                foreach (Buch buch in buecher)
                {
                    bibContext.Buch.Add(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();

                // Erstelle Leihaufträge
                if (!bibContext.Leihauftrag.Any())
                {
                    // 1. Buch verleihen
                    var buch1     = bibContext.Buch.SingleOrDefault(e => e.ISBN.Equals("978-3648073278"));
                    var exemplar1 = bibContext.Exemplar.SingleOrDefault(e => e.ISBN.Equals("978-3648073278") && e.ExemplarId == 1);

                    var leihauftrag1 = new Leihauftrag {
                        Benutzer     = "member",
                        ISBN         = exemplar1.ISBN,
                        BuchTitel    = buch1.Titel,
                        ExemplarId   = exemplar1.ExemplarId,
                        IstVerliehen = true
                    };

                    bibContext.Leihauftrag.Add(leihauftrag1);

                    exemplar1.Verfügbarkeit = false;
                    exemplar1.EntliehenBis  = DateTime.Now.AddDays(-2);

                    bibContext.Exemplar.Update(exemplar1);

                    // 2. Buch verleihen
                    var buch2     = bibContext.Buch.SingleOrDefault(e => e.ISBN.Equals("978-3864902611"));
                    var exemplar2 = bibContext.Exemplar.SingleOrDefault(e => e.ISBN.Equals("978-3864902611") && e.ExemplarId == 1);

                    var leihauftrag2 = new Leihauftrag
                    {
                        Benutzer     = "member",
                        ISBN         = exemplar2.ISBN,
                        BuchTitel    = buch2.Titel,
                        ExemplarId   = exemplar2.ExemplarId,
                        IstVerliehen = true
                    };

                    bibContext.Leihauftrag.Add(leihauftrag2);

                    exemplar2.Verfügbarkeit = false;
                    exemplar2.EntliehenBis  = DateTime.Now.AddDays(5);

                    bibContext.Exemplar.Update(exemplar2);

                    // 3. Buch verleihen
                    var buch3     = bibContext.Buch.SingleOrDefault(e => e.ISBN.Equals("978-3938484081"));
                    var exemplar3 = bibContext.Exemplar.SingleOrDefault(e => e.ISBN.Equals("978-3938484081") && e.ExemplarId == 1);

                    var leihauftrag3 = new Leihauftrag
                    {
                        Benutzer     = "misch001",
                        ISBN         = exemplar3.ISBN,
                        BuchTitel    = buch3.Titel,
                        ExemplarId   = exemplar3.ExemplarId,
                        IstVerliehen = true
                    };

                    bibContext.Leihauftrag.Add(leihauftrag3);

                    exemplar3.Verfügbarkeit = false;
                    exemplar3.EntliehenBis  = DateTime.Now.AddDays(15);

                    bibContext.Exemplar.Update(exemplar3);

                    // 4. Buch verleihen
                    var buch4     = bibContext.Buch.SingleOrDefault(e => e.ISBN.Equals("978-3596135103"));
                    var exemplar4 = bibContext.Exemplar.SingleOrDefault(e => e.ISBN.Equals("978-3596135103") && e.ExemplarId == 1);

                    var leihauftrag4 = new Leihauftrag
                    {
                        Benutzer     = "misch001",
                        ISBN         = exemplar4.ISBN,
                        BuchTitel    = buch4.Titel,
                        ExemplarId   = exemplar4.ExemplarId,
                        IstVerliehen = true
                    };

                    bibContext.Leihauftrag.Add(leihauftrag4);

                    exemplar4.Verfügbarkeit = false;
                    exemplar4.EntliehenBis  = DateTime.Now.AddDays(4);

                    bibContext.Exemplar.Update(exemplar4);

                    // 5. Buch verleihen
                    var buch5     = bibContext.Buch.SingleOrDefault(e => e.ISBN.Equals("978-3866472976"));
                    var exemplar5 = bibContext.Exemplar.SingleOrDefault(e => e.ISBN.Equals("978-3866472976") && e.ExemplarId == 1);

                    var leihauftrag5 = new Leihauftrag
                    {
                        Benutzer     = "readl001",
                        ISBN         = exemplar5.ISBN,
                        BuchTitel    = buch5.Titel,
                        ExemplarId   = exemplar5.ExemplarId,
                        IstVerliehen = true
                    };

                    bibContext.Leihauftrag.Add(leihauftrag5);

                    exemplar5.Verfügbarkeit = false;
                    exemplar5.EntliehenBis  = DateTime.Now.AddDays(-4);

                    bibContext.Exemplar.Update(exemplar5);

                    // 6. Buch verleihen
                    var buch6     = bibContext.Buch.SingleOrDefault(e => e.ISBN.Equals("978-3446440746"));
                    var exemplar6 = bibContext.Exemplar.SingleOrDefault(e => e.ISBN.Equals("978-3446440746") && e.ExemplarId == 1);

                    var leihauftrag6 = new Leihauftrag
                    {
                        Benutzer     = "member",
                        ISBN         = exemplar6.ISBN,
                        BuchTitel    = buch6.Titel,
                        ExemplarId   = exemplar6.ExemplarId,
                        IstVerliehen = true
                    };

                    bibContext.Leihauftrag.Add(leihauftrag6);

                    exemplar6.Verfügbarkeit = false;
                    exemplar6.EntliehenBis  = DateTime.Now.AddDays(28);

                    bibContext.Exemplar.Update(exemplar6);

                    // 7. Buch verleihen
                    var buch7     = bibContext.Buch.SingleOrDefault(e => e.ISBN.Equals("978-3446447974"));
                    var exemplar7 = bibContext.Exemplar.SingleOrDefault(e => e.ISBN.Equals("978-3446447974") && e.ExemplarId == 1);

                    var leihauftrag7 = new Leihauftrag
                    {
                        Benutzer     = "member",
                        ISBN         = exemplar7.ISBN,
                        BuchTitel    = buch7.Titel,
                        ExemplarId   = exemplar7.ExemplarId,
                        IstVerliehen = true
                    };

                    bibContext.Leihauftrag.Add(leihauftrag7);

                    exemplar7.Verfügbarkeit = false;
                    exemplar7.EntliehenBis  = DateTime.Now.AddDays(26);

                    bibContext.Exemplar.Update(exemplar7);
                }

                await bibContext.SaveChangesAsync();
            }
        }
Esempio n. 5
0
        public async Task <IActionResult> Edit(String id, [Bind("UserName, Email")] Benutzer model, String Role)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var user = await userManager.FindByIdAsync(id);

                    var newName = user.UserName;

                    if (model.UserName == null) // Fall: Benutzername ist leer.
                    {
                        toastNotification.AddToastMessage("Kein Benutzername eingegeben", "Es muss ein Benutzername vergeben werden.", ToastEnums.ToastType.Error, new ToastOption()
                        {
                            PositionClass = ToastPositions.TopCenter
                        });

                        return(RedirectToAction(nameof(Edit)));
                    }
                    else if (model.Email == null) // Fall: Email ist leer.
                    {
                        toastNotification.AddToastMessage("Kein Email eingegeben", "Es muss eine Email-Adresse vergeben werden.", ToastEnums.ToastType.Error, new ToastOption()
                        {
                            PositionClass = ToastPositions.TopCenter
                        });

                        return(RedirectToAction(nameof(Edit)));
                    }
                    else
                    {
                        // Fall: Der Benutzername wurde geändert.
                        if (model.UserName != newName)
                        {
                            var userExist = bibContext.Benutzer.SingleOrDefault(b => b.UserName == model.UserName);

                            // Fall: Der neue Benutzername existiert bereits in der Datenbank.
                            if (userExist != null)
                            {
                                toastNotification.AddToastMessage("Benutzername bereits vergeben", "Der Benutzername \"" + model.UserName + "\" ist bereits vergeben.", ToastEnums.ToastType.Error, new ToastOption()
                                {
                                    PositionClass = ToastPositions.TopCenter
                                });

                                return(RedirectToAction(nameof(Edit)));
                            }

                            // Alle bisherigern Referenzen auf den neuen Namen ändern
                            var warenkorb = bibContext.Warenkorb.Where(e => e.Benutzer.Equals(user.UserName));
                            foreach (var warenkorbExemplar in warenkorb)
                            {
                                warenkorbExemplar.Benutzer = model.UserName;
                                bibContext.Warenkorb.Update(warenkorbExemplar);
                            }

                            var leihauftraege = bibContext.Leihauftrag.Where(e => e.Benutzer.Equals(user.UserName));
                            foreach (var leihauftrag in leihauftraege)
                            {
                                leihauftrag.Benutzer = model.UserName;
                                bibContext.Leihauftrag.Update(leihauftrag);
                            }

                            await bibContext.SaveChangesAsync();

                            var setNameResult = await userManager.SetUserNameAsync(user, model.UserName);
                        }

                        // Fall: Die Email-Adresse wurde geändert
                        if (user.Email != model.Email)
                        {
                            await userManager.SetEmailAsync(user, model.Email);
                        }

                        // Rolle des Benutzers wird für die Datenbank aktualisiert
                        if (Role == "Admin")
                        {
                            var role = await userManager.GetRolesAsync(user);

                            await userManager.RemoveFromRolesAsync(user, role);

                            await userManager.AddToRoleAsync(user, "Admin");

                            user.Role = "Admin";
                            bibContext.Update(user);
                            bibContext.SaveChanges();
                            toastNotification.AddToastMessage("Benutzerdaten geändert", "Die Benutzerdaten von \"" + user.UserName + "\" wurden geändert.", ToastEnums.ToastType.Success, new ToastOption()
                            {
                                PositionClass = ToastPositions.TopCenter
                            });
                            return(RedirectToAction(nameof(Index)));
                        }
                        if (Role == "Member")
                        {
                            var role = await userManager.GetRolesAsync(user);

                            await userManager.RemoveFromRolesAsync(user, role);

                            await userManager.AddToRoleAsync(user, "Member");

                            user.Role = "Member";
                            bibContext.Update(user);
                            bibContext.SaveChanges();
                            toastNotification.AddToastMessage("Benutzerdaten geändert", "Der Benutzerdaten von \"" + user.UserName + "\" wurden geändert.", ToastEnums.ToastType.Success, new ToastOption()
                            {
                                PositionClass = ToastPositions.TopCenter
                            });
                            return(RedirectToAction(nameof(Index)));
                        }
                    }

                    return(RedirectToAction(nameof(Index)));
                }
                catch (DbUpdateConcurrencyException)
                {
                    throw;
                }
            }
            return(RedirectToAction(nameof(Index)));
        }