public IActionResult Edit(EditTakmicenjeVM objekat)//dodatiiii kod.....za rucni unos { if (ModelState.IsValid) { TakmicenjaUpdate objekatValidator = mapko.Map <TakmicenjaUpdate>(objekat); Takmicenje objBaza = db.Takmicenja.Find(objekat.ID); List <(string key, string error)> listaerrora = validator.VratiListuErroraAkcijaEdit(objekatValidator, objekat.ID, objBaza); if (listaerrora.Count() == 0) { Takmicenje obj = db.Takmicenja.Find(objekat.ID); if (obj != null) { using (var transakcija = db.Database.BeginTransaction()) { try { obj.Naziv = objekat.Naziv; obj.DatumPocetka = objekat.DatumPocetka; obj.DatumZavrsetka = objekat.DatumZavrsetka; if (objekat.RokPocetkaPrijave != null) //samo ako su registracije otvorene promijeni ove ovdje stvari jer se one ne postavljaju na rucnom unosu { obj.RokPocetkaPrijave = objekat.RokPocetkaPrijave; obj.RokZavrsetkaPrijave = objekat.RokZavrsetkaPrijave; obj.MinimalniELO = objekat.MinimalniELO ?? 0; obj.KategorijaID = objekat.KategorijaID; obj.VrstaID = objekat.VrstaID; } obj.StatusID = objekat.StatusID; db.Update(obj); db.SaveChanges(); Feed FidObjekat = db.Feeds.Find(obj.FeedID); FidObjekat.Naziv = obj.Naziv + " feed"; FidObjekat.DatumModifikacije = DateTime.Now; db.Update(FidObjekat); db.SaveChanges(); transakcija.Commit(); return(Redirect("/Takmicenje/Prikaz/" + obj.ID)); } catch (DbUpdateException) { transakcija.Rollback(); } } } } else { //ako je validator vratio errore ovdje cemo ih pametno stavit u modelstate kako bi se prikazali na viewu foreach ((string key, string err)i in listaerrora) { ModelState.AddModelError(i.key, i.err); } } } LoadViewBag(); return(View(objekat)); }
public IActionResult Edit(int id) { Takmicenje obj = db.Takmicenja.Find(id); if (obj != null) { EditTakmicenjeVM ob1 = new EditTakmicenjeVM(obj); LoadViewBag(); return(View(ob1)); } return(Redirect("/Takmicenje/Neuspjeh")); }
public IActionResult Edit(int id) { Takmicenje obj = db.Takmicenja.AsNoTracking().Include(x => x.Kreator).Where(x => x.ID == id).FirstOrDefault(); var idUser = db.Users.Where(x => x.UserName == HttpContext.User.Identity.Name).FirstOrDefault(); if (obj.KreatorID != idUser.Id) { return(VratiNijeAutorizovan()); } if (obj != null) { EditTakmicenjeVM ob1 = new EditTakmicenjeVM(obj); LoadViewBag(); return(View(ob1)); } return(Redirect("/Takmicenje/Neuspjeh")); }
public IActionResult Edit(EditTakmicenjeVM objekat)//dodatiiii kod.....za rucni unos { if (ModelState.IsValid) { if (TakmicenjaViseOd(objekat.Naziv, objekat.ID)) { ModelState.AddModelError(nameof(objekat.Naziv), "Vec postoji takmicenje u bazi"); } if (objekat.RokZavrsetkaPrijave != null && objekat.RokPocetkaPrijave != null && objekat.RokZavrsetkaPrijave < objekat.RokPocetkaPrijave) { ModelState.AddModelError(nameof(objekat.RokZavrsetkaPrijave), "Datum zavrsetka prijava ne moze biti prije pocetka"); } if (objekat.DatumPocetka != null && objekat.RokZavrsetkaPrijave != null && objekat.DatumPocetka < objekat.RokZavrsetkaPrijave) { ModelState.AddModelError(nameof(objekat.DatumPocetka), "Datum pocetka ne moze biti prije zavrsetka prijava"); } if (objekat.DatumPocetka != null && objekat.DatumZavrsetka != null && objekat.DatumZavrsetka < objekat.DatumPocetka) { ModelState.AddModelError(nameof(objekat.DatumZavrsetka), "Datum pocetka takmicenja ne moze biti prije zavrsetka"); } if (ModelState.ErrorCount == 0) { Takmicenje obj = db.Takmicenja.Find(objekat.ID); if (obj != null) { using (var transakcija = db.Database.BeginTransaction()) { try { obj.Naziv = objekat.Naziv; obj.DatumPocetka = objekat.DatumPocetka; obj.DatumZavrsetka = objekat.DatumZavrsetka; if (objekat.RokPocetkaPrijave != null) //samo ako su registracije otvorene promijeni ove ovdje stvari jer se one ne postavljaju na rucnom unosu { obj.RokPocetkaPrijave = objekat.RokPocetkaPrijave; obj.RokZavrsetkaPrijave = objekat.RokZavrsetkaPrijave; obj.MinimalniELO = objekat.MinimalniELO ?? 0; obj.KategorijaID = objekat.KategorijaID; obj.VrstaID = objekat.VrstaID; } obj.StatusID = objekat.StatusID; db.Update(obj); db.SaveChanges(); Feed FidObjekat = db.Feeds.Find(obj.FeedID); FidObjekat.Naziv = obj.Naziv + " feed"; FidObjekat.DatumModifikacije = DateTime.Now; db.Update(FidObjekat); db.SaveChanges(); transakcija.Commit(); return(Redirect("/Takmicenje/Prikaz/" + obj.ID)); } catch (DbUpdateException er) { transakcija.Rollback(); } } } } } LoadViewBag(); return(View(objekat)); }