예제 #1
0
        protected override void deepCopy(DomainObject domainObject)
        {
            base.deepCopy(domainObject);

            Vezba vezba = (Vezba)domainObject;

            naziv        = vezba.naziv;
            sprava       = vezba.sprava;
            odbitak      = vezba.odbitak;
            penalizacija = vezba.penalizacija;
            gimnasticar  = vezba.gimnasticar;
            if (gimnasticar != null && shouldClone(new TypeAsocijacijaPair(typeof(Gimnasticar))))
            {
                gimnasticar = (Gimnasticar)gimnasticar.Clone();
            }
            pravilo = vezba.pravilo;
            if (pravilo != null && shouldClone(new TypeAsocijacijaPair(typeof(PraviloOceneVezbe))))
            {
                pravilo = (PraviloOceneVezbe)pravilo.Clone();
            }
            if (shouldClone(new TypeAsocijacijaPair(typeof(ElementVezbe))))
            {
                foreach (ElementVezbe ev in vezba.elementi)
                {
                    elementi.Add((ElementVezbe)ev.Clone());
                }
            }
            else
            {
                foreach (ElementVezbe ev in vezba.elementi)
                {
                    elementi.Add(ev);
                }
            }
        }
예제 #2
0
 public VezbaTabela(PointF tableHeaderTopLeft, float tableWidth,
     Graphics g, int numEmptyRows, Vezba vezba)
     : this(tableHeaderTopLeft, tableWidth, RED_BROJ_WIDTH,
         NAZIV_ELEMENATA_WIDTH, TEZINA_WIDTH, GRUPA_BROJ_WIDTH, VREDNOST_WIDTH,
         VEZA_SA_PRETHODNIM_WIDTH, ZAHTEV_WIDTH, ODBITAK_WIDTH,
         PENALIZACIJA_WIDTH, g, numEmptyRows, vezba)
 {
 }
예제 #3
0
 public virtual void restore(Vezba original)
 {
     // TODO: Kod restore operacija bi trebalo kao parametar da se prosledjuju
     // i tipovi, da se zna koliko duboko treba vrsiti kloniranje
     sprava       = original.sprava;
     naziv        = original.naziv;
     odbitak      = original.odbitak;
     penalizacija = original.penalizacija;
     gimnasticar  = original.gimnasticar;
     pravilo      = original.pravilo;
     UkloniElemente();
     foreach (ElementVezbe e in original.elementi)
     {
         DodajElement((ElementVezbe)e.Copy());
     }
 }
예제 #4
0
        public VezbaTabela(PointF tableHeaderTopLeft, float tableWidth,
            int redBrojWidth, int nazivElementaWidth, int tezinaWidth,
            int grupaBrojWidth, int vrednostWidth, int vezaSaPrethodnimWidth,
            int zahtevWidth, int odbitakWidth, int penalizacijaWidth,
            Graphics g, int numEmptyRows, Vezba vezba)
        {
            this.tableHeaderTopLeft = tableHeaderTopLeft;
            this.tableWidth = tableWidth;
            initXOffsets(tableWidth, redBrojWidth, nazivElementaWidth, tezinaWidth,
                grupaBrojWidth, vrednostWidth, vezaSaPrethodnimWidth, zahtevWidth,
                odbitakWidth, penalizacijaWidth);

            this.vezba = vezba;
            this.numEmptyRows = numEmptyRows;

            createFonts();

            tableHeaderHeight = 2 * tableHeaderFont.GetHeight(g) * 1.2f;
            tableItemHeight = tableHeaderFont.GetHeight(g) * 1.4f;
            calculateElementRowHeights(g);

            if (vezba.Elementi.Count > 0)
            {
                int lastElementRow = vezba.Elementi.Count - 1;
                footerTop = getElementRowTop(lastElementRow) +
                    getElementRowHeight(lastElementRow) + tableItemHeight * numEmptyRows;
            }
            else
            {
                footerTop = tableHeaderTopLeft.Y + tableHeaderHeight +
                    tableItemHeight * numEmptyRows;
            }
            ukupnoRowHeight = ukupnoCaptionFont.GetHeight(g) * 1.2f;
            pocetnaOcenaRowHeight = pocetnaOcenaCaptionFont.GetHeight(g) * 1.2f;
            izvedbaRowHeight = footerFontBold.GetHeight(g) * 1.2f;
        }
예제 #5
0
 private void saveOrigData(Vezba v)
 {
     oldSprava = v.Sprava;
     oldNaziv = v.Naziv;
     oldGimnasticar = v.Gimnasticar;
 }
예제 #6
0
        public void initialize()
        {
            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                using (session.BeginTransaction())
                {
                    CurrentSessionContext.Bind(session);
                    if (vezbaId == null)
                    {
                        OsnovniPodaciVezbeForm f = new OsnovniPodaciVezbeForm();
                        if (f.ShowDialog() == DialogResult.OK)
                        {
                            vezba = new Vezba();
                            vezba.Gimnasticar = f.Gimnasticar;
                            vezba.Sprava = f.Sprava;
                            vezba.Pravilo = f.Pravilo;
                            vezba.Naziv = f.Naziv;

                            view.Vezba = vezba;
                            view.updateUI();

                            existsInDatabase = false;
                            modified = false;
                            view.setCaption(getCaption());
                            view.Initialized = true;
                        }
                        else
                        {
                            view.Initialized = false;
                        }
                    }
                    else
                    {
                        vezba = DAOFactoryFactory.DAOFactory.GetVezbaDAO().FindById(vezbaId.Value);
                        vezba.sortirajElementeByRedBroj();
                        saveOrigData(vezba);
                        view.Vezba = vezba;
                        view.updateUI();

                        existsInDatabase = true;
                        modified = false;
                        view.setCaption(getCaption());
                        if (vezba.Elementi.Count > 0)
                            view.selectElementCell(1, 0);

                        view.Initialized = true;
                        // TODO: Treba hvatati database izuzetke i postaviti initalized na false
                    }
                }
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.SessionFactory);
            }
        }
예제 #7
0
 public virtual void restore(Vezba original)
 {
     // TODO: Kod restore operacija bi trebalo kao parametar da se prosledjuju
     // i tipovi, da se zna koliko duboko treba vrsiti kloniranje
     sprava = original.sprava;
     naziv = original.naziv;
     odbitak = original.odbitak;
     penalizacija = original.penalizacija;
     gimnasticar = original.gimnasticar;
     pravilo = original.pravilo;
     UkloniElemente();
     foreach (ElementVezbe e in original.elementi)
     {
         DodajElement((ElementVezbe)e.Copy());
     }
 }