Esempio n. 1
0
        public IActionResult Prijava(int takmID)
        {
            Takmicenje takm = db.Takmicenja.Where(t => t.ID == takmID).Include(t => t.Vrsta).SingleOrDefault();

            if (takm == null)
            {
                return(View("Neuspjeh"));
            }
            TakmicenjePrijavaVM tp = new TakmicenjePrijavaVM
            {
                takmicenjeID = takmID,
                isTim        = true
            };

            if (takm.Vrsta.Naziv == "Single")
            {
                tp.isTim = false;
            }

            ViewBag.igraci = db.Igraci.Where(i => i.ELO >= takm.MinimalniELO).Select(i => new ComboBoxVM {
                ID = i.ID, Opis = i.PrikaznoIme
            }).ToList();

            return(View(tp));
        }
Esempio n. 2
0
        private void KreirajPrijavuIgrac(TakmicenjePrijavaVM prijava, int id)
        {
            Prijava_igrac prijava_Igrac1 = new Prijava_igrac
            {
                IgracID   = prijava.Igrac1ID ?? default(int),
                PrijavaID = id
            };

            db.Add(prijava_Igrac1);

            if (prijava.isTim)
            {
                Prijava_igrac prijava_Igrac2 = new Prijava_igrac
                {
                    IgracID   = prijava.Igrac2ID ?? default(int),
                    PrijavaID = id
                };
                db.Add(prijava_Igrac2);
            }
            db.SaveChanges();
        }
Esempio n. 3
0
        public IActionResult Prijava(TakmicenjePrijavaVM prijava)
        {
            if (ModelState.IsValid)
            {
                Prijava_igrac pi = db.PrijaveIgraci.Where(p => p.Prijava.TakmicenjeID == prijava.takmicenjeID && p.IgracID == prijava.Igrac1ID).SingleOrDefault();
                if (pi != null)
                {
                    ModelState.AddModelError(nameof(prijava.Igrac1ID), "Igrač je već prijavljen na takmičenje.");
                }

                if (prijava.Igrac1ID == null)
                {
                    ModelState.AddModelError(nameof(prijava.Igrac1ID), "Polje igrač1 je obavezno.");
                }

                if (prijava.isTim)
                {
                    Prijava_igrac pi2 = db.PrijaveIgraci.Where(p => p.Prijava.TakmicenjeID == prijava.takmicenjeID && p.IgracID == prijava.Igrac2ID).SingleOrDefault();
                    if (pi2 != null)
                    {
                        ModelState.AddModelError(nameof(prijava.Igrac2ID), "Igrač je već prijavljen na takmičenje.");
                    }
                    if (prijava.Naziv == null)
                    {
                        ModelState.AddModelError(nameof(prijava.Naziv), "Polje naziv je obavezno.");
                    }
                    if (prijava.Igrac2ID == null)
                    {
                        ModelState.AddModelError(nameof(prijava.Igrac2ID), "Polje igrač2 je obavezno.");
                    }
                    if (db.BlokListe.Where(x => x.IgracID == prijava.Igrac2ID && x.TakmicenjeID == prijava.takmicenjeID).SingleOrDefault() != null)
                    {
                        ModelState.AddModelError(nameof(prijava.Igrac2ID), "Ovaj igrač je blokiran na ovom takmičenju.");
                    }
                }

                if (prijava.Igrac1ID == prijava.Igrac2ID && prijava.Igrac2ID != null)
                {
                    ModelState.AddModelError(nameof(prijava.Igrac2ID), "Ne možete dodati istog igrača kao saigrača.");
                }

                if (db.BlokListe.Where(x => x.IgracID == prijava.Igrac1ID && x.TakmicenjeID == prijava.takmicenjeID).SingleOrDefault() != null)
                {
                    ModelState.AddModelError(nameof(prijava.Igrac1ID), "Blokirani ste na ovom takmičenju.");
                }

                if (ModelState.ErrorCount == 0)
                {
                    Prijava nova = new Prijava
                    {
                        DatumPrijave = DateTime.Now,
                        TakmicenjeID = prijava.takmicenjeID,
                        isTim        = prijava.isTim,
                        Naziv        = prijava.Naziv
                    };
                    nova.StanjePrijave = new Stanje_Prijave(nova.ID);
                    if (!prijava.isTim)
                    {
                        nova.Naziv = db.Igraci.Find(prijava.Igrac1ID).PrikaznoIme;
                    }

                    if (PostojiLiPrijava(nova.Naziv, prijava.takmicenjeID))
                    {
                        ModelState.AddModelError(nameof(prijava.Naziv), "Ime je zauzeto.");
                        LoadViewBagPrijava(prijava.takmicenjeID);
                        return(View(prijava));
                    }
                    db.Takmicenja.Find(prijava.takmicenjeID).Prijave.Add(nova);
                    db.SaveChanges();
                    KreirajPrijavuIgrac(prijava, nova.ID);

                    return(Redirect("/Takmicenje/UspjesnaPrijava"));
                }
            }
            LoadViewBagPrijava(prijava.takmicenjeID);

            return(View(prijava));
        }