Ejemplo n.º 1
0
        private StartListaNaSpravi getStartListaPrethRot(StartListaNaSpravi s, List <List <Sprava> > aktivneSprave)
        {
            int                i           = aktivneSprave[s.Rotacija - 1].IndexOf(s.Sprava);
            List <Sprava>      prethSprave = aktivneSprave[s.Rotacija - 2];
            Sprava             prethSprava = (i == 0) ? prethSprave[prethSprave.Count - 1] : prethSprave[i - 1];
            StartListaNaSpravi result      = getStartLista(prethSprava, s.Grupa, s.Rotacija - 1);

            return(result);
        }
Ejemplo n.º 2
0
        public SudijskiFormularLista(Izvestaj izvestaj, int pageNum, float y,
            Font itemFont, Font itemsHeaderFont, StartListaNaSpravi startLista, int brojEOcena, bool stampajRedniBroj,
            bool stampajKategoriju, bool stampajKlub, DataGridView formGrid)
            : base(izvestaj, pageNum, y, itemFont, itemsHeaderFont, formGrid)
        {
            this.sprava = startLista.Sprava;
            this.brojEOcena = brojEOcena;
            this.stampajRedniBroj = stampajRedniBroj;
            this.stampajKategoriju = stampajKategoriju;
            this.stampajKlub = stampajKlub;

            fetchItems(startLista);
        }
Ejemplo n.º 3
0
 public virtual void prebaciGimnasticare(IList <NastupNaSpravi> nastupi, StartListaNaSpravi from,
                                         StartListaNaSpravi to)
 {
     foreach (NastupNaSpravi n in nastupi)
     {
         if (from.removeNastup(n))
         {
             // Kod prebacivanja ne proveravam da li je gimnasticar vec u nekoj start listi u istoj rotaciji zato
             // sto je prilikom dodavanja gimnasticara osigurano da gimnasticar moze da bude u samo jednoj start
             // listi u rotaciji).
             to.addNastup(new NastupNaSpravi(n.Gimnasticar, 0));
         }
     }
 }
Ejemplo n.º 4
0
        public StartListaLista(Izvestaj izvestaj, int pageNum, float y,
            Font itemFont, Font itemsHeaderFont, StartListaNaSpravi startLista, bool stampajRedniBroj,
            bool stampajKlub, bool stampajKategoriju, bool sveSpraveNaJednojStrani, int columnNumber, DataGridView formGrid)
            : base(izvestaj, pageNum, y, itemFont, itemsHeaderFont, formGrid)
        {
            this.sprava = startLista.Sprava;
            this.stampajRedniBroj = stampajRedniBroj;
            this.stampajKlub = stampajKlub;
            this.stampajKategoriju = stampajKategoriju;
            this.sveSpraveNaJednojStrani = sveSpraveNaJednojStrani;
            this.columnNumber = columnNumber;
            this.praznaLista = startLista.Nastupi.Count == 0;

            fetchItems(startLista);
        }
Ejemplo n.º 5
0
        public StartListaRotEditorForm(int rasporedId, Sprava sprava,
            int grupa, int rotacija, int takmicenjeId, Color[] bojeZaEkipe)
        {
            InitializeComponent();
            this.takmicenjeId = takmicenjeId;
            this.rotacija = rotacija;
            this.bojeZaEkipe = bojeZaEkipe;

            spravaGridUserControl1.init(sprava);
            spravaGridUserControl1.DataGridViewUserControl.DataGridView.CellFormatting += new DataGridViewCellFormattingEventHandler(DataGridView_CellFormatting);
            try
            {
                DataAccessProviderFactory factory = new DataAccessProviderFactory();
                dataContext = factory.GetDataContext();
                dataContext.BeginTransaction();

                raspored = loadRaspored(rasporedId);
                startLista = raspored.getStartLista(sprava, grupa, rotacija);
                foreach (NastupNaSpravi n in startLista.Nastupi)
                {
                    //  potrebno za slucaj kada se u start listi nalaze i gimnasticari iz kategorija razlicitih od kategorija
                    // za koje start lista vazi.
                    NHibernateUtil.Initialize(n.Gimnasticar.TakmicarskaKategorija);
                }

                initUI();
                spravaGridUserControl1.setItems(startLista.Nastupi);

            //    dataContext.Commit();
            }
            catch (Exception ex)
            {
                if (dataContext != null && dataContext.IsInTransaction)
                    dataContext.Rollback();
                throw new InfrastructureException(
                    Strings.getFullDatabaseAccessExceptionMessage(ex), ex);
            }
            finally
            {
                if (dataContext != null)
                    dataContext.Dispose();
                dataContext = null;
            }
        }
