예제 #1
0
        protected override void updateUIFromEntity(DomainObject entity)
        {
            GimnasticarUcesnik gimnasticar = (GimnasticarUcesnik)entity;

            txtIme.Text        = gimnasticar.Ime;
            txtSrednjeIme.Text = gimnasticar.SrednjeIme;
            txtPrezime.Text    = gimnasticar.Prezime;

            txtDatumRodj.Text = String.Empty;
            if (gimnasticar.DatumRodjenja != null)
            {
                txtDatumRodj.Text = gimnasticar.DatumRodjenja.ToString("d");
            }

            SelectedKlub          = gimnasticar.KlubUcesnik;
            SelectedDrzava        = gimnasticar.DrzavaUcesnik;
            txtTakKategorija.Text = kategorija.ToString();

            IList <RezultatskoTakmicenje> rezTakmicenja
                = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO().FindByGimnasticar(gimnasticar);

            foreach (RezultatskoTakmicenje rt in rezTakmicenja)
            {
                lstTakmicenja.Items.Add(rt.Naziv);
            }

            rbtDrzava.Checked = gimnasticar.NastupaZaDrzavu;
        }
예제 #2
0
        private static GimnasticarUcesnik createGimnasticarUcesnik(string ime, string srednjeIme, string prezime,
                                                                   Datum datumRodjenja, TakmicarskaKategorija kategorija, string nazivDrzave, string kodDrzave, string nazivKluba,
                                                                   string kodKluba)
        {
            GimnasticarUcesnik result = new GimnasticarUcesnik();

            result.Ime                   = ime;
            result.SrednjeIme            = srednjeIme;
            result.Prezime               = prezime;
            result.DatumRodjenja         = datumRodjenja;
            result.TakmicarskaKategorija = kategorija;
            if (String.IsNullOrEmpty(nazivDrzave))
            {
                result.DrzavaUcesnik = null;
            }
            else
            {
                DrzavaUcesnikDAO drzavaUcesnikDAO = DAOFactoryFactory.DAOFactory.GetDrzavaUcesnikDAO();
                DrzavaUcesnik    drzavaUcesnik    = drzavaUcesnikDAO.FindDrzavaUcesnik(kategorija.Takmicenje.Id, nazivDrzave);
                if (drzavaUcesnik == null)
                {
                    drzavaUcesnik            = new DrzavaUcesnik();
                    drzavaUcesnik.Naziv      = nazivDrzave;
                    drzavaUcesnik.Kod        = kodDrzave;
                    drzavaUcesnik.Takmicenje = kategorija.Takmicenje;
                    drzavaUcesnikDAO.Add(drzavaUcesnik);
                }
                result.DrzavaUcesnik = drzavaUcesnik;
            }
            if (String.IsNullOrEmpty(nazivKluba))
            {
                result.KlubUcesnik = null;
            }
            else
            {
                KlubUcesnikDAO klubUcesnikDAO = DAOFactoryFactory.DAOFactory.GetKlubUcesnikDAO();
                KlubUcesnik    klubUcesnik    = klubUcesnikDAO.FindKlubUcesnik(kategorija.Takmicenje.Id, nazivKluba);
                if (klubUcesnik == null)
                {
                    klubUcesnik            = new KlubUcesnik();
                    klubUcesnik.Naziv      = nazivKluba;
                    klubUcesnik.Kod        = kodKluba;
                    klubUcesnik.Takmicenje = kategorija.Takmicenje;
                    klubUcesnikDAO.Add(klubUcesnik);
                }
                result.KlubUcesnik = klubUcesnik;
            }
            return(result);
        }
