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