Ejemplo n.º 6
0
        public virtual void loadFromDump(StringReader reader, IdMap map)
        {
            DeoTakmicenjaKod = (DeoTakmicenjaKod)Enum.Parse(typeof(DeoTakmicenjaKod), reader.ReadLine());

            string line = reader.ReadLine();

            Naziv = line != NULL ? line : null;

            line       = reader.ReadLine();
            Takmicenje = line != NULL ? map.takmicenjeMap[int.Parse(line)] : null;

            PauzeMask = int.Parse(reader.ReadLine());

            int count = int.Parse(reader.ReadLine());

            for (int i = 0; i < count; ++i)
            {
                reader.ReadLine();  // id
                StartListaNaSpravi s = new StartListaNaSpravi();
                s.loadFromDump(reader, map);
                StartListe.Add(s);
            }
        }
Ejemplo n.º 7
0
        public virtual void kreirajRotaciju(int grupa, int rot, List <List <Sprava> > aktivneSprave)
        {
            foreach (Sprava s in Sprave.getSpraveIPauze(PauzeMask, Takmicenje.Gimnastika))
            {
                StartListaNaSpravi startLista = getStartLista(s, grupa, rot);
                startLista.clear();

                if (aktivneSprave[rot - 1].IndexOf(s) == -1)
                {
                    // Sprava nije aktivna u rotaciji.
                    continue;
                }

                StartListaNaSpravi startListaPrethRot = getStartListaPrethRot(startLista, aktivneSprave);
                if (startListaPrethRot.Nastupi.Count == 0)
                {
                    continue;
                }
                if (Sprave.isPraznaSprava(startListaPrethRot.Sprava))
                {
                    // Ako je prethodna sprava pauza, samo prebacujem gimnasticare na novu spravu, bez obzira koji je
                    // nacin rotacije. Rotacija je izvrsena kada sam prebacivao sa sprave na pauzu.
                    foreach (NastupNaSpravi n in startListaPrethRot.Nastupi)
                    {
                        startLista.addNastup(new NastupNaSpravi(n.Gimnasticar, n.Ekipa));
                    }
                    continue;
                }

                // Nadji nacin rotacije (u start listi na prvoj rotaciji).
                StartListaNaSpravi current = startListaPrethRot;
                while (current.Rotacija != 1)
                {
                    current = getStartListaPrethRot(current, aktivneSprave);
                }
                NacinRotacije nacinRotacije = current.NacinRotacije;

                if (nacinRotacije == NacinRotacije.RotirajSve || nacinRotacije == NacinRotacije.NeRotirajNista)
                {
                    foreach (NastupNaSpravi n in startListaPrethRot.Nastupi)
                    {
                        startLista.addNastup(new NastupNaSpravi(n.Gimnasticar, n.Ekipa));
                    }

                    if (nacinRotacije == NacinRotacije.RotirajSve)
                    {
                        NastupNaSpravi n2 = startLista.Nastupi[0];
                        startLista.removeNastup(n2);
                        startLista.addNastup(n2);
                    }
                }
                else if (nacinRotacije == NacinRotacije.RotirajEkipeRotirajGimnasticare ||
                         nacinRotacije == NacinRotacije.NeRotirajEkipeRotirajGimnasticare)
                {
                    // Najpre pronadji ekipe
                    List <List <NastupNaSpravi> > listaEkipa = new List <List <NastupNaSpravi> >();
                    int m = 0;
                    while (m < startListaPrethRot.Nastupi.Count)
                    {
                        NastupNaSpravi n       = startListaPrethRot.Nastupi[m];
                        byte           ekipaId = n.Ekipa;
                        if (ekipaId == 0)
                        {
                            List <NastupNaSpravi> pojedinac = new List <NastupNaSpravi>();
                            pojedinac.Add(new NastupNaSpravi(n.Gimnasticar, 0));
                            listaEkipa.Add(pojedinac);
                            ++m;
                            continue;
                        }

                        List <NastupNaSpravi> novaEkipa = new List <NastupNaSpravi>();
                        while (n.Ekipa == ekipaId)
                        {
                            novaEkipa.Add(new NastupNaSpravi(n.Gimnasticar, ekipaId));
                            if (++m < startListaPrethRot.Nastupi.Count)
                            {
                                n = startListaPrethRot.Nastupi[m];
                            }
                            else
                            {
                                break;
                            }
                        }
                        listaEkipa.Add(novaEkipa);
                    }

                    if (nacinRotacije == NacinRotacije.RotirajEkipeRotirajGimnasticare)
                    {
                        // Rotiraj ekipe
                        List <NastupNaSpravi> prvaEkipa = listaEkipa[0];
                        listaEkipa.RemoveAt(0);
                        listaEkipa.Add(prvaEkipa);
                    }

                    foreach (List <NastupNaSpravi> ekipa in listaEkipa)
                    {
                        // Rotiraj clanove ekipe
                        NastupNaSpravi nastup = ekipa[0];
                        ekipa.RemoveAt(0);
                        ekipa.Add(nastup);

                        foreach (NastupNaSpravi n in ekipa)
                        {
                            startLista.addNastup(new NastupNaSpravi(n.Gimnasticar, n.Ekipa));
                        }
                    }
                }
            }
        }
