示例#1
0
        public IActionResult Obrisi(int id)
        {
            EKnjiga x = _db.EKnjige.Find(id);

            _db.EKnjige.Remove(x);
            _db.SaveChanges();
            return(RedirectToAction("PrikaziKnjige"));
        }
示例#2
0
        public IActionResult Index(int knjigaId)
        {
            OcijeniVMIndex m      = new OcijeniVMIndex();
            EKnjiga        knjiga = _db.EKnjige.Find(knjigaId);

            m.KnjigaID = knjiga.EKnjigaID;
            m.naziv    = knjiga.Naziv;
            m.slika    = knjiga.Slika;
            m.ocijena  = knjiga.OcjenaKnjige;
            return(View(m));
        }
示例#3
0
        public IActionResult Knjigakupovina(int id)
        {
            ProizvodVM m = new ProizvodVM();


            EKnjiga k = _db.EKnjige.Find(id);

            m.KnjigaId  = k.EKnjigaID;
            m.Naslov    = k.Naziv;
            m.Ocjena    = k.OcjenaKnjige;
            m.Cijena    = k.Cijena;
            m.Slika     = k.Slika;
            m.Opis      = k.Opis;
            m.Komentari = _db.Komentari.Include(x => x.Klijent).Where(x => x.EKnjigaID == k.EKnjigaID).ToList();
            m.rows      = _db.EKnjigaAutori.Where(x => x.EKnjigaID == id).Select(y => new ProizvodVM.Row
            {
                Autor = y.Autor.Ime + " " + y.Autor.Prezime
            }).ToList();



            m.rows2 = _db.EKnjigaKategorije.Where(x => x.EKnjigaID == id).Select(y => new ProizvodVM.Row2
            {
                Kategorija = y.Kategorija.Naziv
            }).ToList();



            m.rows3 = _db.EKnjigaTipovi.Where(x => x.EKnjigaID == id).Select(y => new ProizvodVM.Row3
            {
                TipFajla = y.Tipfajla.Naziv
            }).ToList();
            var korisnik = HttpContext.getKorisnickiNalog();



            return(View(m));
        }
示例#4
0
        public async Task <IActionResult> DodajKnjigu(KnjigeDodajVM model)
        {
            if (model.PdfByte == null && model.Mp3Byte == null)
            {
                ModelState.AddModelError("PdfByte", "PDF ili mp3 fajl su obavezni");
            }

            if (model.TipoviId != null)
            {
                var tipovi   = _db.TipFajlova;
                var pdfTipId = tipovi.SingleOrDefault(x => x.Naziv == "PDF").TipFajlaID;
                var mp3TipId = tipovi.SingleOrDefault(x => x.Naziv == "MP3").TipFajlaID;

                if (model.PdfByte == null && model.TipoviId.Contains(pdfTipId))
                {
                    ModelState.AddModelError("PdfByte", "PDF fajl je obavezan");
                }

                if (model.Mp3Byte == null && model.TipoviId.Contains(mp3TipId))
                {
                    ModelState.AddModelError("Mp3Byte", "MP3 fajl je obavezan");
                }

                if (model.PdfByte != null && !model.TipoviId.Contains(pdfTipId))
                {
                    ModelState.AddModelError("PdfByte", "Niste odabrali tip fajla PDF za uneseni PDF dokument");
                }

                if (model.Mp3Byte != null && !model.TipoviId.Contains(mp3TipId))
                {
                    ModelState.AddModelError("Mp3Byte", "Niste odabrali tip fajla MP3 za uneseni MP3 fajl");
                }
            }

            if (!ModelState.IsValid)
            {
                model.Autori = _db.Autori.Select(k => new SelectListItem
                {
                    Value = k.AutorID.ToString(),
                    Text  = k.Ime + " " + k.Prezime
                }).ToList();

                model.Tipovi = _db.TipFajlova.Select(t => new SelectListItem
                {
                    Value = t.TipFajlaID.ToString(),
                    Text  = t.Naziv
                }).ToList();

                model.Kategorije = _db.Kategorije.Select(k => new SelectListItem
                {
                    Value = k.KategorijaID.ToString(),
                    Text  = k.Naziv
                }).ToList();

                Response.StatusCode = 400;
                return(PartialView(model));
            }

            EKnjiga knjiga = new EKnjiga
            {
                Naziv           = model.Naziv,
                AdministratorID = HttpContext.getKorisnickiNalogAdministrator().AdministratorID,
                Cijena          = model.Cijena,
                Opis            = model.Opis
            };

            if (model.SlikaByte != null)
            {
                knjiga.Slika = await _fileManager.Save(model.SlikaByte, "/Slike", $"{knjiga.Naziv}-{Guid.NewGuid()}.png");
            }

            if (model.PdfByte != null)
            {
                knjiga.PdfPath = await _fileManager.Save(model.PdfByte, "/PdfFajlovi", $"{knjiga.Naziv}-{Guid.NewGuid()}.pdf");
            }

            if (model.Mp3Byte != null)
            {
                knjiga.Mp3Path = await _fileManager.Save(model.Mp3Byte, "/Mp3Fajlovi", $"{knjiga.Naziv}-{Guid.NewGuid()}.mp3");
            }

            _db.EKnjige.Add(knjiga);
            _db.SaveChanges();

            foreach (var autorID in model.AutoriID)
            {
                var autor = new EKnjigeAutor
                {
                    AutorID   = autorID,
                    EKnjigaID = knjiga.EKnjigaID
                };
                _db.EKnjigaAutori.Add(autor);
            }

            foreach (var tipFajlaId in model.TipoviId)
            {
                var tipFajla = new EKnjigaTip
                {
                    TipFajlaID = tipFajlaId,
                    EKnjigaID  = knjiga.EKnjigaID
                };
                _db.EKnjigaTipovi.Add(tipFajla);
            }

            foreach (var kategorijaID in model.KategorijeID)
            {
                var kategorija = new EKnjigaKategorija
                {
                    KategorijaID = kategorijaID,
                    EKnjigaID    = knjiga.EKnjigaID
                };
                _db.EKnjigaKategorije.Add(kategorija);
            }

            _db.SaveChanges();
            return(Ok());
        }