예제 #1
0
        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));
        }
예제 #2
0
        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"));
        }
예제 #3
0
        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"));
        }
예제 #4
0
        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));
        }