コード例 #1
0
        internal static void insertTorneig(Torneig t, String data)
        {
            String b;

            if (t.PreinscripcioOberta == 0)
            {
                b = "true";
            }
            else
            {
                b = "false";
            }
            using (MySqlConnection connexio = MySQL.GetConnexio())
            {
                connexio.Open();
                using (MySqlCommand consulta = connexio.CreateCommand())
                {
                    consulta.CommandText = @"INSERT INTO torneig (nom, data_inici, preinscripcio_oberta, modalitat_id) VALUES (@nomTorneig, @data, @actiu, @modalitat);";
                    UtilsDB.AddParameter(consulta, "nomTorneig", t.Nom, MySqlDbType.String);
                    UtilsDB.AddParameter(consulta, "data", data, MySqlDbType.String);
                    UtilsDB.AddParameter(consulta, "actiu", t.PreinscripcioOberta, MySqlDbType.Int32);
                    Int64 modalitatId = selectModalitatPerId((Int32)(long)t.Modalitat.Id).Id;
                    UtilsDB.AddParameter(consulta, "modalitat", modalitatId, MySqlDbType.Int32);

                    consulta.ExecuteNonQuery();
                }
            }
        }
コード例 #2
0
        private static Grup selectGrupDeUnTorneigIUnGrup(int idT, int numG)
        {
            Grup g = null;

            //---------------------------------
            using (MySqlConnection connexio = MySQL.GetConnexio())
            {
                connexio.Open();
                using (MySqlCommand consulta = connexio.CreateCommand())
                {
                    consulta.CommandText = @"select * from grup where torneig_id = @idTorneig and num = @numGrup";
                    UtilsDB.AddParameter(consulta, "idTorneig", idT, MySqlDbType.Int32);
                    UtilsDB.AddParameter(consulta, "numGrup", numG, MySqlDbType.Int32);
                    MySqlDataReader reader = consulta.ExecuteReader();

                    while (reader.Read())
                    {
                        Int32   num                = reader.GetInt32(reader.GetOrdinal("num"));
                        string  description        = reader.GetString(reader.GetOrdinal("description"));
                        Int32   carambolesVictoria = reader.GetInt32(reader.GetOrdinal("caramboles_victoria"));
                        Int32   limitEntrades      = reader.GetInt32(reader.GetOrdinal("limit_entrades"));
                        Torneig t = TorneigBD.selectTorneigPerId(idT);
                        g = new Grup(num, description, carambolesVictoria, limitEntrades, t);
                    }
                }
            }
            return(g);
        }
コード例 #3
0
        public static Torneig selectTorneigPerId(int idTorneig)
        {
            Torneig t = null;

            using (MySqlConnection connexio = MySQL.GetConnexio())
            {
                connexio.Open();
                using (MySqlCommand consulta = connexio.CreateCommand())
                {
                    consulta.CommandText = @"select * from torneig where id = @idTorneig";
                    UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32);
                    MySqlDataReader reader = consulta.ExecuteReader();

                    while (reader.Read())
                    {
                        Int32    id               = reader.GetInt32(reader.GetOrdinal("id"));
                        string   nom              = reader.GetString(reader.GetOrdinal("nom"));
                        DateTime dataAlta         = reader.GetDateTime(reader.GetOrdinal("data_inici"));
                        DateTime dataFinalitzacio = new DateTime();
                        try
                        {
                            dataFinalitzacio = reader.GetDateTime(reader.GetOrdinal("data_finalitzacio"));
                        }
                        catch (Exception e)
                        {
                        }

                        Int32     preinscripcioOberta = reader.GetInt32(reader.GetOrdinal("preinscripcio_oberta"));
                        Modalitat mod = TorneigBD.selectModalitatPerId(reader.GetInt32(reader.GetOrdinal("modalitat_id")));
                        t = new Torneig(id, nom, dataAlta, dataFinalitzacio, preinscripcioOberta, mod);
                    }
                }
            }
            return(t);
        }