Ejemplo n.º 8
0
        public StartListaIzvestaj(StartListaNaSpravi startLista, string documentName, bool stampajRedniBroj,
            bool stampajKlub, bool stampajKategoriju, DataGridView formGrid)
        {
            DocumentName = documentName;
            Font itemFont = new Font("Arial", itemFontSize);
            Font itemsHeaderFont = new Font("Arial", itemFontSize, FontStyle.Bold);
            svakaSpravaNaPosebnojStrani = true;

            reportListe.Add(new StartListaLista(this, 1, 0f, itemFont, itemsHeaderFont, startLista, stampajRedniBroj,
                stampajKlub, stampajKategoriju, false, 1, formGrid));
        }
Ejemplo n.º 9
0
 private List<object[]> getStartListaReportItems(StartListaNaSpravi startLista)
 {
     List<object[]> result = new List<object[]>();
     for (int i = 0; i < startLista.Nastupi.Count; i++)
     {
         string redBroj = stampajRedniBroj ? (i+1).ToString() : String.Empty;
         NastupNaSpravi nastup = startLista.Nastupi[i];
         result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.KlubDrzava, nastup.Kategorija });
     }
     if (result.Count == 0)
         // hack kojim se obezbedjuje da se stampaju hederi i za liste koje su prazne
         result.Add(new object[] { "", "", "", "" });
     return result;
 }
Ejemplo n.º 10
0
        private void fetchItems(StartListaNaSpravi startLista)
        {
            items = getStartListaReportItems(startLista);

            groups = new List<ReportGrupa>();
            groups.Add(new ReportGrupa(0, items.Count));
        }
Ejemplo n.º 11
0
        public SudijskiFormularIzvestaj(StartListaNaSpravi startLista, string documentName, int brojEOcena, 
            bool stampajRedniBroj, bool stampajKategoriju, bool stampajKlub, DataGridView formGrid)
        {
            DocumentName = documentName;
            Font itemFont = new Font("Arial", itemFontSize);
            Font itemsHeaderFont = new Font("Arial", itemFontSize, FontStyle.Bold);
            svakaSpravaNaPosebnojStrani = true;

            Landscape = true;
            Margins = new Margins(30, 30, 75, 75);

            SudijskiFormularLista lista = new SudijskiFormularLista(this, 1, 0f, itemFont, itemsHeaderFont, startLista,
                brojEOcena, stampajRedniBroj, stampajKategoriju, stampajKlub, formGrid);
            lista.RelY = 0.0f + 0.03f;
            reportListe.Add(lista);
        }
