Ejemplo n.º 1
0
        private void btn_uppdatera_Click(object sender, EventArgs e)
        {
            var newForm = new frm_adderaUppd();

            //Beroende på om det är fysiskt eller digitalt spel skickas nedladdningar eller enheter
            if (dgv_spel.CurrentRow.DataBoundItem is FysisktSpel)
            {
                FysisktSpel aktuelltFysSpel = (FysisktSpel)dgv_spel.CurrentRow.DataBoundItem;
                newForm.hamtaSpel(aktuelltFysSpel, 0, aktuelltFysSpel.Enheter);
            }
            else if (dgv_spel.CurrentRow.DataBoundItem is DigitaltSpel)
            {
                DigitaltSpel aktuelltDigSpel = (DigitaltSpel)dgv_spel.CurrentRow.DataBoundItem;
                newForm.hamtaSpel(aktuelltDigSpel, aktuelltDigSpel.Nedladdningar, 0);
            }
            //När man trycker på OK i adderaUppd-fönstret händer detta
            if (DialogResult.OK == newForm.ShowDialog())
            {
                //Uppdaterar listan med spel
                MinaSpel.Clear();
                LäsInAllaSpel(MinaSpel);
                dgv_spel.DataSource = null;
                dgv_spel.DataSource = MinaSpel;
            }
        }
Ejemplo n.º 2
0
        public void LäsInAllaSpel(List <Spel> MinaSpel)
        {
            //Hämtar koppling till databasen
            string connectionString =
                "SERVER=localhost;DATABASE=spelbutik;UID=lennart;PASSWORD=abcdef";
            MySqlConnection conn = new MySqlConnection(connectionString);

            conn.Open();

            //Söker efter alla spel
            string          sqlsats    = "SELECT * FROM spel";
            MySqlCommand    cmd        = new MySqlCommand(sqlsats, conn);
            MySqlDataReader dataReader = cmd.ExecuteReader();

            //Läser in alla spel
            while (dataReader.Read())
            {
                List <string> kolumner = new List <string>();

                //Samlar alla kolumner i en lista
                for (int i = 0; i < dataReader.FieldCount; i++)
                {
                    //Om en kolumn är NULL får den en string "NULL" för att undvika felmeddelande
                    if (!dataReader.IsDBNull(i))
                    {
                        kolumner.Add(dataReader.GetString(i));
                    }
                    else
                    {
                        kolumner.Add("NULL");
                    }
                }
                //Kollar ifall det är fysiskt eller digitalt spel
                bool fys = false;
                bool dig = false;

                //Om nedladdningar är noll kan det vara både fysiskt eller digitalt
                if (kolumner[8] == 0.ToString())
                {
                    //Om enheter också är noll är det helt ett nytt digitalt spel som inte laddats ner förut
                    if (kolumner[7] == 0.ToString())
                    {
                        dig = true;
                    }
                    //Annars är det ett fysiskt spel
                    fys = true;
                }
                //Om nedladdningar inte är noll är det ett digitalt spel
                else
                {
                    dig = true;
                }

                //Lägger till spelet i listan

                //Lägger bara till ett fysiskt spel om det finns enheter i lagret
                if (fys && kolumner[7] != 0.ToString())
                {
                    FysisktSpel sp = new FysisktSpel(int.Parse(kolumner[0]), kolumner[1], kolumner[2], int.Parse(kolumner[3]),
                                                     kolumner[4], int.Parse(kolumner[5]), int.Parse(kolumner[6]), int.Parse(kolumner[7]));
                    MinaSpel.Add(sp);
                }
                else if (dig)
                {
                    DigitaltSpel sp = new DigitaltSpel(int.Parse(kolumner[0]), kolumner[1], kolumner[2], int.Parse(kolumner[3]),
                                                       kolumner[4], int.Parse(kolumner[5]), int.Parse(kolumner[6]), int.Parse(kolumner[7]));
                    MinaSpel.Add(sp);
                }
            }
        }