public IActionResult IzvjestajKasnjenja()
        {
            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            var model = new KreirajIzvjestajIndexVM();

            if (korisnik.IsKlijent)
            {
                var klijent = _context.Klijenti.Where(w => w.KlijentskiRacun.KlijentskiRacunId == korisnik.KlijentskiRacunId).SingleOrDefault();

                if (klijent != null)
                {
                    model.KlijentId    = klijent.KlijentId;
                    model.KlijentNaziv = klijent.Naziv;
                }

                model.IsKlijent = true;

                GenerisiNaziveIspitivanja(model);
                GenerisiKantone(model);

                return(View(model));
            }
            else
            {
                GenerisiNaziveIspitivanja(model);
                GenerisiKlijente(model);
                GenerisiKantone(model);

                return(View(model));
            }
        }
 private void GenerisiKantone(KreirajIzvjestajIndexVM model)
 {
     model.Kantoni = _context.Kantoni.Select(s => new SelectListItem
     {
         Value = s.KantonId.ToString(),
         Text  = s.SkraceniNaziv
     }).ToList();
 }
 private void GenerisiKlijente(KreirajIzvjestajIndexVM model)
 {
     model.Klijenti = _context.Klijenti.Where(w => w.KlijentStatus == true).Select(s => new SelectListItem
     {
         Value = s.KlijentId.ToString(),
         Text  = s.SkraceniNaziv + " - " + s.IdBroj
     }).ToList();
 }
 private void GenerisiNaziveIspitivanja(KreirajIzvjestajIndexVM model)
 {
     model.NaziviIspitivanja = _context.NaziviIspitivanja.Where(w => w.NazivIspitivanjaStatus == true).Select(s => new SelectListItem
     {
         Value = s.NazivIspitivanjaId.ToString(),
         Text  = s.Naziv
     }).ToList();
 }
        public async Task <IActionResult> KreirajIzvjestajKasnjenja(KreirajIzvjestajIndexVM input)
        {
            var model = new PregledIspitivanjaIndexVM();

            var klijent = _context.Klijenti.Find(input.KlijentId);
            var usluga  = _context.NaziviIspitivanja.Find(input.NazivIspitivanjaId);
            var kanton  = _context.Kantoni.Find(input.KantonId);
            var opcina  = _context.Opcine.Find(input.OpcinaId);

            if (klijent == null && usluga == null && kanton == null && opcina == null)
            {
                GenerisiPodatke(model, 0, 0, 0, 0, true);
                model.IsKlijent = false;
                model.IsUsluga  = false;
            }

            else if (klijent == null && usluga == null && kanton != null && opcina == null)
            {
                GenerisiPodatke(model, 0, 0, kanton.KantonId, 0, true);
                model.IsKlijent = false;
                model.IsUsluga  = false;
            }

            else if (klijent == null && usluga == null && kanton != null && opcina != null)
            {
                GenerisiPodatke(model, 0, 0, kanton.KantonId, opcina.OpcinaId, true);
                model.IsKlijent = false;
                model.IsUsluga  = false;
            }

            else if (klijent == null && usluga != null && kanton == null && opcina == null)
            {
                GenerisiPodatke(model, 0, usluga.NazivIspitivanjaId, 0, 0, true);
                model.IsKlijent = false;
                model.IsUsluga  = true;
                model.Usluga    = _context.NaziviIspitivanja.Where(w => w.NazivIspitivanjaId == usluga.NazivIspitivanjaId).Select(s => s.Naziv).SingleOrDefault();
            }

            else if (klijent == null && usluga != null && kanton != null && opcina == null)
            {
                GenerisiPodatke(model, 0, usluga.NazivIspitivanjaId, kanton.KantonId, 0, true);
                model.IsKlijent = false;
                model.IsUsluga  = true;
                model.Usluga    = _context.NaziviIspitivanja.Where(w => w.NazivIspitivanjaId == usluga.NazivIspitivanjaId).Select(s => s.Naziv).SingleOrDefault();
            }

            else if (klijent == null && usluga != null && kanton != null && opcina != null)
            {
                GenerisiPodatke(model, 0, usluga.NazivIspitivanjaId, kanton.KantonId, opcina.OpcinaId, true);
                model.IsKlijent = false;
                model.IsUsluga  = true;
                model.Usluga    = _context.NaziviIspitivanja.Where(w => w.NazivIspitivanjaId == usluga.NazivIspitivanjaId).Select(s => s.Naziv).SingleOrDefault();
            }

            else if (klijent != null && usluga == null && kanton == null && opcina == null)
            {
                GenerisiPodatke(model, klijent.KlijentId, 0, 0, 0, true);
                model.IsKlijent = true;
                model.IsUsluga  = false;
                model.Klijent   = _context.Klijenti.Where(w => w.KlijentId == klijent.KlijentId).Select(s => s.Naziv).SingleOrDefault();
            }

            else if (klijent != null && usluga == null && kanton != null && opcina == null)
            {
                GenerisiPodatke(model, klijent.KlijentId, 0, kanton.KantonId, 0, true);
                model.IsKlijent = true;
                model.IsUsluga  = false;
                model.Klijent   = _context.Klijenti.Where(w => w.KlijentId == klijent.KlijentId).Select(s => s.Naziv).SingleOrDefault();
            }

            else if (klijent != null && usluga == null && kanton != null && opcina != null)
            {
                GenerisiPodatke(model, klijent.KlijentId, 0, kanton.KantonId, opcina.OpcinaId, true);
                model.IsKlijent = true;
                model.IsUsluga  = false;
                model.Klijent   = _context.Klijenti.Where(w => w.KlijentId == klijent.KlijentId).Select(s => s.Naziv).SingleOrDefault();
            }

            else if (klijent != null && usluga != null && kanton == null && opcina == null)
            {
                GenerisiPodatke(model, klijent.KlijentId, usluga.NazivIspitivanjaId, 0, 0, true);
                model.IsKlijent = true;
                model.IsUsluga  = true;
                model.Klijent   = _context.Klijenti.Where(w => w.KlijentId == klijent.KlijentId).Select(s => s.Naziv).SingleOrDefault();
                model.Usluga    = _context.NaziviIspitivanja.Where(w => w.NazivIspitivanjaId == usluga.NazivIspitivanjaId).Select(s => s.Naziv).SingleOrDefault();
            }

            else if (klijent != null && usluga != null && kanton != null && opcina == null)
            {
                GenerisiPodatke(model, klijent.KlijentId, usluga.NazivIspitivanjaId, kanton.KantonId, 0, true);
                model.IsKlijent = true;
                model.IsUsluga  = true;
                model.Klijent   = _context.Klijenti.Where(w => w.KlijentId == klijent.KlijentId).Select(s => s.Naziv).SingleOrDefault();
                model.Usluga    = _context.NaziviIspitivanja.Where(w => w.NazivIspitivanjaId == usluga.NazivIspitivanjaId).Select(s => s.Naziv).SingleOrDefault();
            }

            else if (klijent != null && usluga != null && kanton != null && opcina != null)
            {
                GenerisiPodatke(model, klijent.KlijentId, usluga.NazivIspitivanjaId, kanton.KantonId, opcina.OpcinaId, true);
                model.IsKlijent = true;
                model.IsUsluga  = true;
                model.Klijent   = _context.Klijenti.Where(w => w.KlijentId == klijent.KlijentId).Select(s => s.Naziv).SingleOrDefault();
                model.Usluga    = _context.NaziviIspitivanja.Where(w => w.NazivIspitivanjaId == usluga.NazivIspitivanjaId).Select(s => s.Naziv).SingleOrDefault();
            }

            var header = await JsReportMVCService.RenderViewToStringAsync(HttpContext, RouteData, "Header", new { });

            var footer = await JsReportMVCService.RenderViewToStringAsync(HttpContext, RouteData, "Footer", new { });

            HttpContext.JsReportFeature().Recipe(Recipe.ChromePdf).Configure((r) => r.Template.Chrome = new Chrome
            {
                HeaderTemplate      = header,
                FooterTemplate      = footer,
                DisplayHeaderFooter = true,
                Landscape           = true,
                Format       = "A4",
                MarginTop    = "1cm",
                MarginLeft   = "0.5cm",
                MarginBottom = "1cm",
                MarginRight  = "0.5cm"
            });

            return(View("IzvjestajKasnjenjaPrint", model));
        }