コード例 #4
0
        private void lvTornejos_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Torneig t = (Torneig)lvTornejos.SelectedItem;

            if (t == null)
            {
                lvGrups.ItemsSource            = null;
                lvGrupsDisponibles.ItemsSource = null;
                lvInscrits.ItemsSource         = null;
            }
            else
            {
                if (t.DataFinalitzacio == null || t.DataFinalitzacio.Year == 0001)
                {
                    ponerCamposEnabledDisabled(true);
                    lvGrups.ItemsSource            = TorneigBD.selectGrupsDeUnTorneig(t.Id);
                    lvGrupsDisponibles.ItemsSource = TorneigBD.selectGrupsDeUnTorneig(t.Id);
                    lvInscrits.ItemsSource         = TorneigBD.selectInscritsDeUnTorneig(t.Id);
                    return;
                }

                if (t.DataFinalitzacio <= DateTime.Now || (t.DataFinalitzacio.Day == DateTime.Now.Day && t.DataFinalitzacio.Month == DateTime.Now.Month && t.DataFinalitzacio.Year == DateTime.Now.Year))
                {
                    ponerCamposEnabledDisabled(false);
                }
                else
                {
                    ponerCamposEnabledDisabled(true);
                }

                lvGrups.ItemsSource            = TorneigBD.selectGrupsDeUnTorneig(t.Id);
                lvGrupsDisponibles.ItemsSource = TorneigBD.selectGrupsDeUnTorneig(t.Id);
                lvInscrits.ItemsSource         = TorneigBD.selectInscritsDeUnTorneig(t.Id);
            }
        }
コード例 #5
0
        public static ObservableCollection <Grup> selectGrupsDeUnTorneig(Int32 idTorneig)
        {
            ObservableCollection <Grup> grups = new ObservableCollection <Grup>();

            //---------------------------------
            using (MySqlConnection connexio = MySQL.GetConnexio())
            {
                connexio.Open();
                using (MySqlCommand consulta = connexio.CreateCommand())
                {
                    consulta.CommandText = @"select * from grup where torneig_id = @idTorneig";
                    UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32);
                    MySqlDataReader reader = consulta.ExecuteReader();

                    while (reader.Read())
                    {
                        Int32   num                = reader.GetInt32(reader.GetOrdinal("num"));
                        string  description        = reader.GetString(reader.GetOrdinal("description"));
                        Int32   carambolesVictoria = reader.GetInt32(reader.GetOrdinal("caramboles_victoria"));
                        Int32   limitEntrades      = reader.GetInt32(reader.GetOrdinal("limit_entrades"));
                        Torneig t = TorneigBD.selectTorneigPerId(idTorneig);
                        Grup    g = new Grup(num, description, carambolesVictoria, limitEntrades, t);

                        grups.Add(g);
                    }
                }
            }
            return(grups);
        }
コード例 #6
0
        private void btnTancar_Click(object sender, RoutedEventArgs e)
        {
            Torneig t = (Torneig)lvTornejos.SelectedItem;

            if (t != null)
            {
                if (t.DataFinalitzacio >= DateTime.Now || (t.DataFinalitzacio.Day == DateTime.Now.Day && t.DataFinalitzacio.Month == DateTime.Now.Month && t.DataFinalitzacio.Year == DateTime.Now.Year))
                {
                    DisplayError("Error", "Aquest torneig ja està tancat");
                    return;
                }

                Torneig g = (Torneig)lvTornejos.SelectedItem;
                int     partidesDelTorneig = TorneigBD.selectCountPartidesTotalesDeTorneig(g.Id);
                if (partidesDelTorneig == 0)
                {
                    TorneigBD.tancarPreinscripcioTorneig(g.Id);
                    int seHaCerrado = TorneigBD.tancarTorneig(g.Id);
                    if (seHaCerrado == 1)
                    {
                        DisplayError("Torneig tancat", "S'ha tancat el torneig correctament");
                        lvTornejos.ItemsSource = TorneigBD.selectTornejos();
                    }
                    else
                    {
                        DisplayError("Error", "No s'ha pogut tancar el torneig");
                    }
                }
                else
                {
                    DisplayError("Error", "El torneig te partides encara per finaltizar");
                }
            }
        }
