コード例 #1
0
ファイル: ElementForm.cs プロジェクト: stankela/gimnastika
        public ElementForm(Sprava sprava, GrupaElementa grupa)
        {
            InitializeComponent();

            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);
                        this.varijanta = false;
                        this.parent    = null;
                        initUI(sprava == Sprava.Preskok);

                        this.element       = null;
                        this.persistEntity = true;

                        editMode     = false;
                        this.element = new Element();
                        setComboSprava(sprava);
                        setComboGrupa(grupa);

                        cmbSprava.Enabled          = false;
                        chbTablicniElement.Enabled = false;
                        cmbGrupa.Enabled           = false;

                        initHandlers();
                    }
            }
            finally
            {
                // TODO: Dodaj sve catch blokove koji fale (i ovde i u programu za Clanove)
                CurrentSessionContext.Unbind(NHibernateHelper.SessionFactory);
            }
        }
コード例 #2
0
 public TableItemBoundary(int pageNum, Sprava sprava, GrupaElementa grupa, int startBroj)
 {
     this.pageNum   = pageNum;
     this.sprava    = sprava;
     this.grupa     = grupa;
     this.startBroj = startBroj;
 }
コード例 #3
0
        public virtual void restore(Element original)
        {
            naziv               = original.naziv;
            engleskiNaziv       = original.engleskiNaziv;
            nazivPoGimnasticaru = original.nazivPoGimnasticaru;
            sprava              = original.sprava;
            isTablicniElement   = original.isTablicniElement;
            grupa               = original.grupa;
            tezina              = original.tezina;
            broj      = original.broj;
            podBroj   = original.podBroj;
            grupaBroj = original.grupaBroj;
            //parentId = original.parentId;
            parent = original.parent;

            videoKlipovi.Clear();
            foreach (Video v in original.VideoKlipovi)
            {
                dodajVideo((Video)v.Copy());
            }

            slike.Clear();
            foreach (Slika s in original.Slike)
            {
                dodajSliku((Slika)s.Copy());
            }

            varijante.Clear();
            foreach (Element e in original.Varijante)
            {
                dodajVarijantu((Element)e.Copy());
            }
        }
コード例 #4
0
        private List <Element> getSortedElements(Sprava sprava, GrupaElementa grupa, List <Element> elementi)
        {
            List <Element> result = new List <Element>();

            foreach (Element e in elementi)
            {
                if (sprava != Sprava.Undefined)
                {
                    if (e.Sprava != sprava)
                    {
                        continue;
                    }
                }
                if (grupa != GrupaElementa.Undefined)
                {
                    if (e.Grupa != grupa)
                    {
                        continue;
                    }
                }
                if (sprava == Sprava.Undefined && grupa == GrupaElementa.Undefined)
                {
                    // TODO: Ovo je samo za moje debagovanje - da otkrijem da li ikada moze da se desi ova situacija
                    // zato sto u ovom slucaju element biva stavljen u listu result.
                    MessageDialogs.showMessage("Greska u programu", "");
                }
                result.Add(e);
            }

            PropertyDescriptor propDesc =
                TypeDescriptor.GetProperties(typeof(Element))["GrupaBroj"];

            result.Sort(new SortComparer <Element>(propDesc, ListSortDirection.Ascending));
            return(result);
        }
コード例 #5
0
ファイル: Grupa.cs プロジェクト: stankela/gimnastika
 public Grupa(Sprava sprava, GrupaElementa grupa, string naziv, string engNaziv)
 {
     this.sprava = sprava;
     this.grupa = grupa;
     this.naziv = naziv;
     this.engNaziv = engNaziv;
 }
コード例 #6
0
ファイル: Grupa.cs プロジェクト: stankela/gimnastika
 public Grupa(Sprava sprava, GrupaElementa grupa, string naziv, string engNaziv)
 {
     this.sprava   = sprava;
     this.grupa    = grupa;
     this.naziv    = naziv;
     this.engNaziv = engNaziv;
 }
コード例 #7
0
ファイル: ElementForm.cs プロジェクト: stankela/gimnastika
        private void setPolozajUTabliciFromUI()
        {
            GrupaElementa  grupa  = selectedGrupa();
            TezinaElementa tezina = selectedTezina();
            string         broj   = txtBroj.Text;

            element.setPolozajUTablici(grupa, tezina, broj);
        }
