public JsonResult Uredi(InstradacijaDetaljnoVM i, int instradacijaId)
        {
            Instradacija instradacija = ctx.Instradacije.Find(instradacijaId);

            if (ModelState.IsValid)
            {
                instradacija.VoziloId             = i.VoziloId;
                instradacija.VozacId              = i.VozacId;
                instradacija.PrikljucnoVoziloId   = i.PrikljucnoVoziloId;
                instradacija.UlaznaCarinarnica    = i.UlaznaCarinarnica;
                instradacija.IzlaznaCarinarnica   = i.IzlaznaCarinarnica;
                instradacija.StatusInstradacijeId = i.StatusInstradacijeId;

                ctx.SaveChanges();
                return(Json(new { Url = "Details?instradacijaId=" + instradacijaId }));
            }

            else
            {
                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 }));
            }
        }
        public ActionResult Uredi(int instradacijaId)
        {
            InstradacijaDetaljnoVM instradacija = ctx.Instradacije.Where(x => x.InstradacijaId == instradacijaId)
                                                  .Select(
                x => new InstradacijaDetaljnoVM()
            {
                InstradacijaId       = x.InstradacijaId,
                VoziloId             = x.VoziloId,
                PrikljucnoVoziloId   = x.PrikljucnoVoziloId,
                VozacId              = x.VozacId,
                StatusInstradacijeId = x.StatusInstradacijeId,
                UlaznaCarinarnica    = x.UlaznaCarinarnica,
                IzlaznaCarinarnica   = x.IzlaznaCarinarnica
            }

                ).FirstOrDefault();

            getInstradacijaFormInfo(ref instradacija, instradacijaId);
            instradacija.Statusi = new List <SelectListItem>();
            instradacija.Statusi = ctx.StatusInstradacije.Select(x => new SelectListItem()
            {
                Value = x.Id.ToString(),
                Text  = x.Naziv
            }).ToList();

            instradacija.Statusi.Find(x => x.Value == instradacija.StatusInstradacijeId.ToString()).Selected = true;
            return(PartialView("_Uredi", instradacija));
        }
        public ActionResult Details(int instradacijaId)
        {
            InstradacijaDetaljnoVM Model = ctx.Instradacije.Where(x => x.InstradacijaId == instradacijaId)
                                           .Select(x => new InstradacijaDetaljnoVM()
            {
                InstradacijaId     = x.InstradacijaId,
                Datum              = x.Datum,
                ImePrezime         = x.Vozac.Ime + " " + x.Vozac.Prezime,
                DrzavaOd           = x.Dispozicija.DrzavaOd.Naziv,
                DravaDo            = x.Dispozicija.DrzavaDo.Naziv,
                UlaznaCarinarnica  = x.UlaznaCarinarnica,
                IzlaznaCarinarnica = x.IzlaznaCarinarnica,
                Vozilo             = x.Vozilo.RegistarskeOznake,
                PrikljucnoVozilo   = x.PrikljucnoVozilo.RegistarskeOznake,
                Status             = x.StatusInstradacije.Naziv,
                Troskovi           = ctx.Troskovi.ToList(),
                DispozicijaInfo    = new DispozicijaDetaljnoVM
                {
                    DrzavaOd = x.Dispozicija.DrzavaOd.Naziv,
                    DrzavaDo = x.Dispozicija.DrzavaDo.Naziv,
                    RowGuid  = x.Dispozicija.RowGuid
                }
            }).FirstOrDefault();



            return(View(Model));
        }
        public ActionResult Dodaj(InstradacijaDetaljnoVM instradacija)
        {
            if (ModelState.IsValid)
            {
                Instradacija i = new Instradacija
                {
                    UlaznaCarinarnica    = instradacija.UlaznaCarinarnica,
                    IzlaznaCarinarnica   = instradacija.IzlaznaCarinarnica,
                    VozacId              = instradacija.VozacId,
                    StatusInstradacijeId = 1,
                    Datum              = DateTime.Now,
                    VoziloId           = instradacija.VoziloId,
                    PrikljucnoVoziloId = instradacija.PrikljucnoVoziloId,
                    DispozicijaId      = instradacija.DispozicijaId,
                    IsDeleted          = false
                };

                ctx.Instradacije.Add(i);
                ctx.SaveChanges();

                return(RedirectToAction("DispozicijaInstradacije", new { dispozicijaId = instradacija.DispozicijaId }));
            }
            else
            {
                getInstradacijaFormInfo(ref instradacija, instradacija.DispozicijaId);
                return(View("Dodaj", instradacija));
            }
        }
        public ActionResult Dodaj(int dispozicijaId)
        {
            InstradacijaDetaljnoVM Model = new InstradacijaDetaljnoVM
            {
                DispozicijaId = dispozicijaId,
            };



            getInstradacijaFormInfo(ref Model, dispozicijaId);



            return(View(Model));
        }
        private void getInstradacijaFormInfo(ref InstradacijaDetaljnoVM Model, int id)
        {
            Model.Vozaci = ctx.Vozaci.Select(
                x => new SelectListItem()
            {
                Value = x.ZaposlenikId.ToString(),
                Text  = x.Ime + " " + x.Prezime
            }
                )
                           .ToList();


            Model.PrikljucnaVozila = ctx.PrikljucnaVozila
                                     .Where(x => x.StatusVozilaId != 4)
                                     .Select(
                x => new SelectListItem()
            {
                Text  = x.RegistarskeOznake,
                Value = x.Id.ToString()
            }
                )
                                     .ToList();


            Model.Vozila = ctx.Vozila
                           .Where(x => x.StatusVozilaId != 4)
                           .Select(
                x => new SelectListItem()
            {
                Value = x.VoziloId.ToString(),
                Text  = x.RegistarskeOznake
            }).ToList();

            Model.DispozicijaInfo = ctx.Dispozicije.Where(x => x.DispozicijaId == id)
                                    .Select(
                x => new DispozicijaDetaljnoVM()
            {
                RowGuid       = x.RowGuid,
                NazivKlijenta = x.Klijent.Naziv
            })
                                    .FirstOrDefault();
        }