public IActionResult Uredi(int id)
        {
            AutentifikacijaVM logiraniKorisnik = HttpContext.GetLogiraniKorisnik();

            var klijentskiRacun = _context.KlijentskiRacuni.Where(w => w.KlijentskiRacunId == id).Include(i => i.Klijent).SingleOrDefault();

            if (klijentskiRacun == null)
            {
                Response.StatusCode = 404;
                return(View("Views/Shared/Error404.cshtml"));
            }

            if (logiraniKorisnik.KlijentskiRacunId != klijentskiRacun.KlijentskiRacunId)
            {
                TempData["error_poruka"] = "Nemate pravo pristupa";
                return(RedirectToAction("Index", "Autentifikacija", new { @area = "" }));
            }

            var model = new KlijentskiRacunUrediVM()
            {
                KlijentskiRacunId = klijentskiRacun.KlijentskiRacunId,
                Ime                 = klijentskiRacun.Ime,
                Prezime             = klijentskiRacun.Prezime,
                Email               = klijentskiRacun.Email,
                KorisnickoIme       = klijentskiRacun.KorisnickoIme,
                EmailNotifikacija   = klijentskiRacun.EmailNotifikacija,
                BrojDanaPrijeIsteka = klijentskiRacun.BrojDanaPrijeIsteka
            };

            var x = ImageHelper.GetImageType(klijentskiRacun.KlijentskiRacunSlika);

            model.KlijentskiRacunSlikaPath = string.Format("data:image/" + x + ";base64,{0}", Convert.ToBase64String(klijentskiRacun.KlijentskiRacunSlika));

            return(View(model));
        }
        public IActionResult Snimi(UgovorDodajVM input)
        {
            if (!ModelState.IsValid)
            {
                GenerisiKlijente(input);
                return(View("Dodaj", input));
            }

            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            Ugovor noviUgovor = new Ugovor
            {
                BrojUgovora       = input.BrojUgovora,
                Naziv             = input.Naziv,
                DatumPotpisivanja = input.DatumPotpisivanja,
                DatumIsteka       = input.DatumIsteka,
                UgovorStatus      = true,
                KlijentId         = input.KlijentId,
                KorisnikId        = korisnik.KorisnikId
            };

            noviUgovor.UgovorPath = UploadDokumenata.UploadDoc(input.Ugovor, input.BrojUgovora, UploadDokumenata.TipoviDokumenata.Ugovori);

            _context.Ugovori.Add(noviUgovor);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public IActionResult Snimi(IzvjestajDodajVM input)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("Dodaj", input));
            }

            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            Izvjestaj noviIzvjestaj = new Izvjestaj()
            {
                BrojIzvjestaja  = input.BrojIzvjestaja,
                DatumKreiranja  = input.DatumKreiranja.Date,
                IzvjestajStatus = input.IzvjestajStatus,
                IspitivanjeId   = input.IspitivanjeId,
                KorisnikId      = korisnik.KorisnikId
            };

            noviIzvjestaj.IzvjestajPath = UploadDokumenata.UploadDoc(input.Izvjestaj, input.BrojIzvjestaja, UploadDokumenata.TipoviDokumenata.Izvjestaji);

            _context.Izvjestaji.Add(noviIzvjestaj);
            _context.SaveChanges();

            return(Redirect("/InzinjerModul/Ispitivanje/Index?Id=" + input.RadniNalogId));
        }
Exemple #4
0
        public IActionResult Detalji(int id)
        {
            AutentifikacijaVM logiraniKorisnik = HttpContext.GetLogiraniKorisnik();
            var klijentskiRacun = _context.KlijentskiRacuni.Find(logiraniKorisnik.KlijentskiRacunId);

            var objekat = _context.Objekti.Where(w => w.ObjekatId == id).Include(i => i.Klijent).Include(n => n.Mjesto).ThenInclude(t => t.Opcina).SingleOrDefault();

            if (objekat == null)
            {
                Response.StatusCode = 404;
                return(View("Views/Shared/Error404.cshtml"));
            }

            if (klijentskiRacun.KlijentId != objekat.KlijentId)
            {
                TempData["error_poruka"] = "Nemate pravo pristupa";
                return(RedirectToAction("Index", "Autentifikacija", new { @area = "" }));
            }

            var model = new ObjekatEditVM()
            {
                ObjekatId          = objekat.ObjekatId,
                Naziv              = objekat.Naziv,
                Ulica              = objekat.Ulica,
                NazivMjesta        = objekat.Mjesto.Naziv + ", općina " + objekat.Mjesto.Opcina.Naziv,
                KontaktOsoba       = objekat.KontaktOsoba,
                KontaktBrojFiksni  = objekat.KontaktBrojFiksni,
                KontaktBrojMobitel = objekat.KontaktBrojMobitel,
                KontaktEmail       = objekat.KontaktEmail
            };

            return(View(model));
        }
        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));
            }
        }