コード例 #8
0
        public ElementTableItem getItem(int broj, Sprava s, GrupaElementa g)
        {
            if (broj < 1 || broj > getBrojVrsta(s, g) * 6)
            {
                return(null);
            }

            ElementTableItem[,] items = itemsMap[getElementiKey(s, g)];
            return(items[getRowIndex(broj), getColumnIndex(broj)]);
        }
コード例 #9
0
 public virtual void promeniGrupuBroj(GrupaElementa grupa, int broj)
 {
     if (IsTablicniElement && isVarijanta() == false &&
         (Sprava != Sprava.Parter || grupa != GrupaElementa.V))
     {
         this.changeGrupa(grupa);
         this.changeBroj((short)broj);
         this.changeTezina(getTezina(broj));
     }
 }
コード例 #10
0
 private Grupa findGrupa(Sprava sprava, GrupaElementa grupaElementa)
 {
     foreach (Grupa g in grupe)
     {
         if (g.Sprava == sprava && g.GrupaElemenata == grupaElementa)
         {
             return(g);
         }
     }
     return(null);
 }
コード例 #11
0
 public virtual void changeGrupa(GrupaElementa value)
 {
     Grupa = value;
     if (!isVarijanta())
     {
         foreach (Element e in Varijante)
         {
             e.Grupa = value;
         }
     }
 }
コード例 #12
0
ファイル: ElementForm.cs プロジェクト: stankela/gimnastika
 private void saveOldData(Element element)
 {
     oldSprava              = element.Sprava;
     oldNaziv               = element.Naziv;
     oldEngleskiNaziv       = element.EngleskiNaziv;
     oldNazivPoGimnasticaru = element.NazivPoGimnasticaru;
     oldGrupa               = element.Grupa;
     oldTezina              = element.Tezina;
     oldBroj    = element.Broj;
     oldPodBroj = element.PodBroj;
 }
コード例 #13
0
        public virtual void setPolozajUTablici(GrupaElementa grupa, TezinaElementa tezina,
                                               string broj)
        {
            this.changeGrupa(grupa);
            this.changeTezina(tezina);
            BrojPodBroj       = broj;
            IsTablicniElement = true;

            // TODO: Ispitati zasto nisam postavio nove vrednosti i za varijante (i da
            // li ih treba postaviti)
        }
コード例 #14
0
 public static string ToString(bool isTablicniElement, GrupaElementa grupa,
                               int broj, int podBroj)
 {
     if (!isTablicniElement)
     {
         return(String.Empty);
     }
     else
     {
         return(String.Format("{0} - {1}", grupa, Element.formatBrojPodBroj(broj, podBroj)));
     }
 }
コード例 #15
0
        public virtual int getBrojBodujeSe(GrupaElementa grupaElementa)
        {
            int result = 0;

            foreach (ElementVezbe e in Elementi)
            {
                if (e.BodujeSe && e.Grupa == grupaElementa)
                {
                    result += 1;
                }
            }
            return(result);
        }
コード例 #16
0
ファイル: ElementVezbe.cs プロジェクト: stankela/gimnastika
        public ElementVezbe(string naziv, string engleskiNaziv, bool isTablicniElement,
            GrupaElementa grupa, TezinaElementa tezina, short broj, byte podBroj)
        {
            this.naziv = naziv;
            this.engleskiNaziv = engleskiNaziv;
            this.isTablicniElement = isTablicniElement;
            this.grupa = grupa;
            this.tezina = tezina;
            this.broj = broj;
            this.podBroj = podBroj;

            this.bodujeSe = false;
        }
コード例 #17
0
        public ElementVezbe(string naziv, string engleskiNaziv, bool isTablicniElement,
                            GrupaElementa grupa, TezinaElementa tezina, short broj, byte podBroj)
        {
            this.naziv             = naziv;
            this.engleskiNaziv     = engleskiNaziv;
            this.isTablicniElement = isTablicniElement;
            this.grupa             = grupa;
            this.tezina            = tezina;
            this.broj    = broj;
            this.podBroj = podBroj;

            this.bodujeSe = false;
        }
コード例 #18
0
 public ElementTableItem(Sprava sprava, GrupaElementa grupa, int broj,
     Element element, PointF location, SizeF size, TabelaElemenata tabela)
 {
     this.sprava = sprava;
     this.grupa = grupa;
     this.broj = broj;
     this.element = element;
     this.location = location;
     this.size = size;
     selected = false;
     selectedImage = null;
     this.tabela = tabela;
     cutted = false;
 }
