示例#1
0
        public virtual void loadFromDump(StringReader reader, IdMap map)
        {
            int count = int.Parse(reader.ReadLine());

            for (int i = 0; i < count; ++i)
            {
                reader.ReadLine();  // id
                UcesnikTakmicenja3 u = new UcesnikTakmicenja3();
                u.loadFromDump(reader, map);
                Ucesnici.Add(u);
            }

            count = int.Parse(reader.ReadLine());
            for (int i = 0; i < count; ++i)
            {
                reader.ReadLine();  // id
                PoredakSprava p = new PoredakSprava();
                p.loadFromDump(reader, map);
                Poredak.Add(p);
            }

            string         id = reader.ReadLine();
            PoredakPreskok p2 = null;

            if (id != NULL)
            {
                p2 = new PoredakPreskok();
                p2.loadFromDump(reader, map);
            }
            PoredakPreskok = p2;
        }
示例#2
0
        public virtual bool moveKvalifikantDown(UcesnikTakmicenja3 u, Sprava sprava)
        {
            if (getUcesnikKvalifikant(u.Gimnasticar, sprava) == null)
            {
                return(false);
            }

            IList <UcesnikTakmicenja3> kvalifikanti = getUcesniciKvalifikanti(sprava);

            if (u.QualOrder == kvalifikanti.Count)
            {
                return(false);
            }

            foreach (UcesnikTakmicenja3 u2 in kvalifikanti)
            {
                if (u2.QualOrder == u.QualOrder + 1)
                {
                    u2.QualOrder--;
                    break;
                }
            }
            u.QualOrder++;
            return(true);
        }
示例#3
0
        private UcesnikTakmicenja3 addUcesnik(GimnasticarUcesnik gimnasticar, Sprava sprava,
                                              Nullable <float> qualScore, Nullable <short> qualRank, KvalifikacioniStatus kvalStatus, short qualOrder)
        {
            UcesnikTakmicenja3 u = new UcesnikTakmicenja3(gimnasticar, sprava, qualOrder, qualScore, qualRank, kvalStatus);

            Ucesnici.Add(u);
            return(u);
        }
示例#4
0
        public virtual UcesnikTakmicenja3 addKvalifikant(GimnasticarUcesnik gimnasticar, Sprava sprava,
            Nullable<float> qualScore, Nullable<short> qualRank)
        {
            if (getUcesnikKvalifikant(gimnasticar, sprava) != null)
                return null;

            short qualOrder = (short)(getUcesniciKvalifikanti(sprava).Count + 1);
            UcesnikTakmicenja3 u = new UcesnikTakmicenja3(gimnasticar, sprava,
                        qualOrder, qualScore, qualRank, KvalifikacioniStatus.Q);
            Ucesnici.Add(u);
            return u;
        }
示例#5
0
        public virtual void removeKvalifikant(GimnasticarUcesnik gimnasticar, Sprava sprava)
        {
            UcesnikTakmicenja3 kvalifikant = getUcesnikKvalifikant(gimnasticar, sprava);

            if (kvalifikant != null)
            {
                foreach (UcesnikTakmicenja3 u in getUcesniciKvalifikanti(sprava))
                {
                    if (u.QualOrder > kvalifikant.QualOrder)
                    {
                        u.QualOrder--;
                    }
                }
                Ucesnici.Remove(kvalifikant);
            }
        }
示例#6
0
        public virtual bool moveKvalifikantUp(UcesnikTakmicenja3 u, Sprava sprava)
        {
            if (getUcesnikKvalifikant(u.Gimnasticar, sprava) == null)
            {
                return(false);
            }
            if (u.QualOrder == 1)
            {
                return(false);
            }

            foreach (UcesnikTakmicenja3 u2 in getUcesniciKvalifikanti(sprava))
            {
                if (u2.QualOrder == u.QualOrder - 1)
                {
                    u2.QualOrder++;
                    break;
                }
            }
            u.QualOrder--;
            return(true);
        }
示例#7
0
 public virtual void removeUcesnik(UcesnikTakmicenja3 u)
 {
     Ucesnici.Remove(u);
 }
示例#8
0
 public virtual void addUcesnik(UcesnikTakmicenja3 u)
 {
     Ucesnici.Add(u);
 }
