public IActionResult Dodaj(int ArtikalID) { ArtikalDodajVM noviArtikal = ArtikalID == 0 ? new ArtikalDodajVM() { Kategorije = _database.Kategorija.Select(k => new SelectListItem { Value = k.ID.ToString(), Text = k.NazivKategorije }).ToList() } : _database.Artikal .Where(y => y.ID == ArtikalID) .Select(y => new ArtikalDodajVM { ID = y.ID, KategorijaID = y.KategorijaID, NazivArtikla = y.Naziv, ProdavacId = y.ProdavacID, ImeProdavaca = y.ImeProdavaca, Cijena = y.Cijena, Kategorije = _database.Kategorija.Select(k => new SelectListItem { Value = k.ID.ToString(), Text = k.NazivKategorije }).ToList(), //optimizacija??? Slike = _database.Slika.Where(x => x.ArtikalID == y.ID).Select(x => x.SlikaFile).ToList(), SlikaID = _database.Slika.Where(y => y.ArtikalID == ArtikalID).Select(x => x.ID).ToList() }).Single(); return(View(noviArtikal)); }
public IActionResult Dodaj() { ArtikalDodajVM a = new ArtikalDodajVM(); ViewBag.Podkategorije = db.Podkategorija.Select(p => new PodkategorijaPrikazVM { ID = p.ID, Naziv = p.Naziv, Kategorija_ = new SelectListItem { Value = p.KategorijaID.ToString() } }).ToList(); return(PartialView("Dodaj", a)); }
private string UploadedFile(ArtikalDodajVM model) { string uniqueFileName = null; foreach (var item in model.Slika) { if (item != null) { string uploadsFolder = Path.Combine(_hostEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + item.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { item.CopyTo(fileStream); } } } return(uniqueFileName); }
public IActionResult Dodaj(ArtikalDodajVM artikal, IFormFile Slika) { Artikal a = new Artikal { Naziv = artikal.Naziv, Cijena = artikal.Cijena, Popust = artikal.Popust, Opis = artikal.Opis, PodkategorijaID = artikal.Podkategorija.ID, KategorijaID = db.Podkategorija.Where(x => x.ID == artikal.Podkategorija.ID).FirstOrDefault().KategorijaID }; if (Slika != null && Slika.Length > 0) { using (MemoryStream stream = new MemoryStream()) { Slika.CopyToAsync(stream); a.Slika = stream.ToArray(); } } else { a.Slika = new byte[1]; } int brojArtikala = db.Artikal.Count(); if (brojArtikala == 0) { a.Sifra = "10001"; } else { Artikal zadnji = db.Artikal.ToList().Last(); int sifra = int.Parse(zadnji.Sifra); a.Sifra = (sifra + 1).ToString(); } db.Add(a); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <IActionResult> Snimi(ArtikalDodajVM noviArtikal) { Artikal artikal; if (noviArtikal.ID == 0) { artikal = new Artikal(); _database.Artikal.Add(artikal); artikal.ProdavacID = User.FindFirst(ClaimTypes.NameIdentifier).Value; artikal.ImeProdavaca = _database.Users.Find(artikal.ProdavacID).Ime + " " + _database.Users.Find(artikal.ProdavacID).Prezime; } else { artikal = _database.Artikal.Find(noviArtikal.ID); } artikal.Naziv = noviArtikal.NazivArtikla; artikal.KategorijaID = noviArtikal.KategorijaID; artikal.Cijena = noviArtikal.Cijena; _database.SaveChanges(); Artikal artikl = _database.Artikal.Find(artikal.ID); int brojacProlaza = 0; if (noviArtikal.Slika != null) { foreach (var slika in noviArtikal.Slika) { string uniqueFileName = UploadedFile(noviArtikal); if (slika != null) { //Convert Image to byte and save to database if (slika.Length > 0) { byte[] p1 = null; using (var fs1 = slika.OpenReadStream()) using (var ms1 = new MemoryStream()) { Slika newImage; fs1.CopyTo(ms1); p1 = ms1.ToArray(); foreach (var item in _database.Slika) { if (item.ArtikalID == artikl.ID) { if (item.Thumbnail == 1) { brojacProlaza++; } } } if (brojacProlaza == 0) { newImage = new Slika() { ArtikalID = artikl.ID, SlikaFile = p1, Thumbnail = 1 }; brojacProlaza++; } else { newImage = new Slika() { ArtikalID = artikl.ID, SlikaFile = p1 }; } _database.Slika.Add(newImage); } } } } } _database.SaveChanges(); return(Redirect("/Artikal/")); }