예제 #3
0
        private SudijaUcesnik createSudijaUcesnik(Sudija s, Takmicenje takmicenje)
        {
            SudijaUcesnik result = new SudijaUcesnik();

            result.Ime        = s.Ime;
            result.Prezime    = s.Prezime;
            result.Pol        = s.Pol;
            result.Takmicenje = takmicenje;
            if (s.Drzava == null)
            {
                result.DrzavaUcesnik = null;
            }
            else
            {
                DrzavaUcesnikDAO drzavaUcesnikDAO = DAOFactoryFactory.DAOFactory.GetDrzavaUcesnikDAO();
                DrzavaUcesnik    drzavaUcesnik    = drzavaUcesnikDAO.FindDrzavaUcesnik(
                    takmicenje.Id, s.Drzava.Naziv);
                if (drzavaUcesnik == null)
                {
                    drzavaUcesnik            = new DrzavaUcesnik();
                    drzavaUcesnik.Naziv      = s.Drzava.Naziv;
                    drzavaUcesnik.Kod        = s.Drzava.Kod;
                    drzavaUcesnik.Takmicenje = takmicenje;
                    drzavaUcesnikDAO.Add(drzavaUcesnik);
                }
                result.DrzavaUcesnik = drzavaUcesnik;
            }
            if (s.Klub == null)
            {
                result.KlubUcesnik = null;
            }
            else
            {
                KlubUcesnikDAO klubUcesnikDAO = DAOFactoryFactory.DAOFactory.GetKlubUcesnikDAO();
                KlubUcesnik    klubUcesnik    = klubUcesnikDAO.FindKlubUcesnik(
                    takmicenje.Id, s.Klub.Naziv);
                if (klubUcesnik == null)
                {
                    klubUcesnik            = new KlubUcesnik();
                    klubUcesnik.Naziv      = s.Klub.Naziv;
                    klubUcesnik.Kod        = s.Klub.Kod;
                    klubUcesnik.Takmicenje = takmicenje;
                    klubUcesnikDAO.Add(klubUcesnik);
                }
                result.KlubUcesnik = klubUcesnik;
            }
            return(result);
        }
예제 #4
0
        // TODO: Dodaj mogucnost promene kategorije (samo bi se promenila kategorija dok bi sve drugo ostalo
        // isto - gimnasticar bi i dalje bio u istim takmicenjima, ekipama, imao bi iste ocene. Prvo proveri da
        // li je ovo uopste moguce, tj. da li nece da dovede do greske u nekom drugom delu programa).

        public GimnasticarUcesnikForm(Nullable <int> gimnasticarUcesnikId,
                                      TakmicarskaKategorija kategorija, Gimnastika gimnastika)
        {
            if (gimnasticarUcesnikId == null)
            {
                throw new ArgumentException("GimnasticarUcesnikForm only works in edit mode.");
            }
            InitializeComponent();

            this.updateLastModified = true;
            this.gimnastika         = gimnastika;

            emptyKlub         = new KlubUcesnik();
            emptyKlub.Naziv   = PRAZNO;
            emptyDrzava       = new DrzavaUcesnik();
            emptyDrzava.Naziv = PRAZNO;

            this.kategorija = kategorija;
            initialize(gimnasticarUcesnikId, true);
        }
예제 #5
0
        protected override void updateUIFromEntity(DomainObject entity)
        {
            Ekipa ekipa = (Ekipa)entity;

            cmbKlub.SelectedIndex = -1;
            for (int i = 0; i < cmbKlub.Items.Count; ++i)
            {
                KlubUcesnik k = cmbKlub.Items[i] as KlubUcesnik;
                if (k != null && k.Naziv == ekipa.Naziv)
                {
                    rbtKlub.Checked = true;
                    //cmbKlub.SelectedItem = k;
                    cmbKlub.SelectedIndex = i;
                    break;
                }
            }

            cmbDrzava.SelectedIndex = -1;
            for (int i = 0; i < cmbDrzava.Items.Count; ++i)
            {
                DrzavaUcesnik d = cmbDrzava.Items[i] as DrzavaUcesnik;
                if (d != null && d.Naziv == ekipa.Naziv)
                {
                    rbtDrzava.Checked       = true;
                    cmbDrzava.SelectedIndex = i;
                    break;
                }
            }

            // bitno je da ove dve naredbe idu posle naredbi kojima se podesava
            // drzava ili klub, za slucaj da su naziv i kod uneti rucno (da bi se
            // prebrisale automatske vrednosti koje se zadaju kada se izabere drzava
            // ili klub)
            txtNaziv.Text = ekipa.Naziv;
            txtKod.Text   = ekipa.Kod;

            setClanovi(ekipa.Gimnasticari);
        }
