public IActionResult Create(KategorijaPoslova kategorijaPoslova) { logger.LogTrace(JsonSerializer.Serialize(kategorijaPoslova), new JsonSerializerOptions { IgnoreNullValues = true }); if (ModelState.IsValid) { try{ ctx.Add(kategorijaPoslova); ctx.SaveChanges(); TempData[Constants.Message] = $"Kategorija posla {kategorijaPoslova.Naziv} dodana."; TempData[Constants.ErrorOccurred] = false; logger.LogInformation(new EventId(1000), $"Kategorija posla {kategorijaPoslova.Naziv} dodana."); return(RedirectToAction(nameof(Index))); } catch (Exception exc) { logger.LogError("Pogreška prilikom dodavanja nove kategorije posla: {0}", exc.CompleteExceptionMessage()); ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage()); return(View(kategorijaPoslova)); } } else { return(View(kategorijaPoslova)); } }
public async Task <IActionResult> Update(int Id, int page = 1, int sort = 1, bool ascending = true) { try{ KategorijaPoslova kategorijaPoslova = await ctx.KategorijaPoslova.FindAsync(Id); if (kategorijaPoslova == null) { return(NotFound($"Ne postoji kategorija posla s oznakom: " + Id)); } ViewBag.Page = page; ViewBag.Sort = sort; ViewBag.Ascending = ascending; bool ok = await TryUpdateModelAsync <KategorijaPoslova>(kategorijaPoslova, "", kp => kp.Naziv); if (ok) { try{ await ctx.SaveChangesAsync(); TempData[Constants.Message] = $"Kategorija posla {kategorijaPoslova.Naziv} ažurirana."; TempData[Constants.ErrorOccurred] = false; return(RedirectToAction(nameof(Index), new { page = page, sort = sort, ascending = ascending })); } catch (Exception exc) { ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage()); return(View(kategorijaPoslova)); } } else { ModelState.AddModelError(string.Empty, "Podatke o kategorijama poslova nije moguce povezati"); return(View(kategorijaPoslova)); } } catch (Exception exc) { TempData[Constants.Message] = exc.CompleteExceptionMessage(); TempData[Constants.ErrorOccurred] = true; return(RedirectToAction(nameof(Index), new { Id, page = page, sort = sort, ascending = ascending })); } }