コード例 #19
0
ファイル: ElementForm.cs プロジェクト: stankela/gimnastika
        public ElementForm(Nullable <int> elementId, Sprava sprava, GrupaElementa grupa,
                           int broj, TezinaElementa tezina)
        {
            InitializeComponent();

            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);
                        this.varijanta = false;
                        this.parent    = null;
                        initUI(sprava == Sprava.Preskok);
                        this.persistEntity = true;

                        if (elementId == null)
                        {
                            editMode = false;
                            element  = createNewEntity();
                            setComboSprava(sprava);
                            setComboGrupa(grupa);
                            txtBroj.Text = broj.ToString();
                            setComboTezina(tezina);
                        }
                        else
                        {
                            editMode = true;
                            element  = getEntityById(elementId.Value);
                            saveOldData(element);
                            updateUIFromEntity(element);
                        }

                        // TODO: Za rezim rada gde su comboi onemoguceni, probaj da ih zamenis
                        // sa read-only text boxevima.
                        cmbSprava.Enabled          = false;
                        chbTablicniElement.Enabled = false;
                        cmbGrupa.Enabled           = false;
                        cmbTezina.Enabled          = false;
                        txtBroj.Enabled            = false;

                        initHandlers();
                    }
            }
            finally
            {
                // TODO: Dodaj sve catch blokove koji fale (i ovde i u programu za Clanove)
                CurrentSessionContext.Unbind(NHibernateHelper.SessionFactory);
            }
        }
コード例 #20
0
        public IList <ElementTableItem> getItems(Sprava sprava, GrupaElementa grupa, int from, int to)
        {
            List <ElementTableItem> result = new List <ElementTableItem>();

            ElementTableItem[,] items = itemsMap[getElementiKey(sprava, grupa)];
            foreach (ElementTableItem item in items)
            {
                if (item.Broj >= from && item.Broj <= to)
                {
                    result.Add(item);
                }
            }
            return(result);
        }
コード例 #21
0
 public ElementTableItem(Sprava sprava, GrupaElementa grupa, int broj,
                         Element element, PointF location, SizeF size, TabelaElemenata tabela)
 {
     this.sprava   = sprava;
     this.grupa    = grupa;
     this.broj     = broj;
     this.element  = element;
     this.location = location;
     this.size     = size;
     selected      = false;
     selectedImage = null;
     this.tabela   = tabela;
     cutted        = false;
 }
コード例 #22
0
 public Element(string naziv, string engleskiNaziv, string nazivPoGimnasticaru,
                Sprava sprava)
 {
     this.naziv               = naziv;
     this.engleskiNaziv       = engleskiNaziv;
     this.nazivPoGimnasticaru = nazivPoGimnasticaru;
     this.sprava              = sprava;
     this.isTablicniElement   = false;
     this.grupa               = GrupaElementa.Undefined;
     this.tezina              = TezinaElementa.Undefined;
     this.broj      = 0;
     this.podBroj   = 0;
     this.grupaBroj = new GrupaBrojClass(this);
     this.parent    = null;
 }
コード例 #23
0
 public Element(string naziv, string engleskiNaziv, string nazivPoGimnasticaru,
                Sprava sprava, GrupaElementa grupa, TezinaElementa tezina, short broj,
                byte podBroj)
 {
     this.naziv               = naziv;
     this.engleskiNaziv       = engleskiNaziv;
     this.nazivPoGimnasticaru = nazivPoGimnasticaru;
     this.sprava              = sprava;
     this.isTablicniElement   = true;
     this.grupa               = grupa;
     this.tezina              = tezina;
     this.broj      = broj;
     this.podBroj   = podBroj;
     this.grupaBroj = new GrupaBrojClass(this);
     this.parent    = null;
 }
コード例 #24
0
        public void createItem(int broj, Element element, Sprava sprava, GrupaElementa grupa, bool select)
        {
            if (broj > getBrojVrsta(sprava, grupa) * 6)
            {
                extendItems(broj, sprava, grupa);
            }

            int i = getRowIndex(broj);
            int j = getColumnIndex(broj);
            ElementTableItem item = new ElementTableItem(sprava, grupa,
                                                         broj, element,
                                                         new PointF(j * elementSizePxl.Width, i * elementSizePxl.Height),
                                                         elementSizePxl, this);

            itemsMap[getElementiKey(sprava, grupa)][i, j] = item;
            item.Selected = select;
        }