예제 #6
0
 private void updateNazivKod()
 {
     txtNaziv.Text = String.Empty;
     txtKod.Text   = String.Empty;
     if (rbtKlub.Checked)
     {
         KlubUcesnik klub = cmbKlub.SelectedItem as KlubUcesnik;
         if (klub != null)
         {
             txtNaziv.Text = klub.Naziv;
             txtKod.Text   = klub.Kod;
         }
     }
     else if (rbtDrzava.Checked)
     {
         DrzavaUcesnik drzava = cmbDrzava.SelectedItem as DrzavaUcesnik;
         if (drzava != null)
         {
             txtNaziv.Text = drzava.Naziv;
             txtKod.Text   = drzava.Kod;
         }
     }
 }
예제 #7
0
        private void loadDrzave(int takmicenjeId)
        {
            ISet <DrzavaUcesnik> drzaveSet = new HashSet <DrzavaUcesnik>(
                DAOFactoryFactory.DAOFactory.GetDrzavaUcesnikDAO().FindByTakmicenje(takmicenjeId));

            foreach (Drzava d in DAOFactoryFactory.DAOFactory.GetDrzavaDAO().FindAll())
            {
                DrzavaUcesnik du = new DrzavaUcesnik();
                du.Naziv = d.Naziv;
                du.Kod   = d.Kod;
                if (!drzaveSet.Contains(du))
                {
                    drzaveSet.Add(du);
                }
            }

            drzave = new List <DrzavaUcesnik>(drzaveSet);
            PropertyDescriptor propDesc =
                TypeDescriptor.GetProperties(typeof(DrzavaUcesnik))["Naziv"];

            drzave.Sort(new SortComparer <DrzavaUcesnik>(propDesc, ListSortDirection.Ascending));

            drzave.Insert(0, emptyDrzava);
        }
