private void BtnClosePools_Click(object sender, RoutedEventArgs e)
        {
            //TODO PL chiamata alla "validaEliminatorie" in cui deve essere gestito il motore tramite DB
            bool?result = new MessageBoxCustom("Delete all final phases?",
                                               MessageType.Warning, MessageButtons.OkCancel).ShowDialog();

            if (result.Value)
            {
                //save all pools for safety
                if (SaveAllPools())
                {
                    SqlDal_Pools.DeleteAllPahases(_tournamentId, _disciplineId);

                    SetPhasesIndex();

                    Window validaAtleti = new CheckResult(caricaGironi.IdTorneo, caricaGironi.IdDisciplina, atletiAmmessiEliminatorie);
                    validaAtleti.Closing += new CancelEventHandler(creaEliminatorie_FormClosed);
                    validaAtleti.Show();
                }
                else
                {
                    MessageBox.Show("Si è verificato un errore durante il salvataggio dei gironi \r\nContattare un amministratore",
                                    "ERRORE Applicazione", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
        private void DeleteNextPhases()
        {
            switch (_currentTransition)
            {
            case (int)PhasesType.Finals_32:
                SqlDal_Pools.DeleteAllPahases(_idTorneo, _idDisciplina);
                break;

            case (int)PhasesType.Finals_16:
                SqlDal_Pools.DeleteAfterSedicesimi(_idTorneo, _idDisciplina);
                break;

            case (int)PhasesType.Finals_8:
                SqlDal_Pools.DeleteAfterOttavi(_idTorneo, _idDisciplina);
                break;

            case (int)PhasesType.Finals_4:
                SqlDal_Pools.DeleteAfterQuarti(_idTorneo, _idDisciplina);
                break;

            case (int)PhasesType.SemiFinals:
                SqlDal_Pools.DeleteAfterSeimifinali(_idTorneo, _idDisciplina);
                break;

            default:
                break;
            }
        }
        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();
            }
        }