public IActionResult Create(Povjerenstvo povjerenstvo)
        {
            logger.LogTrace(JsonSerializer.Serialize(povjerenstvo));
            if (ModelState.IsValid)
            {
                try
                {
                    ctx.Add(povjerenstvo);
                    ctx.SaveChanges();
                    logger.LogInformation(new EventId(1000), $"Povjerenstvo {povjerenstvo.NazivPovjerenstva} dodano.");

                    TempData[Constants.Message]       = $"Povjerenstvo {povjerenstvo.NazivPovjerenstva} dodano.";
                    TempData[Constants.ErrorOccurred] = false;
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception exc)
                {
                    PrepareDropDownList();
                    logger.LogError("Pogreška prilikom dodavanja novog povjerenstva: {0}", exc.CompleteExceptionMessage());
                    ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage()); //radimo proširenje za Exception
                    return(View(povjerenstvo));                                             //ne vracamo praznu stranicu, nego postojece podatke
                }
            }
            else
            {
                PrepareDropDownList();
                return(View(povjerenstvo));
            }
        }
        public async Task <IActionResult> Update(int id, int page = 1, int sort = 1, bool ascending = true)
        {
            try
            {
                Povjerenstvo povjerenstvo = await ctx.Povjerenstvos.Where(p => p.IdPovjerenstva == id).SingleOrDefaultAsync();

                if (povjerenstvo == null)
                {
                    return(NotFound($"Povjerenstvo s id-om {id} ne postoji."));
                }


                bool potvrda = await TryUpdateModelAsync <Povjerenstvo>(povjerenstvo, "", p => p.NazivPovjerenstva, p => p.EvidBrojNatječaj);

                if (potvrda)
                {
                    ViewBag.Page      = page;
                    ViewBag.Sort      = sort;
                    ViewBag.Ascending = ascending;
                    try
                    {
                        await ctx.SaveChangesAsync();

                        TempData[Constants.Message]       = $"Povjerenstvo {povjerenstvo.NazivPovjerenstva} uspješno ažurirano.";
                        TempData[Constants.ErrorOccurred] = false;
                        return(RedirectToAction(nameof(Index), new { page, sort, ascending }));
                    }
                    catch (Exception exc)
                    {
                        ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage());
                        PrepareDropDownList2();
                        return(View(povjerenstvo));
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Podatke nije moguće povezati");
                    PrepareDropDownList2();
                    return(View(povjerenstvo));
                }
            }
            catch (Exception exc)
            {
                TempData[Constants.Message]       = exc.CompleteExceptionMessage();
                TempData[Constants.ErrorOccurred] = true;
                return(RedirectToAction(nameof(Edit), new { id, page, sort, ascending }));
            }
        }