예제 #1
0
        public static void SaveFinal4Pool(int idTorneo, int idDisciplina, int pool, int semifinalPool, DataGrid dataGridPool)
        {
            int posizione = 1;

            List <AtletaEliminatorie> listAtleti = new List <AtletaEliminatorie>();

            foreach (MatchEntity match in dataGridPool.Items)
            {
                AtletaEliminatorie a = new AtletaEliminatorie();

                a.IdAtleta = (match.PuntiRosso > match.PuntiBlu) ? match.IdRosso : match.IdBlu;

                SqlDal_Pools.UpdateQualificati8(idTorneo, idDisciplina, pool, posizione, match.IdRosso, match.PuntiRosso, match.PuntiBlu);
                SqlDal_Pools.UpdateQualificati8(idTorneo, idDisciplina, pool, posizione, match.IdBlu, match.PuntiBlu, match.PuntiRosso);

                a.IdTorneo     = idTorneo;
                a.idDisciplina = idDisciplina;
                a.Posizione    = posizione;
                a.Campo        = semifinalPool;
                a.PuntiFatti   = 0;
                a.PuntiSubiti  = 0;

                listAtleti.Add(a);

                posizione++;
            }

            SqlDal_Pools.InsertSemifinali(listAtleti);
        }
        private void buttonConferma_Click(object sender, EventArgs e)
        {
            if (CountSelectedRowInDataGrid() != atletiAmmessiEliminatorie)
            {
                MessageBox.Show("Il numero di atleti selezionati non è " + atletiAmmessiEliminatorie + ": controllare la lista", "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                List <AtletaEliminatorie> listaQualificati = new List <AtletaEliminatorie>();
                int posizione = 1;
                foreach (DataGridViewRow r in dataGridView1.Rows)
                {
                    if (((bool)r.Cells[0].Value == true) && posizione <= atletiAmmessiEliminatorie)
                    {
                        listaQualificati.Add(new AtletaEliminatorie()
                        {
                            IdAtleta     = (int)r.Cells[4].Value,
                            IdTorneo     = (int)r.Cells[1].Value,
                            idDisciplina = (int)r.Cells[2].Value,
                            Posizione    = posizione
                        }
                                             );
                        posizione++;
                    }
                }

                SqlDal_Pools.DeleteAllPahases(idTorneo, idDisciplina);

                if (atletiAmmessiEliminatorie == 32)
                {
                    SqlDal_Pools.InsertSedicesimi(listaQualificati);
                }
                else if (atletiAmmessiEliminatorie == 16)
                {
                    SqlDal_Pools.InsertOttavi(listaQualificati);
                }
                else if (atletiAmmessiEliminatorie == 8)
                {
                    SqlDal_Pools.InsertQuarti(listaQualificati);
                }
                else if (atletiAmmessiEliminatorie == 4)
                {
                    SqlDal_Pools.InsertSemifinali(SetCampoForSemifinali(listaQualificati));
                }

                SqlDal_Pools.ConcludiGironi(idTorneo, idDisciplina);

                //va fatta la lista di output per la generazione degli incontri
                //in realtà qui salvo semplicemente i dati sui Qualificati 'atletiAmmessiEliminatorie'
                //poi la form1 li carica e genera gli incontri diretti

                this.Close();
            }
        }
예제 #3
0
 private void CreateNextPhase(List <AtletaEliminatorie> listaQualificati)
 {
     if (atletiAmmessiEliminatorie == 32)
     {
         SqlDal_Pools.InsertSedicesimi(listaQualificati);
     }
     else if (atletiAmmessiEliminatorie == 16)
     {
         SqlDal_Pools.InsertOttavi(listaQualificati);
     }
     else if (atletiAmmessiEliminatorie == 8)
     {
         SqlDal_Pools.InsertQuarti(listaQualificati);
     }
     else if (atletiAmmessiEliminatorie == 4)
     {
         SqlDal_Pools.InsertSemifinali(SetCampoForSemifinali(listaQualificati));
     }
 }