public IActionResult Create(Skladište skladište) { logger.LogTrace(JsonSerializer.Serialize(skladište)); if (ModelState.IsValid) { try { ctx.Add(skladište); ctx.SaveChanges(); logger.LogInformation(new EventId(1000), $"skladiste {skladište.Naziv} dodan."); TempData[Constants.Message] = $"skladiste {skladište.Naziv} dodan."; TempData[Constants.ErrorOccurred] = false; return(RedirectToAction(nameof(Index))); } catch (Exception exc) { logger.LogError("Pogreška prilikom dodavanje novog refernetnog tipa: {0}", exc.CompleteExceptionMessage()); ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage()); return(View(skladište)); } } else { return(View(skladište)); } }
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 { Skladište skladište = await ctx.Skladište.FindAsync(id); if (skladište == null) { return(NotFound("Neispravna naziv referentnog tipa: " + id)); } if (await TryUpdateModelAsync <Skladište>(skladište, "", s => s.Naziv )) { ViewBag.Page = page; ViewBag.Sort = sort; ViewBag.Ascending = ascending; try { await ctx.SaveChangesAsync(); TempData[Constants.Message] = "Skladiste 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(skladište)); } } else { ModelState.AddModelError(string.Empty, "Podatke o skladistu nije moguće povezati s forme"); return(View(skladište)); } } catch (Exception exc) { TempData[Constants.Message] = exc.CompleteExceptionMessage(); TempData[Constants.ErrorOccurred] = true; return(RedirectToAction(nameof(Edit), id)); } }