예제 #8
0
        private void loadFromDump(string dump)
        {
            IdMap map = new IdMap();

            // clear
            takmicenje       = new Takmicenje();
            klubovi          = new List <KlubUcesnik>();
            drzave           = new List <DrzavaUcesnik>();
            gimnasticari     = new List <GimnasticarUcesnik>();
            ocene            = new List <Ocena>();
            rasporediNastupa = new List <RasporedNastupa>();
            sudije           = new List <SudijaUcesnik>();
            rasporediSudija  = new List <RasporedSudija>();
            rezTakmicenja    = new List <RezultatskoTakmicenje>();

            using (StringReader reader = new StringReader(dump))
            {
                if (reader.ReadLine() != BILTEN_TAKMICENJE_DUMP)
                {
                    throw new Exception("Neuspesno ucitavanje takmicenja.");
                }

                if (int.Parse(reader.ReadLine()) != Program.VERZIJA_PROGRAMA)
                {
                    throw new Exception("Neuspesno uvozenje takmicenja.\n\nTakmicenje je izvezeno koristeci verziju " +
                                        "programa razlicitu od trenutne, i nije ga moguce uvesti.");
                }

                int prvoKoloId, drugoKoloId, treceKoloId, cetvrtoKoloId;
                int vrhovniSudijaId;

                // load takmicenje
                string id = reader.ReadLine();
                map.takmicenjeMap.Add(int.Parse(id), takmicenje);
                takmicenje.loadFromDump(reader, map, out prvoKoloId, out drugoKoloId,
                                        out treceKoloId, out cetvrtoKoloId, out vrhovniSudijaId);

                // TODO4: Ovde moze da se desi da ID koji je postojao u biltenu iz koga se takmicenje izvozilo ne postoji
                // u biltenu u koji se takmicenje uvozi.
                takmicenje.PrvoKolo = prvoKoloId == -1 ? null :
                                      DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(prvoKoloId);
                takmicenje.DrugoKolo = drugoKoloId == -1 ? null :
                                       DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(drugoKoloId);
                takmicenje.TreceKolo = treceKoloId == -1 ? null :
                                       DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(treceKoloId);
                takmicenje.CetvrtoKolo = cetvrtoKoloId == -1 ? null :
                                         DAOFactoryFactory.DAOFactory.GetTakmicenjeDAO().FindById(cetvrtoKoloId);

                // Vrhovnog sudiju ucitavam dole (nakon sto ucitam sve sudije ucesnike).

                // load klubovi
                int count = int.Parse(reader.ReadLine());
                for (int i = 0; i < count; ++i)
                {
                    id = reader.ReadLine();
                    KlubUcesnik k = new KlubUcesnik();
                    map.kluboviMap.Add(int.Parse(id), k);
                    k.loadFromDump(reader, map);
                    klubovi.Add(k);
                }

                // load drzave
                count = int.Parse(reader.ReadLine());
                for (int i = 0; i < count; ++i)
                {
                    id = reader.ReadLine();
                    DrzavaUcesnik d = new DrzavaUcesnik();
                    map.drzaveMap.Add(int.Parse(id), d);
                    d.loadFromDump(reader, map);
                    drzave.Add(d);
                }

                // load gimnasticari
                count = int.Parse(reader.ReadLine());
                for (int i = 0; i < count; ++i)
                {
                    id = reader.ReadLine();
                    GimnasticarUcesnik g = new GimnasticarUcesnik();
                    map.gimnasticariMap.Add(int.Parse(id), g);
                    g.loadFromDump(reader, map);
                    gimnasticari.Add(g);
                }

                // load ocene
                count = int.Parse(reader.ReadLine());
                for (int i = 0; i < count; ++i)
                {
                    id = reader.ReadLine();
                    Ocena o = new Ocena();
                    o.loadFromDump(reader, map);
                    ocene.Add(o);
                }

                // load rasporedi nastupa
                count = int.Parse(reader.ReadLine());
                for (int i = 0; i < count; ++i)
                {
                    id = reader.ReadLine();
                    RasporedNastupa r = new RasporedNastupa();
                    r.loadFromDump(reader, map);
                    rasporediNastupa.Add(r);
                }

                // load sudije
                count = int.Parse(reader.ReadLine());
                for (int i = 0; i < count; ++i)
                {
                    id = reader.ReadLine();
                    SudijaUcesnik s = new SudijaUcesnik();
                    map.sudijeMap.Add(int.Parse(id), s);
                    s.loadFromDump(reader, map);
                    sudije.Add(s);
                }

                takmicenje.VrhovniSudija = vrhovniSudijaId == -1 ? null : map.sudijeMap[vrhovniSudijaId];

                // load rasporedi sudija
                count = int.Parse(reader.ReadLine());
                for (int i = 0; i < count; ++i)
                {
                    id = reader.ReadLine();
                    RasporedSudija r = new RasporedSudija();
                    r.loadFromDump(reader, map);
                    rasporediSudija.Add(r);
                }

                // load rezultatska takmicenja
                count = int.Parse(reader.ReadLine());
                for (int i = 0; i < count; ++i)
                {
                    id = reader.ReadLine();
                    RezultatskoTakmicenje rt = new RezultatskoTakmicenje();
                    rt.loadFromDump(reader, map);
                    rezTakmicenja.Add(rt);
                }
            }
        }