Ejemplo n.º 12
0
 private List<object[]> getStartListaReportItems(StartListaNaSpravi startLista)
 {
     List<object[]> result = new List<object[]>();
     for (int i = 0; i < startLista.Nastupi.Count; i++)
     {
         string redBroj = stampajRedniBroj ? (i+1).ToString() : String.Empty;
         NastupNaSpravi nastup = startLista.Nastupi[i];
         if (startLista.Sprava != Sprava.Preskok)
         {
             if (brojEOcena == 0)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava,
                     "", "", "", "" });
             else if (brojEOcena == 1)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava,
                     "", "", "", "", "" });
             else if (brojEOcena == 2)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava,
                     "", "", "", "", "", "" });
             else if (brojEOcena == 3)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava,
                     "", "", "", "", "", "", "" });
             else if (brojEOcena == 4)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava,
                     "", "", "", "", "", "", "", "" });
             else if (brojEOcena == 5)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava,
                     "", "", "", "", "", "", "", "", "" });
             else if (brojEOcena == 6)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava,
                     "", "", "", "", "", "", "", "", "", "" });
         }
         else
         {
             if (brojEOcena == 0)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava, "1", "2",
                     "", "", "", "",
                     "", "", "", "",
                     ""});
             else if (brojEOcena == 1)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava, "1", "2",
                     "", "", "", "", "",
                     "", "", "", "", "",
                     "" });
             else if (brojEOcena == 2)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava, "1", "2",
                     "", "", "", "", "", "",
                     "", "", "", "", "", "",
                     "" });
             else if (brojEOcena == 3)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava, "1", "2",
                     "", "", "", "", "", "", "",
                     "", "", "", "", "", "", "",
                     "" });
             else if (brojEOcena == 4)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava, "1", "2",
                     "", "", "", "", "", "", "", "",
                     "", "", "", "", "", "", "", "",
                     "" });
             else if (brojEOcena == 5)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava, "1", "2",
                     "", "", "", "", "", "", "", "", "",
                     "", "", "", "", "", "", "", "", "",
                     "" });
             else if (brojEOcena == 6)
                 result.Add(new object[] { redBroj, nastup.PrezimeIme, nastup.Kategorija, nastup.KlubDrzava, "1", "2",
                     "", "", "", "", "", "", "", "", "", "",
                     "", "", "", "", "", "", "", "", "", "",
                     "" });
         }
     }
     return result;
 }
Ejemplo n.º 13
0
        private void kompaktujEkipu(byte ekipa, StartListaNaSpravi startLista)
        {
            int start = -1;
            int end = -1;
            for (int i = 0; i < startLista.Nastupi.Count; ++i)
            {
                NastupNaSpravi n = startLista.Nastupi[i];
                if (n.Ekipa == ekipa)
                {
                    if (start == -1)
                        start = i;
                    end = i;
                }
            }

            for (int i = start; i <= end; ++i)
            {
                NastupNaSpravi n = startLista.Nastupi[i];
                n.Ekipa = ekipa;
            }
        }
Ejemplo n.º 14
0
        private byte findFragmentedEkipa(StartListaNaSpravi startLista)
        {
            List<byte> ekipe = new List<byte>();
            byte prevEkipa = 0;
            for (int i = 0; i < startLista.Nastupi.Count; ++i)
            {
                NastupNaSpravi n = startLista.Nastupi[i];
                if (n.Ekipa != prevEkipa)
                {
                    // Nasli smo novu ekipu (ili pojedinca) n.Ekipa, sto znaci da se time zavrsava prevEkipa.
                    if (prevEkipa > 0)
                        ekipe.Add(prevEkipa);

                    // Proveri da li je nova ekipa n.Ekipa ranije vec pronadjena.
                    if (n.Ekipa > 0 && ekipe.IndexOf(n.Ekipa) != -1)
                    {
                        // Clanovi ekipe n.Ekipa nisu uzastopni.
                        return n.Ekipa;
                    }

                    prevEkipa = n.Ekipa;
                }
            }
            return 0;
        }