Exemple #6
0
        //snimanje novog zahtjeva
        public IActionResult Snimi(ZahtjevDodajVM input)
        {
            if (!ModelState.IsValid)
            {
                GenerisiZahtjevKategoriju(input);
                return(View("Dodaj", input));
            }

            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            var noviZahtjev = new Zahtjev()
            {
                Naslov              = input.Naslov,
                Opis                = input.Opis,
                DatumKreiranja      = DateTime.Now,
                KlijentskiRacunId   = korisnik.KlijentskiRacunId,
                ZahtjevKategorijaId = input.ZahtjevKategorijaId,
                ZahtjevStatusId     = 1 //1- OTVOREN ZAHTJEV
            };

            _context.Zahtjevi.Add(noviZahtjev);

            _context.SaveChanges();

            return(RedirectToAction("Index", "Podrska", new { @area = "" }));
        }
Exemple #7
0
        public IActionResult Snimi(PonudaDodajVM input)
        {
            if (!ModelState.IsValid)
            {
                GenerisiKlijente(input);
                return(View("Dodaj", input));
            }

            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            Ponuda novaPonuda = new Ponuda
            {
                BrojPonude        = input.BrojPonude,
                DatumIzdavanja    = input.DatumIzdavanja,
                UkupanIznosBezPdv = input.UkupanIznosBezPdv,
                UkupanIznosSaPdv  = input.UkupanIznosBezPdv * ((input.PDV / 100) + 1),
                PonudaStatus      = input.PonudaStatus,
                KlijentId         = input.KlijentId,
                KorisnikId        = korisnik.KorisnikId
            };

            novaPonuda.PonudaPath = UploadDokumenata.UploadDoc(input.Ponuda, input.BrojPonude, UploadDokumenata.TipoviDokumenata.Ponude);

            _context.Ponude.Add(novaPonuda);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public IActionResult Uredi(int id)
        {
            AutentifikacijaVM logiraniKorisnik = HttpContext.GetLogiraniKorisnik();

            var korisnik = _context.Korisnici.Find(id);

            if (korisnik == null)
            {
                Response.StatusCode = 404;
                return(View("Views/Shared/Error404.cshtml"));
            }

            if (logiraniKorisnik.KorisnikId != korisnik.KorisnikId)
            {
                TempData["error_poruka"] = "Nemate pravo pristupa";
                return(RedirectToAction("Index", "Autentifikacija", new { @area = "" }));
            }

            var model = new KorisnickiProfilUredi()
            {
                KorisnikId    = korisnik.KorisnikId,
                Ime           = korisnik.Ime,
                Prezime       = korisnik.Prezime,
                KorisnickoIme = korisnik.KorisnickoIme
            };

            var x = ImageHelper.GetImageType(korisnik.KorisnikSlika);

            model.KorisnikSlikaPath = string.Format("data:image/" + x + ";base64,{0}", Convert.ToBase64String(korisnik.KorisnikSlika));

            return(View(model));
        }
Exemple #9
0
        public async Task <ActionResult> IskljuciAutentifikaciju(AutentifikacijaVM model)
        {
            if (User.Identity.Name != null)
            {
                var korisnik = await UserM.FindByEmailAsync(User.Identity.Name);

                string userUniqueKey       = GetUserUniqueKey(korisnik);
                TwoFactorAuthenticator tfa = new TwoFactorAuthenticator();
                if (LockoutCheck(korisnik))
                {
                    TimeSpan t = (korisnik.LockoutEnd - DateTime.Now) ?? default(TimeSpan);
                    ModelState.AddModelError("Lockout", "Vaš profil je zaključan još " + t.Minutes + " minuta i " + t.Seconds + " sekundi.");
                    return(View());
                }
                else
                {
                    if (tfa.ValidateTwoFactorPIN(userUniqueKey, model.Code))
                    {
                        Igrac i = db.Igraci.Find(korisnik.Id);
                        i.TwoFactorEnabled = false;
                        db.Update(i);
                        db.SaveChanges();
                        return(Redirect("/Igrac/PrikazProfila/" + i.ID));
                    }
                    else
                    {
                        ModelState.AddModelError("Code", "Neispravan kod");
                        return(View());
                    }
                }
            }
            return(RedirectToAction("Login"));
        }
        public AutentifikacijaVM Provjera(string username, string password)
        {
            AutentifikacijaVM model = db.Kosrisnicis.Where(x => x.KorisnickoIme == username && x.Lozinka == password && x.Pacijent != null).Select(x => new AutentifikacijaVM
            {
                Id                          = x.Id,
                Adresa                      = x.Adresa,
                AktivacijskiHash            = x.Pacijent.AktivacijskiHash,
                DatumRodjenja               = x.DatumRodjenja,
                Email                       = x.Email,
                ImePrezime                  = x.Ime + " " + x.Prezime,
                IsPotvrdjen                 = x.Pacijent.IsPotvrdjen,
                KlinikaPac                  = x.Pacijent.Klinika.Naziv,
                KorisnickoIme               = x.KorisnickoIme,
                PacOpstinaPrebivalistaNaziv = x.Pacijent.OpstinaPrebivalista.Naziv,
                Valid                       = x.Valid,
                RezervacijaList             = db.Rezervacijes.Where(y => y.PacijentId == x.Id).Select(y => new AutentifikacijaVM.RezervacijeInfo
                {
                    DatumPregleda    = y.DatumPregleda,
                    DatumRezervacije = y.DatumRezervacije,
                    Id              = y.Id,
                    PacijentId      = y.PacijentId,
                    PacijentNaziv   = y.Pacijent.Korisnici.Ime + " " + y.Pacijent.Korisnici.Prezime,
                    PregledId       = y.PregledId,
                    TerminId        = y.TerminId,
                    Valid           = y.Valid,
                    ZaposlenikId    = y.ZaposlenikId,
                    ZaposlenikNaziv = y.Zaposlenik.Korisnici.Ime + " " + y.Zaposlenik.Korisnici.Prezime,
                    Zavrsen         = y.Zavrsen,
                    Termin          = y.Termin.Sati + ":" + y.Termin.Minuti
                }).ToList()
            }).SingleOrDefault();

            return(model);
        }
Exemple #11
0
        public IActionResult Snimi(DokumentDodajVM input)
        {
            if (!ModelState.IsValid)
            {
                return(View("Dodaj", input));
            }

            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            Dokument noviDokument = new Dokument
            {
                Naziv          = input.Naziv,
                TipDokumenta   = input.TipDokumenta,
                DatumIzdavanja = input.DatumIzdavanja,
                SluzbeniList   = input.PravniIzvor + " " + input.BrojSluzbenogGlasila,
                DokumentStatus = input.DokumentStatus,
                KorisnikId     = korisnik.KorisnikId
            };

            noviDokument.DokumentPath = UploadDokumenata.UploadDoc(input.Dokument, input.TipDokumenta, UploadDokumenata.TipoviDokumenata.Dokumenti);

            _context.Dokumenti.Add(noviDokument);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Exemple #12
0
        public IActionResult Index()
        {
            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            DashboardVM model = new DashboardVM()
            {
                BrojKlijenata  = _db.Klijent.Count(),
                BrojIzvjestaja = _db.Izvjestaj.Count(),
                BrojOsiguranja = _db.PolicaOsiguranja.Count(),
                BrojRentacar   = _db.RentBooking.Count(),
                BrojVozila     = _db.Vozilo.Count(),
                BrojNarudzbi   = _db.Narudzba.Count(),
                BrojFaktura    = _db.Faktura.Count(),
                BrojUplata     = _db.Uplata.Count()
            };

            if (korisnik.IsAdmin)
            {
                return(View("AdminDashboard", model));
            }
            else if (korisnik.IsMenadzer)
            {
                return(View("ManagerDashboard", model));
            }
            else if (korisnik.IsProdavac)
            {
                return(View("ProdajaDashboard", model));
            }
            else
            {
                return(View("RentDashboard", model));
            }
        }
Exemple #13
0
        public IActionResult Index()
        {
            var model = new AutentifikacijaVM
            {
                ZapamtiLozinku = false
            };

            return(View(model));
        }
Exemple #14
0
        public IActionResult Dodaj()
        {
            IzvjestajiDodajVM model = new IzvjestajiDodajVM();

            AutentifikacijaVM logiraniKorisnik = HttpContext.GetLogiraniKorisnik();

            model.ZaposlenikId = logiraniKorisnik.ZaposlenikId;

            return(View(model));
        }
Exemple #15
0
        public async Task OnActionExecutionAsync(ActionExecutingContext filterContext, ActionExecutionDelegate next)
        {
            AutentifikacijaVM k = filterContext.HttpContext.GetLogiraniKorisnik();

            if (k == null)
            {
                if (filterContext.Controller is Controller controller)
                {
                    controller.TempData["error_poruka"] = "Niste se prijavili";
                }

                filterContext.Result = new RedirectToActionResult("Index", "Autentifikacija", new { @area = "" });
                return;
            }

            //Preuzimamo DbContext preko app services
            MojContext db = filterContext.HttpContext.RequestServices.GetService <MojContext>();

            //provjeravamo da li je logirani zaposlenik Rent, Podavac, Admin ili Manager
            if (_rent && db.Zaposlenik.Any(s => s.ZaposlenikID == k.ZaposlenikId) && k.IsRent)
            {
                await next(); //ok - ima pravo pristupa

                return;
            }

            if (_prodaja && db.Zaposlenik.Any(s => s.ZaposlenikID == k.ZaposlenikId) && k.IsProdavac)
            {
                await next(); //ok - ima pravo pristupa

                return;
            }

            if (_admin && db.Zaposlenik.Any(s => s.ZaposlenikID == k.ZaposlenikId) && k.IsAdmin)
            {
                await next(); //ok - ima pravo pristupa

                return;
            }

            if (_manager && db.Zaposlenik.Any(s => s.ZaposlenikID == k.ZaposlenikId) && k.IsMenadzer)
            {
                await next(); //ok - ima pravo pristupa

                return;
            }

            if (filterContext.Controller is Controller c1)
            {
                c1.TempData["error_poruka"] = "Nemate pravo pristupa";
            }

            filterContext.Result = new RedirectToActionResult("Index", "Dashboard", new { @area = "" });
        }
Exemple #16
0
        public IActionResult DetaljiRadnogNaloga(int id)
        {
            var radniNalog = _context.RadniNalozi.Where(w => w.RadniNalogId == id).Include(i => i.Objekat).ThenInclude(t => t.Klijent).ThenInclude(l => l.Mjesto).Include(c => c.Objekat).ThenInclude(h => h.Mjesto).SingleOrDefault();

            if (radniNalog == null)
            {
                Response.StatusCode = 404;
                return(View("Views/Shared/Error404.cshtml"));
            }

            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            if (korisnik.IsKlijent)
            {
                var klijentskiRacun = _context.KlijentskiRacuni.Find(korisnik.KlijentskiRacunId);

                if (klijentskiRacun != null)
                {
                    if (radniNalog.Objekat.Klijent.KlijentId != klijentskiRacun.KlijentId)
                    {
                        TempData["error_poruka"] = "Nemate pravo pristupa";
                        return(RedirectToAction("Index", "Autentifikacija"));
                    }
                }
            }

            var model = new RadniNalogDetaljiVM()
            {
                RadniNalogId         = radniNalog.RadniNalogId,
                BrojRadnogNaloga     = radniNalog.BrojRadnogNaloga,
                DatumPocetkaRadova   = radniNalog.DatumPocetkaRadova.ToString("dd.MM.yyyy HH:mm"),
                DatumZavrsetkaRadova = radniNalog.DatumZavrsetkaRadova.ToString("dd.MM.yyyy HH:mm"),
                UkupnoSatiRada       = radniNalog.DatumZavrsetkaRadova.Subtract(radniNalog.DatumPocetkaRadova).Hours.ToString() + "h " +
                                       radniNalog.DatumZavrsetkaRadova.Subtract(radniNalog.DatumPocetkaRadova).Minutes.ToString() + "min",
                RadniNalogPath = radniNalog.RadniNalogPath,
                NazivObjekta   = radniNalog.Objekat.Naziv + ", ul. " + radniNalog.Objekat.Ulica + ", " + radniNalog.Objekat.Mjesto.Naziv,
                NazivKlijenta  = radniNalog.Objekat.Klijent.Naziv + ", ul. " + radniNalog.Objekat.Klijent.Ulica + ", " + radniNalog.Objekat.Klijent.Mjesto.Naziv,
                ObjekatId      = radniNalog.ObjekatId
            };

            var clanoviServisa = _context.ObavljeniPoslovi.Where(w => w.RadniNalogId == radniNalog.RadniNalogId).Select(s => s.ClanServisa).ToList();

            if (clanoviServisa != null)
            {
                model.ClanoviServisa = new List <string>();
                foreach (var item in clanoviServisa)
                {
                    model.ClanoviServisa.Add(item.Zanimanje + " - " + item.Ime + " " + item.Prezime);
                }
            }

            return(PartialView(model));
        }
        public IActionResult Dodaj()
        {
            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            IzvjestajiDodajVM model = new IzvjestajiDodajVM
            {
                ZaposlenikId   = korisnik.ZaposlenikId,
                DatumKreiranja = DateTime.Now,
                Datum          = DateTime.Now.ToString("dd/MM/yyyy")
            };

            return(View(model));
        }
Exemple #18
0
        public IActionResult Dodaj()
        {
            RentacarDodajVM model = new RentacarDodajVM();

            GenerisiCmb(model);
            model.DatumIsteka = DateTime.Now;

            AutentifikacijaVM logiraniKorisnik = HttpContext.GetLogiraniKorisnik();

            model.ZaposlenikID = logiraniKorisnik.ZaposlenikId;

            return(View(model));
        }
Exemple #19
0
        public async Task <ActionResult> ProvjeriAutentifikaciju(AutentifikacijaVM model)
        {
            var korisnik = await UserM.FindByEmailAsync(TempData["username"].ToString());

            TempData.Keep("username");
            TwoFactorAuthenticator tfa = new TwoFactorAuthenticator();
            string userUniqueKey       = GetUserUniqueKey(korisnik);
            var    token   = model.Code;
            bool   isValid = tfa.ValidateTwoFactorPIN(userUniqueKey, token);

            if (LockoutCheck(korisnik))
            {
                TimeSpan t = (korisnik.LockoutEnd - DateTime.Now) ?? default(TimeSpan);
                ModelState.AddModelError("Lockout", "Vaš profil je zaključan još " + t.Minutes + " minuta i " + t.Seconds + " sekundi.");
                return(View(model));
            }
            else
            {
                if (TempData["code"] != null)
                {
                    if (TempData["code"].ToString() == token)
                    {
                        isValid          = true;
                        TempData["code"] = null;
                    }
                    else
                    {
                        TempData.Keep("code");
                    }
                }

                if (isValid)
                {
                    await SignIn.PasswordSignInAsync(TempData["username"].ToString(), TempData["password"].ToString(),
                                                     Convert.ToBoolean(TempData["rememberMe"]), false);

                    TempData["code"] = null;

                    return(Redirect("/Igrac/PrikazProfila/" + korisnik.Id));
                }
                else
                {
                    ModelState.AddModelError("Code", "Neispravan kod");
                    return(View(model));
                }
            }
        }
        public IActionResult Index()
        {
            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            IzvjestajiIndexVM model = new IzvjestajiIndexVM
            {
                Redovi = _context.Izvjestaj.Where(w => w.ZaposlenikId == korisnik.ZaposlenikId).Select(s => new IzvjestajiIndexVM.Red
                {
                    IzvjestajId    = s.IzvjestajID,
                    DatumKreiranja = s.Datum,
                    Napomena       = s.Napomena,
                    Naziv          = s.Naziv
                }).ToList()
            };

            return(View(model));
        }
Exemple #21
0
        public IActionResult Dodaj(int id)
        {
            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            Narudzba n = _context.Narudzba.Find(id);

            FaktureDodajVM model = new FaktureDodajVM
            {
                DatumFakturisanja = DateTime.Now,
                Datum             = DateTime.Now.ToString("dd/MM/yyyy"),
                ZaposlenikId      = korisnik.ZaposlenikId,
                NarudzbaId        = n.NarudzbaID
            };

            GenerisiCmb(model);

            return(View(model));
        }
Exemple #22
0
        public IActionResult Login(AutentifikacijaVM model)
        {
            Korisnik k = new Korisnik();

            if (model.Uloga == "Recepcionar")
            {
                k.Zaposlenik = _ctx.Zaposlenici.FirstOrDefault(x => x.KorisnickoIme == model.KorisnickoIme &&
                                                               x.Lozinka == model.Lozinka &&
                                                               x.IsRecepcionar);
            }
            else if (model.Uloga == "Trener")
            {
                k.Trener = _ctx.Treneri.Include(x => x.Zaposlenik).FirstOrDefault(x => x.Zaposlenik.KorisnickoIme == model.KorisnickoIme &&
                                                                                  x.Zaposlenik.Lozinka == model.Lozinka &&
                                                                                  x.Zaposlenik.IsTrener);
            }
            else if (model.Uloga == "Clan")
            {
                k.Clan = _ctx.Clanovi.FirstOrDefault(x => x.KorisnickoIme == model.KorisnickoIme &&
                                                     x.Lozinka == model.Lozinka);
            }

            if (ModelState.IsValid && (k.Zaposlenik != null || k.Trener != null || k.Clan != null))
            {
                HttpContext.SetLogiraniKorisnik(k, model.ZapamtiMe);

                if (k.Zaposlenik != null)
                {
                    return(RedirectToAction("Index", "Home", new { area = "" }));
                }
                if (k.Trener != null)
                {
                    return(RedirectToAction("Index", "Clan", new { area = "ModulTrener" }));
                }
                if (k.Clan != null)
                {
                    return(RedirectToAction("Index", "Clan", new { area = "ModulClan" }));
                }
            }

            ViewData["porukaGreska"] = "Niste unijeli validne podatke.";
            return(View("Index", model));
        }
Exemple #23
0
        public IActionResult Arhiva()
        {
            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            var model = new ZahtjevIndexVM();

            if (korisnik.IsKlijent)
            {
                //samo ZAVRSENI ZAHTJEVI
                model.Rows = _context.Zahtjevi.Where(w => w.KlijentskiRacunId == korisnik.KlijentskiRacunId && w.ZahtjevStatusId == 3).Select(s => new ZahtjevIndexVM.Row
                {
                    ZahtjevId          = s.ZahtjevId,
                    Naslov             = s.Naslov,
                    DatumKreiranja     = s.DatumKreiranja.ToString("dd.MM.yyyy HH:mm"),
                    KategorijaZahtjeva = s.ZahtjevKategorija.Naziv,
                    StatusZahtjevaId   = s.ZahtjevStatus.ZahtjevStatusId,
                    StatusZahtjeva     = s.ZahtjevStatus.Naziv,
                    Korisnik           = (s.Korisnik != null) ? s.Korisnik.Ime + " " + s.Korisnik.Prezime : "Nije dodijeljen korisnik",
                    KlijentskiRacun    = s.KlijentskiRacun.Ime + " " + s.KlijentskiRacun.Prezime
                }).ToList();
                model.IsKlijent = true;
            }
            else
            {
                //samo ZAVRSENI ZAHTJEVI
                model.Rows = _context.Zahtjevi.Where(w => w.KorisnikId == korisnik.KorisnikId && w.ZahtjevStatusId == 3).Select(s => new ZahtjevIndexVM.Row
                {
                    ZahtjevId          = s.ZahtjevId,
                    Naslov             = s.Naslov,
                    DatumKreiranja     = s.DatumKreiranja.ToString("dd.MM.yyyy HH:mm"),
                    KategorijaZahtjeva = s.ZahtjevKategorija.Naziv,
                    StatusZahtjevaId   = s.ZahtjevStatus.ZahtjevStatusId,
                    StatusZahtjeva     = s.ZahtjevStatus.Naziv,
                    Korisnik           = (s.Korisnik != null) ? s.Korisnik.Ime + " " + s.Korisnik.Prezime : "Nije dodijeljen korisnik",
                    KlijentskiRacun    = s.KlijentskiRacun.Ime + " " + s.KlijentskiRacun.Prezime,
                    Klijent            = s.KlijentskiRacun.Klijent.SkraceniNaziv
                }).ToList();
            }
            model.IsArhiva = true;

            return(View("Index", model));
        }
Exemple #24
0
        public IActionResult Index()
        {
            AutentifikacijaVM logiraniKorisnik = HttpContext.GetLogiraniKorisnik();
            var klijentskiRacun = _context.KlijentskiRacuni.Find(logiraniKorisnik.KlijentskiRacunId);

            var model = new ObjekatIndexVM
            {
                Rows = _context.Objekti.Where(w => w.KlijentId == klijentskiRacun.KlijentId && w.ObjekatStatus == true).Select(s => new ObjekatIndexVM.Row
                {
                    ObjekatId        = s.ObjekatId,
                    Naziv            = s.Naziv,
                    Lokacija         = "ul. " + s.Ulica + ", " + s.Mjesto.Naziv,
                    BrojRadnihNaloga = s.RadniNalozi.Count(),
                    KontaktOsoba     = s.KontaktOsoba,
                    KontaktMobitel   = s.KontaktBrojMobitel
                }).ToList()
            };

            return(View(model));
        }
Exemple #25
0
        public IActionResult DetaljiIzvjestaja(int id)
        {
            var ispitivanje = _context.Ispitivanja.Where(w => w.IspitivanjeId == id).Include(i => i.Izvjestaj).ThenInclude(t => t.Korisnik).Include(n => n.NazivIspitivanja).Include(c => c.RadniNalog).ThenInclude(h => h.Objekat).ThenInclude(e => e.Klijent).SingleOrDefault();

            if (ispitivanje == null)
            {
                Response.StatusCode = 404;
                return(View("Views/Shared/Error404.cshtml"));
            }

            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            if (korisnik.IsKlijent)
            {
                var klijentskiRacun = _context.KlijentskiRacuni.Find(korisnik.KlijentskiRacunId);

                if (klijentskiRacun != null)
                {
                    if (ispitivanje.RadniNalog.Objekat.Klijent.KlijentId != klijentskiRacun.KlijentId)
                    {
                        TempData["error_poruka"] = "Nemate pravo pristupa";
                        return(RedirectToAction("Index", "Autentifikacija"));
                    }
                }
            }

            var model = new IzvjestajDetaljiVM()
            {
                RadniNalogId           = ispitivanje.RadniNalogId,
                BrojIzvjestaja         = ispitivanje.Izvjestaj.BrojIzvjestaja,
                DatumKreiranja         = ispitivanje.Izvjestaj.DatumKreiranja.Date.ToString("dd.MM.yyyy"),
                IzvjestajPath          = ispitivanje.Izvjestaj.IzvjestajPath,
                IzvjestajStatus        = (ispitivanje.Izvjestaj.IzvjestajStatus == true) ? "Prošao" : "Nije prošao",
                Korisnik               = ispitivanje.Izvjestaj.Korisnik.Ime + " " + ispitivanje.Izvjestaj.Korisnik.Prezime,
                NazivIspitivanja       = ispitivanje.NazivIspitivanja.Naziv,
                NazivIspitivanjaOznaka = ispitivanje.NazivIspitivanja.Oznaka,
                ObjekatId              = ispitivanje.RadniNalog.ObjekatId
            };

            return(PartialView(model));
        }
Exemple #26
0
        public IActionResult DetaljiIspitivanja(int id)
        {
            var ispitivanje = _context.Ispitivanja.Where(w => w.IspitivanjeId == id).Include(i => i.Izvjestaj).ThenInclude(t => t.Korisnik).Include(n => n.NazivIspitivanja).Include(c => c.RadniNalog).ThenInclude(h => h.Objekat).ThenInclude(e => e.Klijent).SingleOrDefault();

            if (ispitivanje == null)
            {
                Response.StatusCode = 404;
                return(View("Views/Shared/Error404.cshtml"));
            }

            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            if (korisnik.IsKlijent)
            {
                var klijentskiRacun = _context.KlijentskiRacuni.Find(korisnik.KlijentskiRacunId);

                if (klijentskiRacun != null)
                {
                    if (ispitivanje.RadniNalog.Objekat.Klijent.KlijentId != klijentskiRacun.KlijentId)
                    {
                        TempData["error_poruka"] = "Nemate pravo pristupa";
                        return(RedirectToAction("Index", "Autentifikacija"));
                    }
                }
            }

            var model = new IspitivanjeDetaljiVM()
            {
                RadniNalogId                  = ispitivanje.RadniNalogId,
                DatumIspitivanja              = ispitivanje.DatumIspitivanja.Date.ToString("dd.MM.yyyy"),
                DatumNarednogIspitivanja      = ispitivanje.DatumNarednogIspitivanja.Date.ToString("dd.MM.yyyy"),
                BrojDanaDoNarednogIspitivanja = ispitivanje.DatumNarednogIspitivanja.Date.Subtract(DateTime.Now.Date).Days.ToString(),
                TipIspitivanja                = ispitivanje.TipIspitivanja,
                Napomena               = ispitivanje.Napomena,
                NazivIspitivanja       = ispitivanje.NazivIspitivanja.Naziv,
                NazivIspitivanjaOznaka = ispitivanje.NazivIspitivanja.Oznaka,
                ObjekatId              = ispitivanje.RadniNalog.ObjekatId
            };

            return(PartialView(model));
        }
        public IActionResult Detalji()
        {
            AutentifikacijaVM logiraniKorisnik = HttpContext.GetLogiraniKorisnik();

            var klijentskiRacun = _context.KlijentskiRacuni.Find(logiraniKorisnik.KlijentskiRacunId);
            var klijent         = _context.Klijenti.Where(w => w.KlijentId == klijentskiRacun.KlijentId).Include(i => i.Mjesto).ThenInclude(t => t.Opcina).SingleOrDefault();

            var model = new KlijentUrediVM
            {
                KlijentId          = klijent.KlijentId,
                Naziv              = klijent.Naziv,
                IdBroj             = klijent.IdBroj,
                Ulica              = klijent.Ulica,
                Sjediste           = klijent.Mjesto.Naziv + ", općina " + klijent.Mjesto.Opcina.Naziv,
                KontaktOsoba       = klijent.KontaktOsoba,
                KontaktBrojFiksni  = klijent.KontaktBrojFiksni,
                KontaktBrojMobitel = klijent.KontaktBrojMobitel,
                KontaktEmail       = klijent.KontaktEmail
            };

            return(View(model));
        }
Exemple #28
0
        public IActionResult Prijava(AutentifikacijaVM input)
        {
            Zaposlenik z = _db.Zaposlenik.Where(x => x.KorisnickoIme == input.Username && x.Lozinka == input.Password).SingleOrDefault();

            if (z == null)
            {
                TempData["error_poruka"] = "Pogrešno korisničko ime ili lozinka";
                return(View("Index", input));
            }

            string imePrezime = z.Ime + " " + z.Prezime;

            input.ImePrezime = imePrezime;

            input.ZaposlenikId = z.ZaposlenikID;
            input.IsAdmin      = z.IsAdmin;
            input.IsMenadzer   = z.IsMenadzer;
            input.IsProdavac   = z.IsProdavac;
            input.IsRent       = z.IsRent;

            HttpContext.SetLogiraniKorisnik(input);

            return(Redirect("/Dashboard/Index"));
        }
Exemple #29
0
 public static void SetLogiraniKorisnik(this HttpContext context, AutentifikacijaVM korisnik, bool snimiUCookie = false)
 {
     context.Session.Set(logiraniKorisnik, korisnik);
 }
Exemple #30
0
        public static AutentifikacijaVM GetLogiraniKorisnik(this HttpContext context)
        {
            AutentifikacijaVM korisnik = context.Session.Get <AutentifikacijaVM>(logiraniKorisnik);

            return(korisnik);
        }