コード例 #25
0
        public ElementTableItem getItem(PointF tablePt, Sprava s, GrupaElementa g)
        {
            if (tablePt.X < 0 || tablePt.Y < 0)
            {
                return(null);
            }

            int j = (int)Math.Floor((double)tablePt.X / elementSizePxl.Width);
            int i = (int)Math.Floor((double)tablePt.Y / elementSizePxl.Height);

            if (i >= getBrojVrsta(s, g) || j >= 6)
            {
                return(null);
            }

            ElementTableItem[,] items = itemsMap[getElementiKey(s, g)];
            return(items[i, j]);
        }
コード例 #26
0
        public ElementVezbe(string naziv, string engleskiNaziv, bool isTablicniElement,
                            GrupaElementa grupa, TezinaElementa tezina, short broj, byte podBroj,
                            bool bodujeSe, Nullable <float> vezaSaPrethodnim, Nullable <float> zahtev,
                            Nullable <float> odbitak, Nullable <float> penalizacija)
        {
            this.naziv             = naziv;
            this.engleskiNaziv     = engleskiNaziv;
            this.isTablicniElement = isTablicniElement;
            this.grupa             = grupa;
            this.tezina            = tezina;
            this.broj    = broj;
            this.podBroj = podBroj;

            this.bodujeSe         = bodujeSe;
            this.vezaSaPrethodnim = vezaSaPrethodnim;
            this.zahtev           = zahtev;
            this.odbitak          = odbitak;
            this.penalizacija     = penalizacija;
        }
コード例 #27
0
ファイル: ElementVezbe.cs プロジェクト: stankela/gimnastika
        public ElementVezbe(string naziv, string engleskiNaziv, bool isTablicniElement,
            GrupaElementa grupa, TezinaElementa tezina, short broj, byte podBroj,
            bool bodujeSe, Nullable<float> vezaSaPrethodnim, Nullable<float> zahtev,
            Nullable<float> odbitak, Nullable<float> penalizacija)
        {
            this.naziv = naziv;
            this.engleskiNaziv = engleskiNaziv;
            this.isTablicniElement = isTablicniElement;
            this.grupa = grupa;
            this.tezina = tezina;
            this.broj = broj;
            this.podBroj = podBroj;

            this.bodujeSe = bodujeSe;
            this.vezaSaPrethodnim = vezaSaPrethodnim;
            this.zahtev = zahtev;
            this.odbitak = odbitak;
            this.penalizacija = penalizacija;
        }
コード例 #28
0
        private void initUI()
        {
            Text = "Nazivi grupa";

            cmbSprava.Items.Clear();
            cmbSprava.Items.AddRange(Resursi.SpravaNazivTable);
            cmbSprava.SelectedIndex = 0;
            sprava = selectedSprava();

            cmbGrupa.Items.Clear();
            cmbGrupa.Items.AddRange(Resursi.GrupaNazivTable);
            cmbGrupa.SelectedIndex = 0;
            grupaElementa          = selectedGrupa();

            txtNaziv.Text    = "";
            txtEngNaziv.Text = "";

            cmbSprava.SelectedIndexChanged += new EventHandler(cmbSprava_SelectedIndexChanged);
            cmbGrupa.SelectedIndexChanged  += new EventHandler(cmbGrupa_SelectedIndexChanged);
        }
コード例 #29
0
ファイル: ElementForm.cs プロジェクト: stankela/gimnastika
        private void cmbGrupa_DropDown(object sender, EventArgs e)
        {
            GrupaElementa lastGrupa =
                ((GrupaNazivPair)cmbGrupa.Items[cmbGrupa.Items.Count - 1]).Grupa;

            if (selectedSprava() == Sprava.Parter)
            {
                if (lastGrupa == GrupaElementa.V)
                {
                    cmbGrupa.Items.RemoveAt(cmbGrupa.Items.Count - 1);
                }
            }
            else
            {
                if (lastGrupa == GrupaElementa.IV)
                {
                    cmbGrupa.Items.Add(new GrupaNazivPair(GrupaElementa.V, "V"));
                }
            }
        }
コード例 #30
0
        private void createItems(Sprava sprava, GrupaElementa grupa)
        {
            List <Element> elementi = elementiMap[getElementiKey(sprava, grupa)];
            int            brojVrsta;

            if (elementi.Count > 0)
            {
                brojVrsta = (elementi[elementi.Count - 1].Broj - 1) / 6 + 1;
            }
            else
            {
                brojVrsta = 1;
            }
            if (brojVrsta % 4 != 0)
            {
                brojVrsta += 4 - brojVrsta % 4;
            }

            itemsMap[getElementiKey(sprava, grupa)] = new ElementTableItem[brojVrsta, 6];

            int maxBroj   = brojVrsta * 6;
            int elemIndex = 0;

            for (int broj = 1; broj <= maxBroj; broj++)
            {
                Element elem = null;
                if (elemIndex < elementi.Count && elementi[elemIndex].Broj == broj &&
                    !elementi[elemIndex].isVarijanta())
                {
                    elem = elementi[elemIndex++];
                    // preskoci varijante (ako ih slucajno ima)
                    while (elemIndex < elementi.Count &&
                           elementi[elemIndex].isVarijanta())
                    {
                        elemIndex++;
                    }
                }
                createItem(broj, elem, sprava, grupa, false);
            }
        }
