public async Task <IActionResult> Create(PonuditeljViewModel model) { Ponuditelj ponuditelj = new Ponuditelj { OibPonuditelj = model.OibPonuditelj, NazivPonuditelj = model.NazivPonuditelj, AdresaPonuditelj = model.AdresaPonuditelj, SjedištePonuditelj = model.SjedistePonuditelj }; ctx.Add(ponuditelj); await ctx.SaveChangesAsync(); var addedItem = await Get(ponuditelj.OibPonuditelj); return(CreatedAtAction(nameof(Get), new { oib = ponuditelj.OibPonuditelj }, addedItem.Value)); }
public async Task <IActionResult> Update(string id, int page = 1, int sort = 1, bool ascending = true) { try { Ponuditelj ponuditelj = await ctx.Ponuditeljs.FindAsync(id); if (ponuditelj == null) { return(NotFound($"Ne postoji ponuditelj čiji je OIB {id}")); } bool ok = await TryUpdateModelAsync <Ponuditelj>(ponuditelj, "", p => p.NazivPonuditelj, p => p.AdresaPonuditelj, p => p.SjedištePonuditelj); if (ok) { ViewBag.Page = page; ViewBag.Sort = sort; ViewBag.Ascending = ascending; try { await ctx.SaveChangesAsync(); TempData[Constants.Message] = $"Ponuditelj {ponuditelj.NazivPonuditelj} uspješno ažuriran."; TempData[Constants.ErrorOccured] = false; return(RedirectToAction(nameof(Index), new { page = page, sort = sort, ascending = ascending })); } catch (Exception exc) { ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage()); return(View(ponuditelj)); } } else { ModelState.AddModelError(string.Empty, "Podatke nije moguće povezati"); return(View(ponuditelj)); } } catch (Exception exc) { TempData[Constants.Message] = exc.CompleteExceptionMessage(); TempData[Constants.ErrorOccured] = true; return(RedirectToAction(nameof(Edit), id)); } }
[ValidateAntiForgeryToken] //medu podacima koje primamo mora biti i antiforgery token public IActionResult Create(Ponuditelj ponuditelj) //podaci se prvo uzimaju iz forme, pa iz parametara rute i onda query stringa { if (ModelState.IsValid) { try { ctx.Add(ponuditelj); ctx.SaveChanges(); TempData[Constants.Message] = $"Ponuditelj {ponuditelj.NazivPonuditelj} uspješno dodan."; TempData[Constants.ErrorOccured] = false; return(RedirectToAction("Index")); } catch (Exception exc) { ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage()); //radimo proširenje za Exception return(View(ponuditelj)); //ne vracamo praznu stranicu, nego postojece podatke } } else { return(View(ponuditelj)); } }