public IActionResult Create(Certifikati certifikati) { logger.LogTrace(JsonSerializer.Serialize(certifikati), new JsonSerializerOptions { IgnoreNullValues = true }); if (ModelState.IsValid) { try{ ctx.Add(certifikati); ctx.SaveChanges(); TempData[Constants.Message] = $"Certifikat {certifikati.Naziv} dodan."; TempData[Constants.ErrorOccurred] = false; logger.LogInformation(new EventId(1000), $"Certifikat {certifikati.Naziv} dodan."); return(RedirectToAction(nameof(Index))); } catch (Exception exc) { logger.LogError("Pogreška prilikom dodavanja novog certifikata: {0}", exc.CompleteExceptionMessage()); ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage()); return(View(certifikati)); } } else { return(View(certifikati)); } }
public async Task <IActionResult> Update(int Id, int page = 1, int sort = 1, bool ascending = true) { try{ Certifikati certifikati = await ctx.Certifikati.FindAsync(Id); if (certifikati == null) { return(NotFound($"Ne postoji država s oznakom: " + Id)); } ViewBag.Page = page; ViewBag.Sort = sort; ViewBag.Ascending = ascending; bool ok = await TryUpdateModelAsync <Certifikati>(certifikati, "", c => c.Naziv, c => c.Opis); if (ok) { try{ await ctx.SaveChangesAsync(); TempData[Constants.Message] = $"Certifikat {certifikati.Naziv} ažuriran."; 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(certifikati)); } } else { ModelState.AddModelError(string.Empty, "Podatke o certifikatima nije moguce povezati"); return(View(certifikati)); } } catch (Exception exc) { TempData[Constants.Message] = exc.CompleteExceptionMessage(); TempData[Constants.ErrorOccurred] = true; return(RedirectToAction(nameof(Index), new { Id, page = page, sort = sort, ascending = ascending })); } }