コード例 #31
0
        protected override void deepCopy(DomainObject domainObject)
        {
            base.deepCopy(domainObject);

            ElementVezbe ev = (ElementVezbe)domainObject;

            redBroj          = ev.redBroj;
            bodujeSe         = ev.bodujeSe;
            vezaSaPrethodnim = ev.vezaSaPrethodnim;
            zahtev           = ev.zahtev;
            odbitak          = ev.odbitak;
            penalizacija     = ev.penalizacija;


            naziv             = ev.naziv;
            engleskiNaziv     = ev.engleskiNaziv;
            isTablicniElement = ev.isTablicniElement;
            grupa             = ev.grupa;
            tezina            = ev.tezina;
            broj    = ev.broj;
            podBroj = ev.podBroj;
        }
コード例 #32
0
        private void onSelectedEntityChanged()
        {
            bool updated = false;

            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                    using (session.BeginTransaction())
                    {
                        CurrentSessionContext.Bind(session);
                        updated = updateEntityFromUI();
                    }
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.SessionFactory);
            }

            if (updated)
            {
                grupaElementa = selectedGrupa();
                sprava        = selectedSprava();
                if (sprava == Sprava.Parter && selectedGrupa() == GrupaElementa.V)
                {
                    grupaElementa = GrupaElementa.I;
                    disableComboHandlers();
                    setGrupaCombo(grupaElementa);
                    enableComboHandlers();
                }
                showEntityDetails();
            }
            else
            {
                disableComboHandlers();
                setSpravaCombo(sprava);
                setGrupaCombo(grupaElementa);
                enableComboHandlers();
            }
        }
コード例 #33
0
 public virtual bool postojiElement(Sprava sprava, GrupaElementa grupa, short broj, byte podBroj)
 {
     try
     {
         IQuery q = Session.CreateQuery(@"select count(*) from Element e
                                          where e.Sprava = :sprava
                                          and e.Grupa = :grupa
                                          and e.Broj = :broj
                                          and e.PodBroj = :podBroj");
         q.SetByte("sprava", (Byte)sprava);
         q.SetByte("grupa", (Byte)grupa);
         q.SetInt16("broj", broj);
         q.SetByte("podBroj", podBroj);
         return((long)q.UniqueResult() > 0);
     }
     catch (HibernateException ex)
     {
         string message = String.Format(
             "{0} \n\n{1}", Strings.DatabaseAccessExceptionMessage, ex.Message);
         throw new InfrastructureException(message, ex);
     }
 }
コード例 #34
0
        private void extendItems(int broj, Sprava sprava, GrupaElementa grupa)
        {
            int oldBrojVrsta = getBrojVrsta(sprava, grupa);

            if (broj > oldBrojVrsta * 6)
            {
                int newBrojVrsta = (broj - 1) / 6 + 1;
                if (newBrojVrsta % 4 != 0)
                {
                    newBrojVrsta += 4 - newBrojVrsta % 4;
                }
                ElementTableItem[,] newElementItems = new ElementTableItem[newBrojVrsta, 6];
                copyElementItems(newElementItems, itemsMap[getElementiKey(sprava, grupa)], oldBrojVrsta);
                itemsMap[getElementiKey(sprava, grupa)] = newElementItems;

                int from = oldBrojVrsta * 6 + 1;
                int to   = newBrojVrsta * 6;
                for (int k = from; k <= to; k++)
                {
                    createItem(k, null, sprava, grupa, false);
                }
            }
        }
コード例 #35
0
 public ElementTableItem[,] getElementItems(Sprava s, GrupaElementa g)
 {
     return itemsMap[getElementiKey(s, g)];
 }
コード例 #36
0
ファイル: ElementForm.cs プロジェクト: stankela/gimnastika
        public ElementForm(Sprava sprava, GrupaElementa grupa)
        {
            InitializeComponent();

            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                using (session.BeginTransaction())
                {
                    CurrentSessionContext.Bind(session);
                    this.varijanta = false;
                    this.parent = null;
                    initUI(sprava == Sprava.Preskok);

                    this.element = null;
                    this.persistEntity = true;

                    editMode = false;
                    this.element = new Element();
                    setComboSprava(sprava);
                    setComboGrupa(grupa);

                    cmbSprava.Enabled = false;
                    chbTablicniElement.Enabled = false;
                    cmbGrupa.Enabled = false;

                    initHandlers();
                }
            }
            finally
            {
                // TODO: Dodaj sve catch blokove koji fale (i ovde i u programu za Clanove)
                CurrentSessionContext.Unbind(NHibernateHelper.SessionFactory);
            }
        }
