コード例 #1
0
ファイル: DomainObject.cs プロジェクト: stankela/gimnastika
 protected virtual void deepCopy(DomainObject domainObject)
 {
     id = domainObject.id;
 }
コード例 #2
0
        protected override void deepCopy(DomainObject domainObject)
        {
            base.deepCopy(domainObject);

            Element element = (Element)domainObject;

            naziv               = element.naziv;
            engleskiNaziv       = element.engleskiNaziv;
            nazivPoGimnasticaru = element.nazivPoGimnasticaru;
            sprava              = element.sprava;
            isTablicniElement   = element.isTablicniElement;
            grupa               = element.grupa;
            tezina              = element.tezina;
            broj      = element.broj;
            podBroj   = element.podBroj;
            grupaBroj = element.grupaBroj;
            //parentId = element.parentId;
            if (shouldClone(new TypeAsocijacijaPair(typeof(Video))))
            {
                foreach (Video v in element.VideoKlipovi)
                {
                    videoKlipovi.Add((Video)v.Clone());
                }
            }
            else
            {
                foreach (Video v in element.VideoKlipovi)
                {
                    videoKlipovi.Add(v);
                }
            }
            if (shouldClone(new TypeAsocijacijaPair(typeof(Slika))))
            {
                foreach (Slika s in element.Slike)
                {
                    slike.Add((Slika)s.Clone());
                }
            }
            else
            {
                foreach (Slika s in element.Slike)
                {
                    slike.Add(s);
                }
            }
            // TODO: Ovo je error prone, zato sto ako kasnije promenim (refaktorisem)
            // ime promenljive 'varijante', kod nece raditi. Vidi da li moze nekako
            // drugacije

            //varijante = new List<Element>();
            if (shouldClone(new TypeAsocijacijaPair(typeof(Element), "varijante")))
            {
                foreach (Element e in element.Varijante)
                {
                    varijante.Add((Element)e.Clone());
                }
            }
            else
            {
                foreach (Element e in element.Varijante)
                {
                    varijante.Add(e);
                }
            }
            parent = element.parent;
            if (parent != null && shouldClone(new TypeAsocijacijaPair(
                                                  typeof(Element), "parent")))
            {
                parent = (Element)element.Clone();
            }
        }