public async Task <ActionResult> Detale(int?id) { if (id == null) { return(NotFound()); } var ksiazka = await _context.Ksiazki.FirstOrDefaultAsync(m => m.id_ksiazki == id); ksiazka.Wydawnictwa = await _context.Wydawnictwa.FirstOrDefaultAsync(m => m.id_wydawnictwa == ksiazka.id_wydawnictwa); if (ksiazka == null) { return(NotFound()); } KsiazkaViewModel ksiazkaVM = new KsiazkaViewModel(); ksiazkaVM.id_ksiazki = ksiazka.id_ksiazki; ksiazkaVM.id_wydawnictwo = ksiazka.id_wydawnictwa; ksiazkaVM.tytuł = ksiazka.tytuł; ksiazkaVM.data_wydania = ksiazka.data_wydania; ksiazkaVM.Wydawnictwa = await _context.Wydawnictwa.FirstOrDefaultAsync(m => m.id_wydawnictwa == ksiazka.id_wydawnictwa); //kategorie var kategorie_ksiazki = await _context.Kategorie_Ksiazki.Where(m => m.id_ksiazki == ksiazka.id_ksiazki).ToListAsync(); Kategorie kategoria = new Kategorie(); List <string> listaKategorii = new List <string>(); foreach (Kategorie_Ksiazki k in kategorie_ksiazki) { kategoria = await _context.Kategorie.FirstOrDefaultAsync(m => m.id_kategorii == k.id_kategorii); listaKategorii.Add(kategoria.nazwa); } ksiazkaVM.kategorieLista = listaKategorii; //autorzy var autorzy_ksiazki = await _context.Autorzy_Ksiazki.Where(m => m.id_ksiazki == ksiazka.id_ksiazki).ToListAsync(); Autor autor = new Autor(); List <string> listaAutorow = new List <string>(); string autorRecord; foreach (Autorzy_Ksiazki a in autorzy_ksiazki) { autor = await _context.Autor.FirstOrDefaultAsync(m => m.id_autor == a.id_autora); autorRecord = autor.imie + " " + autor.nazwisko; listaAutorow.Add(autorRecord); } ksiazkaVM.autorzyLista = listaAutorow; return(View(ksiazkaVM)); // return View(); }
public KsiazkaPage() { InitializeComponent(); BindingContext = _viewModel = new KsiazkaViewModel(); }
public async Task <IActionResult> Stworz(KsiazkaViewModel ksiazkaVM) { var wydawnictwo = await _context.Wydawnictwa.FirstOrDefaultAsync(m => m.id_wydawnictwa == ksiazkaVM.id_wydawnictwo); Ksiazki ksiazka = new Ksiazki(); ksiazka.id_ksiazki = ksiazkaVM.id_ksiazki; ksiazka.id_wydawnictwa = wydawnictwo.id_wydawnictwa; ksiazka.tytuł = ksiazkaVM.tytuł; ksiazka.data_wydania = ksiazkaVM.data_wydania; ksiazka.Wydawnictwa = wydawnictwo; //kategorie_ksiazki string[] splitKategorie = ksiazkaVM.kategorie.Split(new Char[] { ',' }); Kategorie kategoria = new Kategorie(); foreach (string k in splitKategorie) { Kategorie_Ksiazki kategorie_ksiazki = new Kategorie_Ksiazki(); kategoria = await _context.Kategorie.FirstOrDefaultAsync(m => m.nazwa == k); kategorie_ksiazki.id_kategorii = kategoria.id_kategorii; kategorie_ksiazki.id_ksiazki = ksiazkaVM.id_ksiazki; kategorie_ksiazki.Ksiazki = ksiazka; kategorie_ksiazki.Kategorie = kategoria; _context.Kategorie_Ksiazki.Add(kategorie_ksiazki); } //autorzy_ksiazki string[] splitAutorzy = ksiazkaVM.autorzy.Split(new Char[] { ',' }); Autor autor = new Autor(); string[] splitWewn; foreach (string a in splitAutorzy) { Autorzy_Ksiazki autorzy_ksiazki = new Autorzy_Ksiazki(); splitWewn = a.Split(new Char[] { ' ' }); autor = await _context.Autor.FirstOrDefaultAsync(m => m.nazwisko == splitWewn[1] && m.imie == splitWewn[0]); autorzy_ksiazki.id_autora = autor.id_autor; autorzy_ksiazki.id_ksiazki = ksiazka.id_ksiazki; autorzy_ksiazki.Autor = autor; autorzy_ksiazki.Ksiazki = ksiazka; _context.Autorzy_Ksiazki.Add(autorzy_ksiazki); } try { if (ModelState.IsValid) { _context.Ksiazki.Add(ksiazka); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); } } catch (DataException /* dex */) { //Log the error (uncomment dex variable name and add a line here to write a log. ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator."); } return(RedirectToAction("Index")); }
public ActionResult Create(KsiazkaViewModel kvm) { if (ModelState.IsValid) { var rozbudowa = Path.GetExtension(kvm.Zawartosc.FileName); Ksiazka ksiazka = new Ksiazka() { DodajDate = DateTime.Now, Naklad = kvm.Naklad, Id_Kategorii = kvm.Id_Kategorii, Rok = kvm.Rok, Tytul = kvm.Tytul, ISBN = kvm.ISBN, Opis = kvm.Opis, Pisarze = new List <KsiazkaPisarz>(), Etykiety = new List <KsiazkaEtykieta>() }; db.Ksiazki.Add(ksiazka); db.SaveChanges(); var nazwapliku = ksiazka.Id_Ksiazka + "zawartosc" + rozbudowa; ksiazka.Zawartosc = nazwapliku; var directory = Path.Combine(Server.MapPath("~/App_Data/uploads"), ksiazka.Id_Ksiazka.ToString()); Directory.CreateDirectory(directory); var sciezka = Path.Combine(directory, nazwapliku); kvm.Zawartosc.SaveAs(sciezka); db.SaveChanges(); for (int i = 0; i < kvm.WybraniPisarze.Length; i++) { var id = kvm.WybraniPisarze[i]; var pisarz = db.Pisarze.FirstOrDefault(x => x.Id_Pisarza == id); if (pisarz != null) { var y = new KsiazkaPisarz() { Id_Ksiazka = ksiazka.Id_Ksiazka, Id_KsiazkaPisarz = pisarz.Id_Pisarza }; db.KsiakaPisarze.Add(y); db.SaveChanges(); } } for (int i = 0; i < kvm.WybraneEtykiety.Length; i++) { var id = kvm.WybraneEtykiety[i]; var etykiety = db.Etykiety.FirstOrDefault(x => x.Id_Etykieta == id); if (etykiety != null) { var ke = new KsiazkaEtykieta() { Id_Ksiazki = ksiazka.Id_Ksiazka, Id_Etykiety = etykiety.Id_Etykieta }; db.KsiazkaEtykiety.Add(ke); db.SaveChanges(); } } db.Entry(ksiazka).State = EntityState.Modified; db.SaveChanges(); for (var i = 0; i < kvm.Pliki.Count; i++) { if (kvm.Pliki[i] != null) { Plik plik = new Plik(); plik.Id_Ksiazka = ksiazka.Id_Ksiazka; plik.Ksiazka = ksiazka; plik.Nazwa = kvm.PlikiNazwy[i]; plik.Zrodlo = kvm.Pliki[i].FileName; kvm.Pliki[i].SaveAs(Path.Combine(directory, kvm.Pliki[i].FileName)); db.Pliki.Add(plik); db.SaveChanges(); } } return(RedirectToAction("Index")); } IEnumerable <SelectListItem> pisarze = from p in db.Pisarze select new SelectListItem { Value = p.Id_Pisarza.ToString(), Text = p.Imie + " " + p.Nazwisko }; ViewBag.Id_Kategorii = new SelectList(db.Kategorie, "KategoriaId", "Nazwa"); ViewBag.Pisarze = new SelectList(pisarze, "Value", "Text"); ViewBag.Etykiety = new SelectList(db.Etykiety, "EtykietyId", "Nazwa"); return(View(kvm)); }