コード例 #37
0
        public ElementTableItem getItem(int broj, Sprava s, GrupaElementa g)
        {
            if (broj < 1 || broj > getBrojVrsta(s, g) * 6)
                return null;

            ElementTableItem[,] items = itemsMap[getElementiKey(s, g)];
            return items[getRowIndex(broj), getColumnIndex(broj)];
        }
コード例 #38
0
ファイル: ElementForm.cs プロジェクト: stankela/gimnastika
 public void setComboGrupa(GrupaElementa grupa)
 {
     cmbGrupa.SelectedIndex = grupa - GrupaElementa.I;
 }
コード例 #39
0
ファイル: GrupeForm.cs プロジェクト: stankela/gimnastika
        private void initUI()
        {
            Text = "Nazivi grupa";

            cmbSprava.Items.Clear();
            cmbSprava.Items.AddRange(Resursi.SpravaNazivTable);
            cmbSprava.SelectedIndex = 0;
            sprava = selectedSprava();

            cmbGrupa.Items.Clear();
            cmbGrupa.Items.AddRange(Resursi.GrupaNazivTable);
            cmbGrupa.SelectedIndex = 0;
            grupaElementa = selectedGrupa();

            txtNaziv.Text = "";
            txtEngNaziv.Text = "";

            cmbSprava.SelectedIndexChanged += new EventHandler(cmbSprava_SelectedIndexChanged);
            cmbGrupa.SelectedIndexChanged += new EventHandler(cmbGrupa_SelectedIndexChanged);
        }
コード例 #40
0
        private List<Element> getSortedElements(Sprava sprava, GrupaElementa grupa, List<Element> elementi)
        {
            List<Element> result = new List<Element>();
            foreach (Element e in elementi)
            {
                if (sprava != Sprava.Undefined)
                {
                    if (e.Sprava != sprava)
                        continue;
                }
                if (grupa != GrupaElementa.Undefined)
                {
                    if (e.Grupa != grupa)
                        continue;
                }
                if (sprava == Sprava.Undefined && grupa == GrupaElementa.Undefined)
                {
                    // TODO: Ovo je samo za moje debagovanje - da otkrijem da li ikada moze da se desi ova situacija
                    // zato sto u ovom slucaju element biva stavljen u listu result.
                    MessageDialogs.showMessage("Greska u programu", "");
                }
                result.Add(e);
            }

            PropertyDescriptor propDesc =
                TypeDescriptor.GetProperties(typeof(Element))["GrupaBroj"];
            result.Sort(new SortComparer<Element>(propDesc, ListSortDirection.Ascending));
            return result;
        }
コード例 #41
0
 public IList<ElementTableItem> getItems(Sprava sprava, GrupaElementa grupa, int from, int to)
 {
     List<ElementTableItem> result = new List<ElementTableItem>();
     ElementTableItem[,] items = itemsMap[getElementiKey(sprava, grupa)];
     foreach (ElementTableItem item in items)
     {
         if (item.Broj >= from && item.Broj <= to)
             result.Add(item);
     }
     return result;
 }
コード例 #42
0
ファイル: Vezba.cs プロジェクト: stankela/gimnastika
 public virtual int getBrojBodujeSe(GrupaElementa grupaElementa)
 {
     int result = 0;
     foreach (ElementVezbe e in Elementi)
     {
         if (e.BodujeSe && e.Grupa == grupaElementa)
             result += 1;
     }
     return result;
 }
コード例 #43
0
 public SizeF getTabelaSize(Sprava s, GrupaElementa g)
 {
     return new SizeF(6 * elementSizePxl.Width, getBrojVrsta(s, g) * elementSizePxl.Height);
 }
コード例 #44
0
 public SizeF getScaledTabelaSize(Sprava s, GrupaElementa g, float scale)
 {
     return new SizeF(6 * elementSizePxl.Width * scale, getBrojVrsta(s, g) * elementSizePxl.Height * scale);
 }
