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 })); } }