public IActionResult Create(Ovlaštenik ovlaštenik) { logger.LogTrace(JsonSerializer.Serialize(ovlaštenik)); if (ModelState.IsValid) { try { ctx.Add(ovlaštenik); ctx.SaveChanges(); logger.LogInformation(new EventId(1000), $"Ovlaštenik {ovlaštenik.ImeOvlaštenik} dodan."); TempData[Constants.Message] = $"Ovlaštenik {ovlaštenik.ImeOvlaštenik} dodan."; TempData[Constants.ErrorOccurred] = false; return(RedirectToAction(nameof(Index))); } catch (Exception exc) { PrepareDropDownList(); PrepareDropDownList2(); logger.LogError("Pogreška prilikom dodavanja novog ovlaštenika: {0}", exc.Message); ModelState.AddModelError(string.Empty, exc.Message); //radimo proširenje za Exception return(View(ovlaštenik)); //ne vracamo praznu stranicu, nego postojece podatke } } else { PrepareDropDownList(); PrepareDropDownList2(); return(View(ovlaštenik)); } }
public async Task <IActionResult> Update(int id, int page = 1, int sort = 1, bool ascending = true) { try { Ovlaštenik ovlaštenik = await ctx.Ovlašteniks.Where(o => o.OibOvlaštenik == id).SingleOrDefaultAsync(); if (ovlaštenik == null) { return(NotFound($"Ovlaštenik s oibom {id} ne postoji")); } bool potvrda = await TryUpdateModelAsync <Ovlaštenik>(ovlaštenik, "", o => o.ImeOvlaštenik, o => o.PrezimeOvlaštenik, o => o.IdPovjerenstva, o => o.OibNaručitelja); if (potvrda) { ViewBag.Page = page; ViewBag.Sort = sort; ViewBag.Ascending = ascending; try { await ctx.SaveChangesAsync(); TempData[Constants.Message] = $"Ovlaštenik {ovlaštenik.ImeOvlaštenik} uspješno ažuriran."; TempData[Constants.ErrorOccurred] = false; return(RedirectToAction(nameof(Index), new { page, sort, ascending })); } catch (Exception exc) { PrepareDropDownList(); PrepareDropDownList2(); ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage()); return(View(ovlaštenik)); } } else { ModelState.AddModelError(string.Empty, "Podatke nije moguće povezati"); PrepareDropDownList(); PrepareDropDownList2(); return(View(ovlaštenik)); } } catch (Exception exc) { TempData[Constants.Message] = exc.CompleteExceptionMessage(); TempData[Constants.ErrorOccurred] = true; return(RedirectToAction(nameof(Edit), new { id, page, sort, ascending })); } }
public async Task <IActionResult> Create(OvlViewModel model) { Ovlaštenik ovlaštenik = new Ovlaštenik { OibOvlaštenik = model.OibOvlaštenik, ImeOvlaštenik = model.ImeOvlaštenik, PrezimeOvlaštenik = model.PrezimeOvlaštenik, IdPovjerenstva = model.IdPovjerenstva, OibNaručitelja = model.OibNaručitelj }; ctx.Add(ovlaštenik); await ctx.SaveChangesAsync(); var addedItem = await Get(ovlaštenik.OibOvlaštenik); return(CreatedAtAction(nameof(Get), new { oib = ovlaštenik.OibOvlaštenik }, addedItem.Value)); }