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); } }
public TableItemBoundary(int pageNum, Sprava sprava, GrupaElementa grupa, int startBroj) { this.pageNum = pageNum; this.sprava = sprava; this.grupa = grupa; this.startBroj = startBroj; }
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()); } }
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); }
public Grupa(Sprava sprava, GrupaElementa grupa, string naziv, string engNaziv) { this.sprava = sprava; this.grupa = grupa; this.naziv = naziv; this.engNaziv = engNaziv; }
private void setPolozajUTabliciFromUI() { GrupaElementa grupa = selectedGrupa(); TezinaElementa tezina = selectedTezina(); string broj = txtBroj.Text; element.setPolozajUTablici(grupa, tezina, broj); }
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)]); }
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)); } }
private Grupa findGrupa(Sprava sprava, GrupaElementa grupaElementa) { foreach (Grupa g in grupe) { if (g.Sprava == sprava && g.GrupaElemenata == grupaElementa) { return(g); } } return(null); }
public virtual void changeGrupa(GrupaElementa value) { Grupa = value; if (!isVarijanta()) { foreach (Element e in Varijante) { e.Grupa = value; } } }
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; }
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) }
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))); } }
public virtual int getBrojBodujeSe(GrupaElementa grupaElementa) { int result = 0; foreach (ElementVezbe e in Elementi) { if (e.BodujeSe && e.Grupa == grupaElementa) { result += 1; } } return(result); }
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; }
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; }
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); } }
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); }
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; }
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; }
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; }
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]); }
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; }
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; }
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); }
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")); } } }
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); } }
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; }
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(); } }
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); } }
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); } } }
public ElementTableItem[,] getElementItems(Sprava s, GrupaElementa g) { return itemsMap[getElementiKey(s, g)]; }
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)]; }
public void setComboGrupa(GrupaElementa grupa) { cmbGrupa.SelectedIndex = grupa - GrupaElementa.I; }
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; }
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; }
public virtual int getBrojBodujeSe(GrupaElementa grupaElementa) { int result = 0; foreach (ElementVezbe e in Elementi) { if (e.BodujeSe && e.Grupa == grupaElementa) result += 1; } return result; }
public SizeF getTabelaSize(Sprava s, GrupaElementa g) { return new SizeF(6 * elementSizePxl.Width, getBrojVrsta(s, g) * elementSizePxl.Height); }
public SizeF getScaledTabelaSize(Sprava s, GrupaElementa g, float scale) { return new SizeF(6 * elementSizePxl.Width * scale, getBrojVrsta(s, g) * elementSizePxl.Height * scale); }
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); } }
private int getBrojVrsta(Sprava s, GrupaElementa g) { return itemsMap[getElementiKey(s, g)].Length / 6; }
public ElementTableItem getElementItemAt(Sprava s, GrupaElementa g, int row, int column) { return itemsMap[getElementiKey(s, g)][row - 1, column - 1]; }
public GrupaNazivPair(GrupaElementa grupa, string naziv) { this.grupa = grupa; this.naziv = naziv; }
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); } }
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; }
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]; }
private void setGrupaCombo(GrupaElementa grupaElementa) { cmbSprava.SelectedIndex = grupaElementa - GrupaElementa.I; }
private int getElementiKey(Sprava sprava, GrupaElementa grupa) { return (int)sprava * ((int)GrupaElementa.Max + 1) + (int)grupa; }
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); } }
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; }