예제 #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 PrikazProfila(int id)
        {
            Igrac objIgrac = db.Igraci.Include(d => d.Grad).SingleOrDefault(x => x.ID == id);

            if (objIgrac == null)
            {
                return(View("Greska"));
            }
            IgracVM igrac = new IgracVM(objIgrac);

            igrac.statistika     = db.Statistike.Where(s => s.IgracID == id && s.AkademskaGodina == DateTime.Now.Year).SingleOrDefault();
            igrac.BrojPostovanja = db.Postovanja.Count(p => p.PostovaniID == id);
            igrac.listaPrijava   = (from pi in db.PrijaveIgraci
                                    join pr in db.Prijave on pi.PrijavaID equals pr.ID
                                    where pi.IgracID == id
                                    select new Prijava
            {
                ID = pr.ID,
                Naziv = pr.Naziv,
                Takmicenje = pr.Takmicenje
            }).ToList();
            ViewBag.userId = db.Users.Where(d => d.Email == User.Identity.Name).FirstOrDefault().Id;
            var userId = db.Users.Where(d => d.Email == User.Identity.Name).FirstOrDefault().Id;

            if (userId != id)
            {
                Igrac i = db.Igraci.Find(id);
                i.BrojPosjetaNaProfil++;
                db.Update(i);
                db.SaveChanges();
            }

            return(View(igrac));
        }
예제 #3
0
        public async Task <ActionResult> UkljuciAutentifikaciju(AutentifikacijaVM model)
        {
            if (User.Identity.Name != null)
            {
                var korisnik = await UserM.FindByEmailAsync(User.Identity.Name);

                TwoFactorAuthenticator tfa = new TwoFactorAuthenticator();
                string userUniqueKey       = GetUserUniqueKey(korisnik);

                if (LockoutCheck(korisnik))
                {
                    TimeSpan t = (korisnik.LockoutEnd - DateTime.Now) ?? default(TimeSpan);
                    ModelState.AddModelError("Lockout", "Vaš profil je zaključan još " + t.Minutes + " minuta i " + t.Seconds + " sekundi.");
                    return(View());
                }
                else
                {
                    if (tfa.ValidateTwoFactorPIN(userUniqueKey, model.Code))
                    {
                        Igrac i = db.Igraci.Find(korisnik.Id);
                        i.TwoFactorEnabled = true;
                        db.Update(i);
                        db.SaveChanges();
                        return(Redirect("/Igrac/PrikazProfila/" + i.ID));
                    }
                    else
                    {
                        ModelState.AddModelError("Code", "Neispravan kod");
                        return(View());
                    }
                }
            }
            else
            {
                return(RedirectToAction("Login"));
            }
        }
예제 #4
0
 public IActionResult Edit(ObjavaUnosVM objekat)
 {
     if (ModelState.IsValid)
     {
         Objava obj = db.Objave.Find(objekat.ID);
         if (obj != null)
         {
             try
             {
                 obj.Content      = objekat.Content;
                 obj.Naziv        = objekat.Naziv;
                 obj.DatumIzmjene = DateTime.Now;
                 db.Update(obj);
                 db.SaveChanges();
                 return(Redirect("/Objava/Prikaz/" + obj.ID));
             }
             catch (DbUpdateException er)
             {
                 ModelState.AddModelError("", "Greska prilikom updatea provjerite info" + er.Message);
             }
         }
     }
     return(PartialView(objekat));
 }