public virtual void dump(StringBuilder strBuilder)
 {
     strBuilder.AppendLine(Id.ToString());
     strBuilder.AppendLine(RedBroj.ToString());
     strBuilder.AppendLine(Gimnastika.ToString());
     strBuilder.AppendLine(ImaEkipnoTakmicenje.ToString());
     strBuilder.AppendLine(KombinovanoEkipnoTak.ToString());
     strBuilder.AppendLine(Takmicenje != null ? Takmicenje.Id.ToString() : NULL);
     strBuilder.AppendLine(Kategorija != null ? Kategorija.Id.ToString() : NULL);
     strBuilder.AppendLine(TakmicenjeDescription != null ? TakmicenjeDescription.Id.ToString() : NULL);
     if (Propozicije == null)
     {
         strBuilder.AppendLine(NULL);
     }
     else
     {
         Propozicije.dump(strBuilder);
     }
     if (Takmicenje1 == null)
     {
         strBuilder.AppendLine(NULL);
     }
     else
     {
         Takmicenje1.dump(strBuilder);
     }
     if (Takmicenje2 == null)
     {
         strBuilder.AppendLine(NULL);
     }
     else
     {
         Takmicenje2.dump(strBuilder);
     }
     if (Takmicenje3 == null)
     {
         strBuilder.AppendLine(NULL);
     }
     else
     {
         Takmicenje3.dump(strBuilder);
     }
     if (Takmicenje4 == null)
     {
         strBuilder.AppendLine(NULL);
     }
     else
     {
         Takmicenje4.dump(strBuilder);
     }
 }
        public RezultatskoTakmicenje(Takmicenje takmicenje, TakmicarskaKategorija
                                     kategorija, RezultatskoTakmicenjeDescription desc, Propozicije propozicije)
        {
            this.takmicenje  = takmicenje;
            this.kategorija  = kategorija;
            this.description = desc;
            this.propozicije = propozicije;
            this.gimnastika  = takmicenje.Gimnastika;

            Takmicenje1 = new Takmicenje1(takmicenje);
            Takmicenje2 = new Takmicenje2();
            Takmicenje3 = new Takmicenje3(Gimnastika);
            Takmicenje4 = new Takmicenje4();
        }
        public RezultatskoTakmicenje(Takmicenje takmicenje, TakmicarskaKategorija
            kategorija, RezultatskoTakmicenjeDescription desc, Propozicije propozicije)
        {
            this.takmicenje = takmicenje;
            this.kategorija = kategorija;
            this.description = desc;
            this.propozicije = propozicije;
            this.gimnastika = takmicenje.Gimnastika;

            _takmicenje1 = new Takmicenje1(takmicenje.Gimnastika);
            if (propozicije.PostojiTak2)
                _takmicenje2 = new Takmicenje2();
            if (propozicije.PostojiTak3)
                _takmicenje3 = new Takmicenje3(takmicenje.Gimnastika);
            if (propozicije.PostojiTak4)
                _takmicenje4 = new Takmicenje4();
        }
        public virtual void loadFromDump(StringReader reader, IdMap map)
        {
            RedBroj              = byte.Parse(reader.ReadLine());
            Gimnastika           = (Gimnastika)Enum.Parse(typeof(Gimnastika), reader.ReadLine());
            ImaEkipnoTakmicenje  = bool.Parse(reader.ReadLine());
            KombinovanoEkipnoTak = bool.Parse(reader.ReadLine());

            Takmicenje            = map.takmicenjeMap[int.Parse(reader.ReadLine())];
            Kategorija            = map.kategorijeMap[int.Parse(reader.ReadLine())];
            TakmicenjeDescription = map.descriptionsMap[int.Parse(reader.ReadLine())];

            string      id = reader.ReadLine();
            Propozicije p  = null;

            if (id != NULL)
            {
                p = new Propozicije();
                p.loadFromDump(reader);
            }
            Propozicije = p;

            id = reader.ReadLine();
            Takmicenje1 t1 = null;

            if (id != NULL)
            {
                t1 = new Takmicenje1();
                t1.loadFromDump(reader, map);
            }
            Takmicenje1 = t1;

            id = reader.ReadLine();
            Takmicenje2 t2 = null;

            if (id != NULL)
            {
                t2 = new Takmicenje2();
                t2.loadFromDump(reader, map);
            }
            Takmicenje2 = t2;

            id = reader.ReadLine();
            Takmicenje3 t3 = null;

            if (id != NULL)
            {
                t3 = new Takmicenje3();
                t3.loadFromDump(reader, map);
            }
            Takmicenje3 = t3;

            id = reader.ReadLine();
            Takmicenje4 t4 = null;

            if (id != NULL)
            {
                t4 = new Takmicenje4();
                t4.loadFromDump(reader, map);
            }
            Takmicenje4 = t4;
        }
        public virtual void updateTakmicenjaFromChangedPropozicije(
            out bool deletedTak2, out bool deletedTak3, out bool deletedTak4)
        {
            deletedTak2 = deletedTak3 = deletedTak4 = false;

            if (Propozicije.PostojiTak2 != (Takmicenje2 != null))
            {
                if (Takmicenje2 != null)
                {
                    // postojalo je takmicenje II, ali je u novim propozicijama
                    // PostojiTak2 postavljeno na false
                    Takmicenje2 = null;
                    deletedTak2 = true;
                }
                else
                {
                    // nije postojalo takmicenje II, a u novim propozicijama je
                    // PostojiTak2 postavljeno na true
                    Takmicenje2 = new Takmicenje2();
                }
            }
            if (Propozicije.PostojiTak3 != (Takmicenje3 != null))
            {
                if (Takmicenje3 != null)
                {
                    Takmicenje3 = null;
                    deletedTak3 = true;
                }
                else
                {
                    Takmicenje3 = new Takmicenje3(this.Gimnastika);
                }
            }
            if (Propozicije.PostojiTak4 != (Takmicenje4 != null))
            {
                if (Takmicenje4 != null)
                {
                    Takmicenje4 = null;
                    deletedTak4 = true;
                }
                else
                {
                    Takmicenje4 = new Takmicenje4();
                }
            }
        }