예제 #9
0
        private void insertGimnasticariAndDrzaveUcesniciAndAddRezTakmicenjaUcesnici(Takmicenje takmicenje)
        {
            TakmicarskaKategorija seniori = DAOFactoryFactory.DAOFactory.GetTakmicarskaKategorijaDAO().FindByTakmicenje(takmicenje.Id)[0];

            RezultatskoTakmicenjeDAO rezTakmicenjeDAO = DAOFactoryFactory.DAOFactory.GetRezultatskoTakmicenjeDAO();
            RezultatskoTakmicenje    rezTak           = rezTakmicenjeDAO.FindByKategorija(seniori)[0];

            string fileName;

            if (gimnastika == Gimnastika.MSG)
            {
                fileName = @"..\..\test\Data\KvalifikantiMuskarci.txt";
            }
            else
            {
                fileName = @"..\..\test\Data\KvalifikantiZene.txt";
            }

            List <Drzava>        drzave         = new List <Drzava>(DAOFactoryFactory.DAOFactory.GetDrzavaDAO().FindAll());
            List <DrzavaUcesnik> drzaveUcesnici = new List <DrzavaUcesnik>();

            GimnasticariParser parser = new GimnasticariParser();

            parser.parse(fileName);

            foreach (object[] o in parser.Gimnasticari)
            {
                int      broj      = (int)o[0];
                string   prezime   = (string)o[1];
                string   ime       = (string)o[2];
                string   kod       = (string)o[3];
                DateTime datumRodj = (DateTime)o[4];

                GimnasticarUcesnik gimnasticarUcesnik = new GimnasticarUcesnik();
                gimnasticarUcesnik.Ime           = ime;
                gimnasticarUcesnik.Prezime       = prezime;
                gimnasticarUcesnik.DatumRodjenja = new Datum(datumRodj);

                DrzavaUcesnik drzavaUcesnik = findDrzavaUcesnik(kod, drzaveUcesnici);
                if (drzavaUcesnik == null)
                {
                    Drzava drzava = findDrzava(kod, drzave);
                    drzavaUcesnik            = new DrzavaUcesnik();
                    drzavaUcesnik.Naziv      = drzava.Naziv;
                    drzavaUcesnik.Kod        = drzava.Kod;
                    drzavaUcesnik.Takmicenje = takmicenje;
                    drzaveUcesnici.Add(drzavaUcesnik);

                    DAOFactoryFactory.DAOFactory.GetDrzavaUcesnikDAO().Add(drzavaUcesnik);
                }
                gimnasticarUcesnik.DrzavaUcesnik = drzavaUcesnik;

                gimnasticarUcesnik.TakmicarskaKategorija = seniori;
                gimnasticarUcesnik.NastupaZaDrzavu       = true;

                DAOFactoryFactory.DAOFactory.GetGimnasticarUcesnikDAO().Add(gimnasticarUcesnik);

                rezTak.Takmicenje1.addGimnasticar(gimnasticarUcesnik);
            }

            rezTakmicenjeDAO.Update(rezTak);
        }
예제 #10
0
        public IList <GimnasticarUcesnik> FindGimnasticariUcesnici(string ime, string prezime, DrzavaUcesnik drzava,
                                                                   TakmicarskaKategorija kategorija, KlubUcesnik klub, int takmicenjeId)
        {
            string query = @"from GimnasticarUcesnik g
                    left join fetch g.TakmicarskaKategorija k
                    left join fetch g.KlubUcesnik
                    left join fetch g.DrzavaUcesnik
                    where k.Takmicenje.Id = :takmicenjeId";

            if (!String.IsNullOrEmpty(ime))
            {
                query += " and lower(g.Ime) like :ime";
            }
            if (!String.IsNullOrEmpty(prezime))
            {
                query += " and lower(g.Prezime) like :prezime";
            }
            if (kategorija != null)
            {
                query += " and g.TakmicarskaKategorija = :kategorija";
            }
            if (drzava != null)
            {
                query += " and g.DrzavaUcesnik = :drzava";
            }
            if (klub != null)
            {
                query += " and g.KlubUcesnik = :klub";
            }
            query += " order by g.Prezime asc, g.Ime asc";

            IQuery q = Session.CreateQuery(query);

            q.SetInt32("takmicenjeId", takmicenjeId);
            if (!String.IsNullOrEmpty(ime))
            {
                q.SetString("ime", ime.ToLower() + '%');
            }
            if (!String.IsNullOrEmpty(prezime))
            {
                q.SetString("prezime", prezime.ToLower() + '%');
            }
            if (kategorija != null)
            {
                q.SetEntity("kategorija", kategorija);
            }
            if (drzava != null)
            {
                q.SetEntity("drzava", drzava);
            }
            if (klub != null)
            {
                q.SetEntity("klub", klub);
            }
            return(q.List <GimnasticarUcesnik>());
        }