示例#9
0
        public virtual void createUcesnici(Takmicenje1 takmicenje1, bool obaPreskoka)
        {
            clearUcesnici();

            int qualOrder;
            int rezOrder;
            PropertyDescriptor propDesc;
            foreach (PoredakSprava p in takmicenje1.PoredakSprava)
            {
                List<RezultatSprava> rezultati = new List<RezultatSprava>(p.Rezultati);
                propDesc = TypeDescriptor.GetProperties(typeof(RezultatSprava))["RedBroj"];
                rezultati.Sort(new SortComparer<RezultatSprava>(propDesc,
                    ListSortDirection.Ascending));

                qualOrder = 0;
                foreach (RezultatSprava rez in rezultati)
                {
                    if (rez.KvalStatus == KvalifikacioniStatus.Q)
                    {
                        UcesnikTakmicenja3 u = new UcesnikTakmicenja3(
                            rez.Gimnasticar, p.Sprava, (short)(++qualOrder), rez.Total,
                            rez.Rank, rez.KvalStatus);
                        addUcesnik(u);
                    }
                }
                rezOrder = 0;
                foreach (RezultatSprava rez in rezultati)
                {
                    if (rez.KvalStatus == KvalifikacioniStatus.R)
                    {
                        UcesnikTakmicenja3 u = new UcesnikTakmicenja3(
                            rez.Gimnasticar, p.Sprava, (short)(qualOrder + (++rezOrder)), rez.Total,
                            rez.Rank, rez.KvalStatus);
                        addUcesnik(u);
                    }
                }
            }

            List<RezultatPreskok> rezultatiPreskok = new List<RezultatPreskok>(
                takmicenje1.PoredakPreskok.Rezultati);

            string propName = obaPreskoka ? "RedBroj2" : "RedBroj";
            propDesc = TypeDescriptor.GetProperties(typeof(RezultatPreskok))[propName];
            rezultatiPreskok.Sort(new SortComparer<RezultatPreskok>(propDesc,
                ListSortDirection.Ascending));

            qualOrder = 0;
            foreach (RezultatPreskok rez in rezultatiPreskok)
            {
                if (rez.KvalStatus == KvalifikacioniStatus.Q)
                {
                    Nullable<float> qualScore = obaPreskoka ? rez.TotalObeOcene : rez.Total;
                    short qualRank = obaPreskoka ? rez.Rank2.Value : rez.Rank.Value;
                    UcesnikTakmicenja3 u = new UcesnikTakmicenja3(
                        rez.Gimnasticar, Sprava.Preskok, (short)(++qualOrder),
                        qualScore, qualRank, rez.KvalStatus);
                    addUcesnik(u);
                }
            }
            rezOrder = 0;
            foreach (RezultatPreskok rez in rezultatiPreskok)
            {
                if (rez.KvalStatus == KvalifikacioniStatus.R)
                {
                    Nullable<float> qualScore = obaPreskoka ? rez.TotalObeOcene : rez.Total;
                    short qualRank = obaPreskoka ? rez.Rank2.Value : rez.Rank.Value;
                    UcesnikTakmicenja3 u = new UcesnikTakmicenja3(
                        rez.Gimnasticar, Sprava.Preskok, (short)(qualOrder + (++rezOrder)),
                        qualScore, qualRank, rez.KvalStatus);
                    addUcesnik(u);
                }
            }
        }
示例#10
0
 public virtual void addUcesnik(UcesnikTakmicenja3 u)
 {
     Ucesnici.Add(u);
 }
示例#11
0
 public virtual void removeUcesnik(UcesnikTakmicenja3 u)
 {
     Ucesnici.Remove(u);
 }
示例#12
0
        public virtual bool moveKvalifikantUp(UcesnikTakmicenja3 u, Sprava sprava)
        {
            if (getUcesnikKvalifikant(u.Gimnasticar, sprava) == null)
                return false;
            if (u.QualOrder == 1)
                return false;

            foreach (UcesnikTakmicenja3 u2 in getUcesniciKvalifikanti(sprava))
            {
                if (u2.QualOrder == u.QualOrder - 1)
                {
                    u2.QualOrder++;
                    break;
                }
            }
            u.QualOrder--;
            return true;
        }
示例#13
0
        public virtual bool moveKvalifikantDown(UcesnikTakmicenja3 u, Sprava sprava)
        {
            if (getUcesnikKvalifikant(u.Gimnasticar, sprava) == null)
                return false;

            IList<UcesnikTakmicenja3> kvalifikanti = getUcesniciKvalifikanti(sprava);
            if (u.QualOrder == kvalifikanti.Count)
                return false;

            foreach (UcesnikTakmicenja3 u2 in kvalifikanti)
            {
                if (u2.QualOrder == u.QualOrder + 1)
                {
                    u2.QualOrder--;
                    break;
                }
            }
            u.QualOrder++;
            return true;
        }
 private bool contains(List<UcesnikTakmicenja3> list, UcesnikTakmicenja3 t)
 {
     foreach (UcesnikTakmicenja3 t2 in list)
     {
         if (t2.Gimnasticar.Id == t.Gimnasticar.Id)
             return true;
     }
     return false;
 }