Пример #1
0
        // GET: Zadatak/Edit/5
        public IActionResult Edit(int?id, string returnUrl)
        {
            var userHash   = _userManager.GetUserId(User);
            var zaposlenik = _repository.GetZaposlenik(userHash);


            if (!string.IsNullOrEmpty(returnUrl))
            {
                ViewData["returnUrl"] = returnUrl;
            }

            if (id == null)
            {
                return(NotFound());
            }

            var zadatak      = _repository.GetZadatak(id.Value);
            var zadatakInput = _mapper.ToZadatakIM(zadatak, _repository);

            if (zadatak == null)
            {
                return(NotFound());
            }

            //Ako zaposlenik nije vlasnik niti je određen zadatku --> NE MOŽE GA UREĐIVATI
            if (!_repository.AmIAdmin(userHash) && zadatakInput.ZaposlenikId != zaposlenik.ZaposlenikId)
            {
                TempData["Neuspješno"] = "Nemate dozvolu uređivati tuđe zadatke!";
                return(RedirectToAction("Index"));
            }

            var allZaposleniciBezVlasnika = _repository.GetAllZaposleniciBezVlasnika();
            var allPodrumi      = _repository.GetAllPodrumi();
            var allVrsteAditiva = _repository.GetAllVrsteAditiva();

            if (zadatakInput.VrstaAditivaId.HasValue)
            {
                var aditiviVrste = _repository.GetAllAditivi(zadatakInput.VrstaAditivaId.Value);
                ViewBag.Aditivi = new SelectList(aditiviVrste, nameof(Aditiv.AditivId), nameof(Aditiv.ImeAditiva));
            }

            if (zadatak.PodrumId.HasValue)
            {
                var spremniciPodruma = _repository.GetAllSpremnici(zadatak.PodrumId.Value);
                ViewBag.Spremnici = new SelectList(spremniciPodruma, nameof(Spremnik.SpremnikId), nameof(Spremnik.ŠifraSpremnika));
            }

            ViewBag.VrsteAditiva      = new SelectList(allVrsteAditiva, nameof(VrstaAditiva.VrstaAditivaId), nameof(VrstaAditiva.NazivVrste));
            ViewBag.Podrumi           = new SelectList(allPodrumi, nameof(Podrum.PodrumId), nameof(Podrum.ŠifraPodruma));
            ViewBag.KategorijeZadatka = new SelectList(_context.KategorijaZadatka, nameof(KategorijaZadatka.KategorijaZadatkaId), nameof(KategorijaZadatka.ImeKategorije));

            var model = new ZadaciViewModel
            {
                ZadatakInput = zadatakInput,
                Zaposlenici  = allZaposleniciBezVlasnika
            };

            return(View(model));
        }
Пример #2
0
        // GET: Zadatak
        public IActionResult Index(string filter)
        {
            if (!string.IsNullOrWhiteSpace(filter))
            {
                var upit = _context.Zadatak
                           .Include(z => z.ZaduženiZaposlenikNavigation)
                           .Include(z => z.KategorijaZadatka)
                           .Include(z => z.Podrum)
                           .Include(z => z.Spremnik)
                           .AsNoTracking();

                ZadaciFilter zf = new ZadaciFilter();
                zf = ZadaciFilter.FromString(filter);

                if (!zf.IsEmpty())
                {
                    upit = zf.PrimjeniFilter(upit);
                }

                var allZadaci = upit.ToList();

                var allKategorijeZadataka     = _repository.GetAllKategorijeZadataka();
                var allZaposleniciBezVlasnika = _repository.GetAllZaposleniciBezVlasnika();
                var allPodrumi      = _repository.GetAllPodrumi();
                var allVrsteAditiva = _repository.GetAllVrsteAditiva();

                if (allPodrumi.Count > 0)
                {
                    ViewBag.Podrumi = new SelectList(allPodrumi, nameof(Podrum.PodrumId), nameof(Podrum.ŠifraPodruma));
                }

                ViewBag.VrsteAditiva = new SelectList(allVrsteAditiva, nameof(VrstaAditiva.VrstaAditivaId), nameof(VrstaAditiva.NazivVrste));

                var model = new ZadaciViewModel
                {
                    Zadaci             = allZadaci,
                    KategorijeZadataka = allKategorijeZadataka,
                    Zaposlenici        = allZaposleniciBezVlasnika
                };

                return(View(model));
            }
            else
            {
                var allZadaci                 = _repository.GetAllZadaci();
                var allKategorijeZadataka     = _repository.GetAllKategorijeZadataka();
                var allZaposleniciBezVlasnika = _repository.GetAllZaposleniciBezVlasnika();
                var allPodrumi                = _repository.GetAllPodrumi();
                var allVrsteAditiva           = _repository.GetAllVrsteAditiva();

                ViewBag.Podrumi      = new SelectList(allPodrumi, nameof(Podrum.PodrumId), nameof(Podrum.ŠifraPodruma));
                ViewBag.VrsteAditiva = new SelectList(allVrsteAditiva, nameof(VrstaAditiva.VrstaAditivaId), nameof(VrstaAditiva.NazivVrste));

                var model = new ZadaciViewModel
                {
                    Zadaci             = allZadaci,
                    KategorijeZadataka = allKategorijeZadataka,
                    Zaposlenici        = allZaposleniciBezVlasnika
                };

                return(View(model));
            }
        }