Esempio n. 1
0
        public IActionResult Dodijeli(int id)
        {
            var zahtjev = _context.Zahtjevi.Where(w => w.ZahtjevId == id).Include(i => i.KlijentskiRacun).ThenInclude(t => t.Klijent).Include(n => n.ZahtjevKategorija).Include(c => c.ZahtjevStatus).SingleOrDefault();

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

            var model = new ZahtjevDetaljiVM()
            {
                ZahtjevId           = zahtjev.ZahtjevId,
                Naslov              = zahtjev.Naslov,
                Opis                = zahtjev.Opis,
                DatumKreiranja      = zahtjev.DatumKreiranja.ToString("dd.MM.yyyy HH:mm"),
                KlijentskiRacun     = zahtjev.KlijentskiRacun.Ime + " " + zahtjev.KlijentskiRacun.Prezime,
                ZahtjevKategorija   = zahtjev.ZahtjevKategorija.Naziv,
                StatusZahtjevaId    = zahtjev.ZahtjevStatusId,
                StatusZahtjevaNaziv = zahtjev.ZahtjevStatus.Naziv,
                Klijent             = zahtjev.KlijentskiRacun.Klijent.SkraceniNaziv
            };

            if (zahtjev.KorisnikId != null)
            {
                model.KorisnikId = zahtjev.KorisnikId.Value;
            }

            GenerisiKorisnike(model);

            return(View(model));
        }
Esempio n. 2
0
        private void GenerisiKorisnike(ZahtjevDetaljiVM model)
        {
            int UlogaOrg = 2; //Organizator
            int UlogaIng = 3; //Inžinjer

            var dozvoljeniKorisniciIds = _context.Permisije.Where(w => w.PermisijaStatus == true && (w.UlogaId == UlogaOrg || w.UlogaId == UlogaIng)).Select(s => s.KorisnikId).Distinct().ToList();

            var korisnici = new List <Korisnik>();

            foreach (var korisnikId in dozvoljeniKorisniciIds)
            {
                var k = _context.Korisnici.Find(korisnikId);

                if (k != null)
                {
                    korisnici.Add(k);
                }
            }

            model.Korisnici = korisnici.Where(w => w.KorisnikStatus == true).Select(s => new SelectListItem
            {
                Value = s.KorisnikId.ToString(),
                Text  = s.Ime + " " + s.Prezime
            }).ToList();
        }
        // GET: admin/Zahtjevs/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (db.ZahtjevDbSet.Find(id) == null)
            {
                return(HttpNotFound());
            }


            if (TempData["error"] != null)
            {
                ViewBag.Message = TempData["error"].ToString();
            }



            ZahtjevDetaljiVM model = db.ZahtjevDbSet
                                     .Where(x => x.Id == id)
                                     .Select(f => new ZahtjevDetaljiVM
            {
                Id                 = f.Id,
                Broj               = f.Broj,
                DatumZahtjeva      = f.DatumPodnosenja.ToString(),
                Email              = f.Email,
                Ime                = f.Ime,
                Opcina             = f.Opcina.NazivOpcine,
                Napomena           = f.NapomenaKorisnika,
                Naselje            = f.Naselje,
                Prezime            = f.Prezime,
                Telefon            = f.Telefon,
                TipKontakta        = f.TipKontakta.Naziv,
                Ulica              = f.NazivUlice,
                Komentar           = f.Komentar,
                Status             = f.ZahtjevStatus.Naziv,
                StatusId           = f.ZahtjevStatus.Id,
                JMBG               = f.JMBG,
                ListaTraznihUsluga = db.ZahtjevUslugeDbSet.Where(g => g.ZahtjevId == id).ToList()
            }).Single();



            return(View(model));
        }
