public IActionResult Detalji(int id)
        {
            Vozilo vUredi = _context.Vozilo.Where(w => w.VoziloID == id).Include(i => i.Proizvodjac).Include(t => t.Motor).SingleOrDefault();

            VozilaDodajVM model = new VozilaDodajVM
            {
                Boja              = vUredi.Boja,
                BrojVrata         = vUredi.BrojVrata,
                Cijena            = vUredi.Cijena,
                Garancija         = vUredi.Garancija,
                GodinaProizvodnje = vUredi.Godinaproizvodnje,
                Mjenjac           = vUredi.Mjenjac,
                Model             = vUredi.Model,
                Motor             = vUredi.Motor.Model + " " + vUredi.Motor.Snaga + " KS",
                Oprema            = vUredi.Oprema,
                Pogon             = vUredi.Pogon,
                Proizvodjac       = vUredi.Proizvodjac.Naziv,
                TipVozila         = vUredi.TipVozila,
                VoziloId          = vUredi.VoziloID,
                ProizvodjacId     = vUredi.ProizvodjacID,
                MotorId           = vUredi.MotorID
            };

            GenerisiCmb(model);
            return(View(model));
        }
        public IActionResult Uredi(int id)
        {
            Vozilo input = _db.Vozilo.Find(id);

            VozilaDodajVM model = new VozilaDodajVM()
            {
                TipVozila         = input.TipVozila,
                ProizvodjacID     = input.ProizvodjacID,
                Pogon             = input.Pogon,
                Oprema            = input.Oprema,
                MotorID           = input.MotorID,
                Model             = input.Model,
                Mjenjac           = input.Mjenjac,
                Godinaproizvodnje = input.Godinaproizvodnje,
                Garancija         = input.Garancija,
                Cijena            = input.Cijena,
                BrojVrata         = input.BrojVrata,
                Boja     = input.Boja,
                VoziloID = input.VoziloID
            };

            GenerisiCmb(model);

            return(View("Dodaj", model));
        }
        public IActionResult Snimi(VozilaDodajVM input)
        {
            Vozilo vUredi = _context.Vozilo.Find(input.VoziloId);

            if (vUredi != null)
            {
                if (!ModelState.IsValid)
                {
                    GenerisiCmb(input);
                    return(View("Detalji", input));
                }

                vUredi.Boja              = input.Boja;
                vUredi.BrojVrata         = input.BrojVrata;
                vUredi.Cijena            = input.Cijena;
                vUredi.Garancija         = input.Garancija;
                vUredi.Godinaproizvodnje = input.GodinaProizvodnje;
                vUredi.Mjenjac           = input.Mjenjac;
                vUredi.Model             = input.Model;
                vUredi.MotorID           = input.MotorId;
                vUredi.Oprema            = input.Oprema;
                vUredi.Pogon             = input.Pogon;
                vUredi.ProizvodjacID     = input.ProizvodjacId;
                vUredi.TipVozila         = input.TipVozila;

                _context.SaveChanges();

                return(RedirectToAction("Index"));
            }

            if (!ModelState.IsValid)
            {
                GenerisiCmb(input);
                return(View("Dodaj", input));
            }

            Vozilo vNovo = new Vozilo
            {
                Boja              = input.Boja,
                BrojVrata         = input.BrojVrata,
                Cijena            = input.Cijena,
                Garancija         = input.Garancija,
                Godinaproizvodnje = input.GodinaProizvodnje,
                Mjenjac           = input.Mjenjac,
                Model             = input.Model,
                MotorID           = input.MotorId,
                Oprema            = input.Oprema,
                Pogon             = input.Pogon,
                ProizvodjacID     = input.ProizvodjacId,
                TipVozila         = input.TipVozila
            };

            _context.Vozilo.Add(vNovo);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public IActionResult Dodaj()
        {
            VozilaDodajVM model = new VozilaDodajVM();

            GenerisiCmb(model);
            model.Godinaproizvodnje = 1900;

            return(View(model));
        }
        public IActionResult Dodaj()
        {
            VozilaDodajVM model = new VozilaDodajVM
            {
                GodinaProizvodnje = DateTime.Now.Year,
                BrojVrata         = 2,
                Garancija         = 5
            };

            GenerisiCmb(model);

            return(View(model));
        }
        private void GenerisiCmb(VozilaDodajVM model)
        {
            model.Motori = _context.Motor.Select(s => new SelectListItem
            {
                Value = s.MotorID.ToString(),
                Text  = s.Model + " " + s.Snaga + " KS"
            }).ToList();

            model.Proizvodjaci = _context.Proizvodjac.Select(s => new SelectListItem
            {
                Value = s.ProizvodjacID.ToString(),
                Text  = s.Naziv
            }).ToList();
        }
        private void GenerisiCmb(VozilaDodajVM model)
        {
            model.proizvodjaci = _db.Proizvodjac.Select(x => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem
            {
                Text  = x.Naziv,
                Value = x.ProizvodjacID.ToString()
            }).ToList();

            model.motori = _db.Motor.Select(x => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem
            {
                Text  = x.Model,
                Value = x.MotorID.ToString()
            }).ToList();
        }
        public IActionResult Dodaj(VozilaDodajVM vm)
        {
            Vozilo v = _context.Vozilo.Where(a => a.VoziloId == vm.VoziloId).SingleOrDefault();

            if (v == null)
            {
                Vozilo a = new Vozilo
                {
                    VoziloId          = vm.VoziloId,
                    Naziv             = vm.Naziv,
                    MarkaVozilaId     = vm.MarkaVozilaId,
                    GodinaProizvodnje = vm.GodinaProizvodnje,
                    TipVozilaId       = vm.TipVozilaId,
                    StatusVozilaId    = vm.StatusVozilaId,
                    VrstaGorivaId     = vm.VrstaGorivaId,
                    BrojSjedista      = vm.BrojSjedista,
                    Boja         = vm.Boja,
                    BrojVrata    = vm.BrojVrata,
                    CijenaPoDanu = vm.CijenaPoDanu
                };

                _context.Vozilo.Add(a);
                _context.SaveChanges();
                return(RedirectToAction(nameof(Index)));
            }

            v.VoziloId          = vm.VoziloId;
            v.Naziv             = vm.Naziv;
            v.MarkaVozilaId     = vm.MarkaVozilaId;
            v.GodinaProizvodnje = vm.GodinaProizvodnje;
            v.TipVozilaId       = vm.TipVozilaId;
            v.StatusVozilaId    = vm.StatusVozilaId;
            v.VrstaGorivaId     = vm.VrstaGorivaId;
            v.BrojSjedista      = vm.BrojSjedista;
            v.Boja         = vm.Boja;
            v.BrojVrata    = vm.BrojVrata;
            v.CijenaPoDanu = vm.CijenaPoDanu;

            _context.SaveChanges();
            return(RedirectToAction(nameof(Index)));
        }
        public IActionResult Uredi(int id)
        {
            VozilaDodajVM vm = new VozilaDodajVM();
            Vozilo        v  = _context.Vozilo.Where(a => a.VoziloId == id).SingleOrDefault();

            vm.TipVozilaLista = _context.TipVozila.Select(x => new SelectListItem
            {
                Value = x.TipId.ToString(),
                Text  = x.Naziv
            }).ToList();
            vm.MarkaVozilaLista = _context.MarkaVozila.Select(x => new SelectListItem
            {
                Value = x.MarkaId.ToString(),
                Text  = x.Naziv
            }).ToList();
            vm.StatusVozilaLista = _context.StatusVozila.Select(x => new SelectListItem
            {
                Value = x.StatusVozilaId.ToString(),
                Text  = x.Status
            }).ToList();
            vm.VrstaGorivaLista = _context.VrstaGoriva.Select(x => new SelectListItem
            {
                Value = x.GorivoId.ToString(),
                Text  = x.Naziv
            }).ToList();

            vm.VoziloId          = id;
            vm.Naziv             = v.Naziv;
            vm.MarkaVozilaId     = v.MarkaVozilaId;
            vm.GodinaProizvodnje = v.GodinaProizvodnje;
            vm.TipVozilaId       = v.TipVozilaId;
            vm.StatusVozilaId    = v.StatusVozilaId;
            vm.VrstaGorivaId     = v.VrstaGorivaId;
            vm.BrojSjedista      = v.BrojSjedista;
            vm.Boja         = v.Boja;
            vm.BrojVrata    = v.BrojVrata;
            vm.CijenaPoDanu = v.CijenaPoDanu;

            return(PartialView(vm));
        }
        public IActionResult Snimi(VozilaDodajVM input)
        {
            if (!ModelState.IsValid)
            {
                GenerisiCmb(input);
                return(View("Dodaj", input));
            }

            Vozilo v = _db.Vozilo.Find(input.VoziloID);

            if (v == null)
            {
                v = new Vozilo();
                _db.Vozilo.Add(v);
                _db.SaveChanges();
            }

            v.TipVozila         = input.TipVozila;
            v.ProizvodjacID     = input.ProizvodjacID;
            v.Proizvodjac       = _db.Proizvodjac.Where(x => x.ProizvodjacID == input.ProizvodjacID).SingleOrDefault();
            v.Pogon             = input.Pogon;
            v.Oprema            = input.Oprema;
            v.MotorID           = input.MotorID;
            v.Motor             = _db.Motor.Where(x => x.MotorID == input.MotorID).SingleOrDefault();
            v.Model             = input.Model;
            v.Mjenjac           = input.Mjenjac;
            v.Godinaproizvodnje = input.Godinaproizvodnje;
            v.Garancija         = input.Garancija;
            v.Cijena            = input.Cijena;
            v.BrojVrata         = input.BrojVrata;
            v.Boja = input.Boja;

            _db.SaveChanges();

            return(RedirectToAction("Index"));
        }