コード例 #45
0
        private void extendItems(int broj, Sprava sprava, GrupaElementa grupa)
        {
            int oldBrojVrsta = getBrojVrsta(sprava, grupa);
            if (broj > oldBrojVrsta * 6)
            {
                int newBrojVrsta = (broj - 1) / 6 + 1;
                if (newBrojVrsta % 4 != 0)
                    newBrojVrsta += 4 - newBrojVrsta % 4;
                ElementTableItem[,] newElementItems = new ElementTableItem[newBrojVrsta, 6];
                copyElementItems(newElementItems, itemsMap[getElementiKey(sprava, grupa)], oldBrojVrsta);
                itemsMap[getElementiKey(sprava, grupa)] = newElementItems;

                int from = oldBrojVrsta * 6 + 1;
                int to = newBrojVrsta * 6;
                for (int k = from; k <= to; k++)
                    createItem(k, null, sprava, grupa, false);
            }
        }
コード例 #46
0
 private int getBrojVrsta(Sprava s, GrupaElementa g)
 {
     return itemsMap[getElementiKey(s, g)].Length / 6;
 }
コード例 #47
0
ファイル: GrupeForm.cs プロジェクト: stankela/gimnastika
        private void onSelectedEntityChanged()
        {
            bool updated = false;
            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                using (session.BeginTransaction())
                {
                    CurrentSessionContext.Bind(session);
                    updated = updateEntityFromUI();
                }
            }
            finally
            {
                CurrentSessionContext.Unbind(NHibernateHelper.SessionFactory);
            }

            if (updated)
            {
                grupaElementa = selectedGrupa();
                sprava = selectedSprava();
                if (sprava == Sprava.Parter && selectedGrupa() == GrupaElementa.V)
                {
                    grupaElementa = GrupaElementa.I;
                    disableComboHandlers();
                    setGrupaCombo(grupaElementa);
                    enableComboHandlers();
                }
                showEntityDetails();
            }
            else
            {
                disableComboHandlers();
                setSpravaCombo(sprava);
                setGrupaCombo(grupaElementa);
                enableComboHandlers();
            }
        }
コード例 #48
0
 public ElementTableItem getElementItemAt(Sprava s, GrupaElementa g, int row, int column)
 {
     return itemsMap[getElementiKey(s, g)][row - 1, column - 1];
 }
コード例 #49
0
ファイル: Resursi.cs プロジェクト: stankela/gimnastika
 public GrupaNazivPair(GrupaElementa grupa, string naziv)
 {
     this.grupa = grupa;
     this.naziv = naziv;
 }
コード例 #50
0
ファイル: ElementForm.cs プロジェクト: stankela/gimnastika
        public ElementForm(Nullable<int> elementId, Sprava sprava, GrupaElementa grupa,
            int broj, TezinaElementa tezina)
        {
            InitializeComponent();

            try
            {
                using (ISession session = NHibernateHelper.OpenSession())
                using (session.BeginTransaction())
                {
                    CurrentSessionContext.Bind(session);
                    this.varijanta = false;
                    this.parent = null;
                    initUI(sprava == Sprava.Preskok);
                    this.persistEntity = true;

                    if (elementId == null)
                    {
                        editMode = false;
                        element = createNewEntity();
                        setComboSprava(sprava);
                        setComboGrupa(grupa);
                        txtBroj.Text = broj.ToString();
                        setComboTezina(tezina);

                    }
                    else
                    {
                        editMode = true;
                        element = getEntityById(elementId.Value);
                        saveOldData(element);
                        updateUIFromEntity(element);
                    }

                    // TODO: Za rezim rada gde su comboi onemoguceni, probaj da ih zamenis
                    // sa read-only text boxevima.
                    cmbSprava.Enabled = false;
                    chbTablicniElement.Enabled = false;
                    cmbGrupa.Enabled = false;
                    cmbTezina.Enabled = false;
                    txtBroj.Enabled = false;

                    initHandlers();
                }
            }
            finally
            {
                // TODO: Dodaj sve catch blokove koji fale (i ovde i u programu za Clanove)
                CurrentSessionContext.Unbind(NHibernateHelper.SessionFactory);
            }
        }
