public IActionResult Create(VrstaOpreme vrstaopreme)
        {
            logger.LogTrace(JsonSerializer.Serialize(vrstaopreme));
            if (ModelState.IsValid)
            {
                try
                {
                    ctx.Add(vrstaopreme);
                    ctx.SaveChanges();

                    logger.LogInformation(new EventId(1000), $"Oprema {vrstaopreme.Naziv} dodana.");

                    TempData[Constants.Message]       = $"Oprema {vrstaopreme.Naziv} dodana.";
                    TempData[Constants.ErrorOccurred] = false;
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception exc)
                {
                    logger.LogError("Pogreška prilikom dodavanje nove opreme: {0}", exc.CompleteExceptionMessage());
                    ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage());
                    return(View(vrstaopreme));
                }
            }
            else
            {
                return(View(vrstaopreme));
            }
        }
        public async Task <IActionResult> Update(string id, int page = 1, int sort = 1, bool ascending = true)
        {
            //za različite mogućnosti ažuriranja pogledati
            //attach, update, samo id, ...
            //https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/crud#update-the-edit-page

            try
            {
                VrstaOpreme vrstaopreme = await ctx.VrstaOpreme.FindAsync(id);

                if (vrstaopreme == null)
                {
                    return(NotFound("Neispravna naziv Opreme: " + id));
                }

                if (await TryUpdateModelAsync <VrstaOpreme>(vrstaopreme, "",
                                                            vo => vo.Naziv
                                                            ))
                {
                    ViewBag.Page      = page;
                    ViewBag.Sort      = sort;
                    ViewBag.Ascending = ascending;
                    try
                    {
                        await ctx.SaveChangesAsync();

                        TempData[Constants.Message]       = "Oprema ažurirana.";
                        TempData[Constants.ErrorOccurred] = false;
                        return(RedirectToAction(nameof(Index), new { page, sort, ascending }));
                    }
                    catch (Exception exc)
                    {
                        ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage());
                        return(View(vrstaopreme));
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Podatke o opremi nije moguće povezati s forme");
                    return(View(vrstaopreme));
                }
            }
            catch (Exception exc)
            {
                TempData[Constants.Message]       = exc.CompleteExceptionMessage();
                TempData[Constants.ErrorOccurred] = true;
                return(RedirectToAction(nameof(Edit), id));
            }
        }