public async Task <JsonResult> Uredi(PrikljucnoVoziloDetaljnoVM vozilo)
        {
            PrikljucnoVozilo v = await ctx.PrikljucnaVozila.FindAsync(vozilo.prikljucnoVoziloId);

            if (!ModelState.IsValid)
            {
                var errors = ViewData.ModelState.Where(n => n.Value.Errors.Count > 0).Select(x => new ErrorHelper()
                {
                    Message = x.Value.Errors.Select(y => y.ErrorMessage).FirstOrDefault(),
                    Name    = x.Key
                }
                                                                                             ).ToList();
                return(Json(new { Errors = errors }));
            }
            else
            {
                v.BrojSasije        = vozilo.brojSasije;
                v.RegistarskeOznake = vozilo.regOznake;
                v.BrojOsovina       = vozilo.brojOsovina;
                v.Cijena            = vozilo.cijena;
                v.DatumRegistracije = vozilo.datumRegistracije.Value;
                v.Nosivost          = vozilo.nosivost;
                v.Visina            = vozilo.visina;
                v.Duzina            = vozilo.duzina;
                v.Tezina            = vozilo.tezina;
                v.StatusVozilaId    = vozilo.statusVozilaId;
                v.TipPrikljucnogId  = vozilo.tipPrikljucnogVozilaId;

                await ctx.SaveChangesAsync();

                return(Json(new { Url = "Details?prikljucnoVoziloID=" + v.Id }));
            }
        }
        public async Task <ActionResult> Obrisi(int prikljucnovoziloID)
        {
            PrikljucnoVozilo prikljucno = await ctx.PrikljucnaVozila.FindAsync(prikljucnovoziloID);

            List <Instradacija> instradacije = ctx.Instradacije.Where(x => x.PrikljucnoVoziloId == prikljucno.Id).ToList();
            List <Odrzavanje>   odrzavanja   = ctx.Odrzavanja.Where(x => x.PrikljucnoVoziloId == prikljucno.Id).ToList();

            if (prikljucno != null)
            {
                //provjeriti cascade delete ali oako radi !!!
                foreach (var inst in instradacije)
                {
                    ctx.Instradacije.Remove(inst);
                }
                foreach (var odrz in odrzavanja)
                {
                    ctx.Odrzavanja.Remove(odrz);
                }
                ctx.PrikljucnaVozila.Remove(prikljucno);
                await ctx.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            else
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
        }
        public async Task <ActionResult> Dodaj(PrikljucnoVoziloDetaljnoVM vm)
        {
            if (ModelState.IsValid)
            {
                PrikljucnoVozilo vozilo = new PrikljucnoVozilo
                {
                    BrojSasije        = vm.brojSasije,
                    RegistarskeOznake = vm.regOznake,
                    BrojOsovina       = vm.brojOsovina,
                    Visina            = vm.visina,
                    Nosivost          = vm.nosivost,
                    Cijena            = vm.cijena,
                    Duzina            = vm.duzina,
                    Tezina            = vm.tezina,
                    DatumRegistracije = vm.datumRegistracije.Value,
                    TipPrikljucnogId  = vm.tipPrikljucnogVozilaId,
                    StatusVozilaId    = vm.statusVozilaId
                };

                ctx.PrikljucnaVozila.Add(vozilo);
                await ctx.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View("Dodaj", new PrikljucnoVoziloDetaljnoVM()
            {
                TipoviPrikljcnogVozila = getTipovi(),
                StatusiVozila = getStatusi(),
                datumRegistracije = DateTime.Now
            }));
        }