Esempio n. 4
0
        public IActionResult SnimiDodjelu(ZahtjevDetaljiVM input)
        {
            if (!ModelState.IsValid)
            {
                GenerisiKorisnike(input);
                return(View("Dodijeli", input));
            }

            var stariZahtjev = _context.Zahtjevi.Find(input.ZahtjevId);

            if (stariZahtjev != null)
            {
                stariZahtjev.KorisnikId      = input.KorisnikId;
                stariZahtjev.ZahtjevStatusId = 2;//U procesu rješavanja

                _context.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Napomena(ZahtjevDetaljiVM model)
        {
            Zahtjev zahtjev = db.ZahtjevDbSet.Find(model.Id);

            if (zahtjev == null)
            {
                return(HttpNotFound());
            }

            Zahtjev o = db.ZahtjevDbSet.Find(model.Id);

            if (o == null)
            {
                return(HttpNotFound());
            }

            o.Komentar = model.Komentar;

            db.SaveChanges();
            return(RedirectToAction("Details", model));
        }
Esempio n. 6
0
        public IActionResult Detalji(int ZahtjevId)
        {
            Zahtjev          z1    = _context.Zahtjev.Where(x => x.Id == ZahtjevId).Include(w => w.Klijent).SingleOrDefault();
            ZahtjevDetaljiVM model = new ZahtjevDetaljiVM();
            Klijent          k     = _context.Klijent.Where(x => x.Id == z1.KlijentId).Include(z => z.Osoba).SingleOrDefault();

            model.Id            = ZahtjevId;
            model.DatumZahtjeva = z1.DatumZahtjeva.ToShortDateString();
            model.Opis          = z1.Opis;
            model.Prioritet     = z1.Prioritet;
            model.Klijent       = k.Osoba.Ime + " " + k.Osoba.Prezime;
            model.BrojOdgovora  = _context.StavkeZahtjev.Where(x => x.ZahtjevId == ZahtjevId).Count();
            if (model.BrojOdgovora > 0)
            {
                z1.Odgovoren = true;
            }
            model.Odgovoren = z1.Odgovoren;



            return(View("Detalji", model));
        }
Esempio n. 7
0
        public IActionResult Detalji(int id, bool arhiva)
        {
            var zahtjev = _context.Zahtjevi.Where(w => w.ZahtjevId == id).Include(i => i.KlijentskiRacun).ThenInclude(t => t.Klijent).Include(n => n.ZahtjevKategorija).Include(c => c.ZahtjevStatus).Include(l => l.Korisnik).SingleOrDefault();
            var poruke  = _context.Poruke.Where(w => w.ZahtjevId == id).Include(i => i.KlijentskiRacun).Include(n => n.Korisnici).ToList();

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

            var model = new ZahtjevDetaljiVM()
            {
                ZahtjevId           = zahtjev.ZahtjevId,
                Naslov              = zahtjev.Naslov,
                Opis                = zahtjev.Opis,
                DatumKreiranja      = zahtjev.DatumKreiranja.ToString("dd.MM.yyyy HH:mm"),
                KlijentskiRacun     = zahtjev.KlijentskiRacun.Ime + " " + zahtjev.KlijentskiRacun.Prezime,
                ZahtjevKategorija   = zahtjev.ZahtjevKategorija.Naziv,
                StatusZahtjevaId    = zahtjev.ZahtjevStatusId,
                StatusZahtjevaNaziv = zahtjev.ZahtjevStatus.Naziv,
                Korisnik            = (zahtjev.Korisnik != null) ? zahtjev.Korisnik.Ime + " " + zahtjev.Korisnik.Prezime : "Nije dodijeljen korisnik",
                Klijent             = zahtjev.KlijentskiRacun.Klijent.SkraceniNaziv
            };

            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            if (!korisnik.IsKlijent)
            {
                model.IsKorisnik = true;
                if (zahtjev.Korisnik != null)
                {
                    if (korisnik.KorisnikId == zahtjev.KorisnikId && zahtjev.ZahtjevStatusId != 3)
                    {
                        model.Zakljucaj = true;
                    }
                }
            }

            model.ListaPoruka = new List <PorukeDetaljiVM>();

            foreach (var item in poruke)
            {
                PorukeDetaljiVM poruka = new PorukeDetaljiVM()
                {
                    Sadrzaj        = item.Sadrzaj,
                    DatumKreiranja = item.DatumKreiranja.ToString("dd.MM.yyyy HH:mm")
                };
                if (item.KlijentskiRacunId != null)
                {
                    poruka.KlijentskiRacunNaziv = item.KlijentskiRacun.Ime + " " + item.KlijentskiRacun.Prezime;
                    var x = ImageHelper.GetImageType(item.KlijentskiRacun.KlijentskiRacunSlika);
                    poruka.KlijentskiRacunSlikaPath = string.Format("data:image/" + x + ";base64,{0}", Convert.ToBase64String(item.KlijentskiRacun.KlijentskiRacunSlika));
                    poruka.KlijentskiRacun          = true;
                }
                else
                {
                    poruka.KorisnikNaziv = item.Korisnici.Ime + " " + item.Korisnici.Prezime;
                    var x = ImageHelper.GetImageType(item.Korisnici.KorisnikSlika);
                    poruka.KorisnikSlikaPath = string.Format("data:image/" + x + ";base64,{0}", Convert.ToBase64String(item.Korisnici.KorisnikSlika));
                }

                model.ListaPoruka.Add(poruka);
            }

            if (arhiva)
            {
                model.IsArhiva = true;
            }
            return(View(model));
        }
Esempio n. 8
0
        public IActionResult SnimiPoruku(int ZahtjevId, string sadrzaj)
        {
            if (!ModelState.IsValid)
            {
                var zahtjev = _context.Zahtjevi.Where(w => w.ZahtjevId == ZahtjevId).Include(i => i.KlijentskiRacun).Include(n => n.ZahtjevKategorija).Include(c => c.ZahtjevStatus).Include(l => l.Korisnik).SingleOrDefault();
                var poruke  = _context.Poruke.Where(w => w.ZahtjevId == ZahtjevId).Include(i => i.KlijentskiRacun).Include(n => n.Korisnici).ToList();

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

                var model = new ZahtjevDetaljiVM()
                {
                    ZahtjevId           = zahtjev.ZahtjevId,
                    Naslov              = zahtjev.Naslov,
                    Opis                = zahtjev.Opis,
                    DatumKreiranja      = zahtjev.DatumKreiranja.ToString("dd.MM.yyyy HH:mm"),
                    KlijentskiRacun     = zahtjev.KlijentskiRacun.Ime + " " + zahtjev.KlijentskiRacun.Prezime,
                    ZahtjevKategorija   = zahtjev.ZahtjevKategorija.Naziv,
                    StatusZahtjevaId    = zahtjev.ZahtjevStatusId,
                    StatusZahtjevaNaziv = zahtjev.ZahtjevStatus.Naziv,
                    Korisnik            = (zahtjev.Korisnik != null) ? zahtjev.Korisnik.Ime + " " + zahtjev.Korisnik.Prezime : "Nije dodijeljen korisnik"
                };

                AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

                if (!korisnik.IsKlijent)
                {
                    model.IsKorisnik = true;
                    if (zahtjev.Korisnik != null)
                    {
                        if (korisnik.KorisnikId == zahtjev.KorisnikId && zahtjev.ZahtjevStatusId != 3)
                        {
                            model.Zakljucaj = true;
                        }
                    }
                }

                model.ListaPoruka = new List <PorukeDetaljiVM>();

                foreach (var item in poruke)
                {
                    PorukeDetaljiVM poruka = new PorukeDetaljiVM()
                    {
                        Sadrzaj        = item.Sadrzaj,
                        DatumKreiranja = item.DatumKreiranja.ToString("dd.MM.yyyy HH:mm")
                    };
                    if (item.KlijentskiRacunId != null)
                    {
                        poruka.KlijentskiRacunNaziv = item.KlijentskiRacun.Ime + " " + item.KlijentskiRacun.Prezime;
                        var x = ImageHelper.GetImageType(item.KlijentskiRacun.KlijentskiRacunSlika);
                        poruka.KlijentskiRacunSlikaPath = string.Format("data:image/" + x + ";base64,{0}", Convert.ToBase64String(item.KlijentskiRacun.KlijentskiRacunSlika));
                        poruka.KlijentskiRacun          = true;
                    }
                    else
                    {
                        poruka.KorisnikNaziv = item.Korisnici.Ime + " " + item.Korisnici.Prezime;
                        var x = ImageHelper.GetImageType(item.Korisnici.KorisnikSlika);
                        poruka.KorisnikSlikaPath = string.Format("data:image/" + x + ";base64,{0}", Convert.ToBase64String(item.Korisnici.KorisnikSlika));
                    }

                    model.ListaPoruka.Add(poruka);
                }
                model.IsArhiva = false;
                return(View("Detalji", model));
            }

            var stariZahtjev = _context.Zahtjevi.Find(ZahtjevId);

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

            if (!sadrzaj.IsNullOrWhiteSpace())
            {
                AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

                var novaPoruka = new Poruka()
                {
                    Sadrzaj        = sadrzaj,
                    DatumKreiranja = DateTime.Now,
                    ZahtjevId      = ZahtjevId
                };

                if (korisnik.IsKlijent)
                {
                    novaPoruka.KlijentskiRacunId = korisnik.KlijentskiRacunId;
                }
                else
                {
                    novaPoruka.KorisnikId = korisnik.KorisnikId;
                }

                _context.Poruke.Add(novaPoruka);

                _context.SaveChanges();
            }

            return(Redirect("/Podrska/Detalji?Id=" + ZahtjevId));
        }