コード例 #7
0
        public static ObservableCollection <Inscrit> selectInscritsDeUnTorneigIGrup(Int32 idTorneig, Grup g)
        {
            DateTime data;
            ObservableCollection <Inscrit> inscrits = new ObservableCollection <Inscrit>();

            //---------------------------------
            using (MySqlConnection connexio = MySQL.GetConnexio())
            {
                connexio.Open();
                using (MySqlCommand consulta = connexio.CreateCommand())
                {
                    consulta.CommandText = @"select inscrit.* from inscrit where inscrit.torneig_id = @idTorneig and inscrit.grup_num = @numGrup";
                    UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32);
                    UtilsDB.AddParameter(consulta, "numGrup", g.Num, MySqlDbType.Int32);

                    MySqlDataReader reader = consulta.ExecuteReader();
                    while (reader.Read())
                    {
                        Inscrit i;

                        Int32 idS  = reader.GetInt32(reader.GetOrdinal("soci_id"));
                        Int32 idT  = reader.GetInt32(reader.GetOrdinal("torneig_id"));
                        Int32 numG = -1;
                        try
                        {
                            numG = reader.GetInt32(reader.GetOrdinal("grup_num"));
                        }
                        catch (Exception e)
                        {
                        }
                        data = reader.GetDateTime(reader.GetOrdinal("data"));

                        Soci    s = TorneigBD.selectSociPerId(idS);
                        Torneig t = TorneigBD.selectTorneigPerId(idT);
                        if (numG != -1)
                        {
                            Grup gr = TorneigBD.selectGrupDeUnTorneigIUnGrup(idT, numG);
                            i = new Inscrit(s, t, gr, data);
                            inscrits.Add(i);
                        }
                        else
                        {
                            i = new Inscrit(s, t, null, data);
                            inscrits.Add(i);
                        }
                    }
                }
            }
            return(inscrits);
        }
コード例 #8
0
        public static ObservableCollection <Inscrit> selectInscritsDeUnTorneig(Int32 idTorneig)
        {
            DateTime data;
            ObservableCollection <Inscrit> inscrits = new ObservableCollection <Inscrit>();

            //---------------------------------
            using (MySqlConnection connexio = MySQL.GetConnexio())
            {
                connexio.Open();
                using (MySqlCommand consulta = connexio.CreateCommand())
                {
                    consulta.CommandText = @"select inscrit.* from inscrit inner join soci on inscrit.soci_id = soci.id left join estadistica_modalitat on estadistica_modalitat.soci_id = soci.id where inscrit.torneig_id = @idTorneig and inscrit.grup_num is NULL and estadistica_modalitat.modalitat_id = 1 order by estadistica_modalitat.coeficient_base desc";
                    UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32);

                    MySqlDataReader reader = consulta.ExecuteReader();
                    while (reader.Read())
                    {
                        Inscrit i;

                        Int32 idS  = reader.GetInt32(reader.GetOrdinal("soci_id"));
                        Int32 idT  = reader.GetInt32(reader.GetOrdinal("torneig_id"));
                        Int32 numG = -1;
                        try
                        {
                            numG = reader.GetInt32(reader.GetOrdinal("grup_num"));
                        }
                        catch (Exception e)
                        {
                        }
                        data = reader.GetDateTime(reader.GetOrdinal("data"));

                        Soci    s = TorneigBD.selectSociPerId(idS);
                        Torneig t = TorneigBD.selectTorneigPerId(idT);
                        if (numG != -1)
                        {
                            Grup g = TorneigBD.selectGrupDeUnTorneigIUnGrup(idT, numG);
                            i = new Inscrit(s, t, g, data);
                            inscrits.Add(i);
                        }
                        else
                        {
                            i = new Inscrit(s, t, null, data);
                            inscrits.Add(i);
                        }
                    }
                }
            }
            return(inscrits);
        }
