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