コード例 #51
0
ファイル: ElementVezbe.cs プロジェクト: stankela/gimnastika
        protected override void deepCopy(DomainObject domainObject)
        {
            base.deepCopy(domainObject);

            ElementVezbe ev = (ElementVezbe)domainObject;
            redBroj = ev.redBroj;
            bodujeSe = ev.bodujeSe;
            vezaSaPrethodnim = ev.vezaSaPrethodnim;
            zahtev = ev.zahtev;
            odbitak = ev.odbitak;
            penalizacija = ev.penalizacija;

            naziv = ev.naziv;
            engleskiNaziv = ev.engleskiNaziv;
            isTablicniElement = ev.isTablicniElement;
            grupa = ev.grupa;
            tezina = ev.tezina;
            broj = ev.broj;
            podBroj = ev.podBroj;
        }
コード例 #52
0
        public void createItem(int broj, Element element, Sprava sprava, GrupaElementa grupa, bool select)
        {
            if (broj > getBrojVrsta(sprava, grupa) * 6)
                extendItems(broj, sprava, grupa);

            int i = getRowIndex(broj);
            int j = getColumnIndex(broj);
            ElementTableItem item = new ElementTableItem(sprava, grupa,
                broj, element,
                new PointF(j * elementSizePxl.Width, i * elementSizePxl.Height),
                elementSizePxl, this);
            itemsMap[getElementiKey(sprava, grupa)][i, j] = item;
            item.Selected = select;
        }
コード例 #53
0
 public TableItemBoundary(int pageNum, Sprava sprava, GrupaElementa grupa, int startBroj)
 {
     this.pageNum = pageNum;
     this.sprava = sprava;
     this.grupa = grupa;
     this.startBroj = startBroj;
 }
コード例 #54
0
ファイル: ElementForm.cs プロジェクト: stankela/gimnastika
 private void saveOldData(Element element)
 {
     oldSprava = element.Sprava;
     oldNaziv = element.Naziv;
     oldEngleskiNaziv = element.EngleskiNaziv;
     oldNazivPoGimnasticaru = element.NazivPoGimnasticaru;
     oldGrupa = element.Grupa;
     oldTezina = element.Tezina;
     oldBroj = element.Broj;
     oldPodBroj = element.PodBroj;
 }
コード例 #55
0
        public ElementTableItem getItem(PointF tablePt, Sprava s, GrupaElementa g)
        {
            if (tablePt.X < 0 || tablePt.Y < 0)
                return null;

            int j = (int)Math.Floor((double)tablePt.X / elementSizePxl.Width);
            int i = (int)Math.Floor((double)tablePt.Y / elementSizePxl.Height);

            if (i >= getBrojVrsta(s, g) || j >= 6)
                return null;

            ElementTableItem[,] items = itemsMap[getElementiKey(s, g)];
            return items[i, j];
        }
コード例 #56
0
ファイル: GrupeForm.cs プロジェクト: stankela/gimnastika
 private void setGrupaCombo(GrupaElementa grupaElementa)
 {
     cmbSprava.SelectedIndex = grupaElementa - GrupaElementa.I;
 }
コード例 #57
0
 private int getElementiKey(Sprava sprava, GrupaElementa grupa)
 {
     return (int)sprava * ((int)GrupaElementa.Max + 1) + (int)grupa;
 }
コード例 #58
0
        private void createItems(Sprava sprava, GrupaElementa grupa)
        {
            List<Element> elementi = elementiMap[getElementiKey(sprava, grupa)];
            int brojVrsta;
            if (elementi.Count > 0)
                brojVrsta = (elementi[elementi.Count - 1].Broj - 1) / 6 + 1;
            else
                brojVrsta = 1;
            if (brojVrsta % 4 != 0)
                brojVrsta += 4 - brojVrsta % 4;

            itemsMap[getElementiKey(sprava, grupa)] = new ElementTableItem[brojVrsta, 6];

            int maxBroj = brojVrsta * 6;
            int elemIndex = 0;
            for (int broj = 1; broj <= maxBroj; broj++)
            {
                Element elem = null;
                if (elemIndex < elementi.Count && elementi[elemIndex].Broj == broj
                && !elementi[elemIndex].isVarijanta())
                {
                    elem = elementi[elemIndex++];
                    // preskoci varijante (ako ih slucajno ima)
                    while (elemIndex < elementi.Count
                    && elementi[elemIndex].isVarijanta())
                        elemIndex++;
                }
                createItem(broj, elem, sprava, grupa, false);
            }
        }
コード例 #59
0
 private Grupa findGrupa(Sprava sprava, GrupaElementa grupaElementa)
 {
     if (grupe == null)
         return null;
     foreach (Grupa g in grupe)
     {
         if (g.Sprava == sprava && g.GrupaElemenata == grupaElementa)
             return g;
     }
     return null;
 }