// 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(); }
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)); }
// 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(); } }
// 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(); } }
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))); }