コード例 #9
0
        private void btnAfegirInscritAGrup_Click(object sender, RoutedEventArgs e)
        {
            Torneig t = (Torneig)lvTornejos.SelectedItem;

            if (lvGrupsDisponibles.SelectedItem == null || lvInscrits.SelectedItem == null)
            {
                DisplayError("Error", "Selecciona un inscrit i un grup");
            }
            else
            {
                Grup    g = (Grup)lvGrupsDisponibles.SelectedItem;
                Inscrit i = (Inscrit)lvInscrits.SelectedItem;
                TorneigBD.updateInscritEnUnGrup(i, g);
                lvInscrits.ItemsSource = TorneigBD.selectInscritsDeUnTorneig(t.Id);
            }
        }
コード例 #10
0
        private void btnEsborrar_Click(object sender, RoutedEventArgs e)
        {
            Torneig t = (Torneig)lvTornejos.SelectedItem;

            if (t != null)
            {
                int numPartidesPerTorneig = TorneigBD.selectCountPartidesTotalesDeTorneig(t.Id);
                if (numPartidesPerTorneig >= 1)
                {
                    DisplayDeleteTorneigDialog(t.Id);
                }
                else
                {
                    TorneigBD.EsborrarPartidesDeUnTorneig(t.Id);
                    TorneigBD.EsborrarInscritsDeUnTorneig(t.Id);
                    TorneigBD.EsborrarGrupsDeUnTorneig(t.Id);
                    TorneigBD.EsborrarTorneig(t.Id);
                }
            }
        }
コード例 #11
0
        private void btnCrearGrup_Click(object sender, RoutedEventArgs e)
        {
            Torneig t = (Torneig)lvTornejos.SelectedItem;

            if (t != null)
            {
                Int32 caramboles, entrades;

                if (!(txtNomGrup.Text.Length >= 2 || txbTitol.Text.Length > 30))
                {
                    DisplayError("Error", "El nom del grup es incorrecte (2-30 caracters)");
                    return;
                }

                try
                {
                    entrades = Int32.Parse(txtLimitEntradesGrup.Text);
                }
                catch (Exception ex)
                {
                    DisplayError("Error", "Número d'entrades incorrecte");
                    return;
                }

                try
                {
                    caramboles = Int32.Parse(txtCarambolesGrup.Text);
                }
                catch (Exception ex)
                {
                    DisplayError("Error", "Número de caramboles incorrecte");
                    return;
                }

                Int32   contadorGrups = TorneigBD.selectTotalGrupsPerTorneig(t.Id);
                Torneig tor           = TorneigBD.selectTorneigPerId(t.Id);
                Grup    g             = new Grup(contadorGrups, txtNomGrup.Text, caramboles, entrades, tor);
                TorneigBD.insertGrupAUnTorneig(t.Id, g);
                lvGrupsDisponibles.ItemsSource = TorneigBD.selectGrupsDeUnTorneig(t.Id);
            }
        }
コード例 #12
0
        internal static object selectTornejosFiltrados(bool data, bool estat)
        {
            String dataString = data == true ? "asc" : "desc";
            Int32  estatInt   = estat == true ? 1 : 0;

            ObservableCollection <Torneig> tornejos = new ObservableCollection <Torneig>();

            //---------------------------------
            using (MySqlConnection connexio = MySQL.GetConnexio())
            {
                connexio.Open();
                using (MySqlCommand consulta = connexio.CreateCommand())
                {
                    consulta.CommandText = data == true ? @"select * from torneig where preinscripcio_oberta = @estat order by data_inici asc" : @"select * from torneig where preinscripcio_oberta = @estat order by data_inici desc";
                    UtilsDB.AddParameter(consulta, "estat", estatInt, MySqlDbType.Int32);

                    MySqlDataReader reader = consulta.ExecuteReader();
                    while (reader.Read())
                    {
                        Int32    id               = reader.GetInt32(reader.GetOrdinal("id"));
                        string   nom              = reader.GetString(reader.GetOrdinal("nom"));
                        DateTime dataAlta         = reader.GetDateTime(reader.GetOrdinal("data_inici"));
                        DateTime dataFinalitzacio = new DateTime();
                        try
                        {
                            dataFinalitzacio = reader.GetDateTime(reader.GetOrdinal("data_finalitzacio"));
                        }
                        catch (Exception e)
                        {
                        }
                        Int32     preinscripcioOberta = reader.GetInt32(reader.GetOrdinal("preinscripcio_oberta"));
                        Modalitat mod = TorneigBD.selectModalitatPerId(reader.GetInt32(reader.GetOrdinal("modalitat_id")));
                        Torneig   t   = new Torneig(id, nom, dataAlta, dataFinalitzacio, preinscripcioOberta, mod);

                        tornejos.Add(t);
                    }
                }
            }
            return(tornejos);
        }
コード例 #13
0
        public static ObservableCollection <Torneig> selectTornejos()
        {
            ObservableCollection <Torneig> tornejos = new ObservableCollection <Torneig>();

            //---------------------------------
            using (MySqlConnection connexio = MySQL.GetConnexio())
            {
                connexio.Open();
                using (MySqlCommand consulta = connexio.CreateCommand())
                {
                    consulta.CommandText = @"select * from torneig";

                    MySqlDataReader reader = consulta.ExecuteReader();
                    while (reader.Read())
                    {
                        Int32    id       = reader.GetInt32(reader.GetOrdinal("id"));
                        string   nom      = reader.GetString(reader.GetOrdinal("nom"));
                        DateTime dataAlta = new DateTime();
                        dataAlta = reader.GetDateTime(reader.GetOrdinal("data_inici"));
                        DateTime dataFinalitzacio = new DateTime();
                        try
                        {
                            dataFinalitzacio = reader.GetDateTime(reader.GetOrdinal("data_finalitzacio"));
                        }
                        catch (Exception e)
                        {
                        }

                        Int32     preinscripcioOberta = reader.GetInt32(reader.GetOrdinal("preinscripcio_oberta"));
                        Modalitat mod = TorneigBD.selectModalitatPerId(reader.GetInt32(reader.GetOrdinal("modalitat_id")));
                        Torneig   t   = new Torneig(id, nom, dataAlta, dataFinalitzacio, preinscripcioOberta, mod);

                        tornejos.Add(t);
                    }
                }
            }
            return(tornejos);
        }
コード例 #14
0
        private void btnCrearTorneig_Click(object sender, RoutedEventArgs e)
        {
            if (!(txbTitol.Text.Length >= 2 || txbTitol.Text.Length > 30))
            {
                DisplayError("Error", "El nom del torneig es incorrecte(2-30 caracters)");
                return;
            }

            if (cmbModalitats.SelectedItem == null)
            {
                DisplayError("Error", "Modalitat incorrecte");
                return;
            }
            String         mSeleccionada = cmbModalitats.SelectedItem.ToString();
            Modalitat      m             = TorneigBD.selectModalitatPerNom(mSeleccionada);
            DateTimeOffset sourceTime    = dtpDataTorneig.Date;
            DateTime       data          = sourceTime.DateTime;
            String         dataEnString  = getDataSQLFromDateTime(data);
            Torneig        t             = new Torneig(txbTitol.Text, data, 1, m);

            TorneigBD.insertTorneig(t, dataEnString);
            lvTornejos.ItemsSource = TorneigBD.selectTornejos();
        }