コード例 #1
0
        /// <summary>
        /// Metodi joka päivittää käyttäjän valitseman näytöksen uusilla tiedoilla
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Paivita_Naytos_Click(object sender, RoutedEventArgs e)
        {
            Teatteri    teatteri = new Teatteri(cmb_ElokuvateatteriP1.Text, "Turku");
            Elokuvasali sali;

            //Luodaan erikokoiset salit teatterin ja salin nimen perusteella
            if (teatteri.Nimi.Equals("Teatteri1") && cmb_SalitP1.Text.Equals("Sali1"))
            {
                sali = new Elokuvasali(cmb_SalitP1.Text, 18, 10, teatteri);
            }
            else if (teatteri.Nimi.Equals("Teatteri1") && cmb_SalitP1.Text.Equals("Sali2"))
            {
                sali = new Elokuvasali(cmb_SalitP1.Text, 15, 15, teatteri);
            }
            else if (teatteri.Nimi.Equals("Teatteri2") && cmb_SalitP1.Text.Equals("Sali1"))
            {
                sali = new Elokuvasali(cmb_SalitP1.Text, 20, 10, teatteri);
            }
            else if (teatteri.Nimi.Equals("Teatteri2") && cmb_SalitP1.Text.Equals("Sali2"))
            {
                sali = new Elokuvasali(cmb_SalitP1.Text, 10, 10, teatteri);
            }
            else
            {
                sali = null;
            }

            aika = Convert.ToDateTime(dp_Paivitetty_Aika.Text);
            paivitettavaNaytos = new Näytös(this.paivitettavaElokuva, aika, sali, teatteri);

            paivitettavatNaytokset.RemoveAt(naytoksenIndeksi);
            paivitettavatNaytokset.Insert(naytoksenIndeksi, paivitettavaNaytos);
            paivitaNaytoksetP();
            clearNaytosPLisays();
        }
コード例 #2
0
        /// <summary>
        /// Metodi joka antaa käyttöön päivitä ja poista näytös - painikkeet kun käyttäjä valitsee
        /// näytöksen Päivitettävät näytöksen - datagridistä sekä täyttää näytöksen päivitykseen
        /// liittyvät UI elementit valitun näytöksen tiedoilla
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dg_Paivitettavat_Naytokset_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            clearNaytosPLisays();

            if (dg_Paivitettavat_Naytokset.SelectedIndex != -1)
            {
                btn_Paivita_Naytos.IsEnabled         = true;
                btn_Poista_Valittu_NaytosP.IsEnabled = true;

                naytoksenIndeksi   = dg_Paivitettavat_Naytokset.SelectedIndex;
                paivitettavaNaytos = paivitettavatNaytokset[naytoksenIndeksi];

                if (paivitettavaNaytos.Teatteri.Nimi.Equals("Teatteri1"))
                {
                    cmb_ElokuvateatteriP1.SelectedIndex = 0;
                }
                else
                {
                    cmb_ElokuvateatteriP1.SelectedIndex = 1;
                }

                if (paivitettavaNaytos.Sali.Nimi.Equals("Sali1"))
                {
                    cmb_SalitP1.SelectedIndex = 0;
                }
                else
                {
                    cmb_SalitP1.SelectedIndex = 1;
                }

                dp_Paivitetty_Aika.Value = paivitettavaNaytos.Aika;
            }
        }
コード例 #3
0
        private void Button_VaraaPaikat(object sender, RoutedEventArgs e)
        {
            Näytös      n = (TulevatNäytökset.SelectedItem as Näytös);
            Elokuvasali s = n.Sali;

            List <Paikka> varatutPaikat = _tietokanta.VaratutPaikat(n);

            ValitsePaikat.AlustaVarauksilla(s, varatutPaikat);

            Siirry("varaa_paikat");
        }
コード例 #4
0
        private void Button_TeeVaraus(object sender, RoutedEventArgs e)
        {
            Näytös n = TulevatNäytökset.SelectedItem as Näytös;

            foreach (Paikka p in ValitsePaikat.ValitutPaikat)
            {
                _tietokanta.VaraaPaikka(kayttaja, n, p);
            }

            Siirry("varaa_kiitos");
        }
コード例 #5
0
        /// <summary>
        /// Metodi joka lisää näytöksen Lisättävät näytökset - datagridiin
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Lisaa_Naytos_Click(object sender, RoutedEventArgs e)
        {
            if (cmb_Elokuvateatteri.Text.Equals("") || cmb_Salit.Equals("") || datep_Naytoksen_aika.Text.Equals(""))
            {
                tulostaIlmoitus("Tarvittavat näytöksen tiedot puuttuvat!", lbl_Elokuvan_Lisays_Ilmoitus, true);
            }
            else
            {
                Teatteri    teatteri = new Teatteri(cmb_Elokuvateatteri.Text, "Turku");
                Elokuvasali sali;

                //Luodaan erikokoiset salit teatterin ja salin nimen perusteella
                if (teatteri.Nimi.Equals("Teatteri1") && cmb_Salit.Text.Equals("Sali1"))
                {
                    sali = new Elokuvasali(cmb_Salit.Text, 18, 10, teatteri);
                }
                else if (teatteri.Nimi.Equals("Teatteri1") && cmb_Salit.Text.Equals("Sali2"))
                {
                    sali = new Elokuvasali(cmb_Salit.Text, 15, 15, teatteri);
                }
                else if (teatteri.Nimi.Equals("Teatteri2") && cmb_Salit.Text.Equals("Sali1"))
                {
                    sali = new Elokuvasali(cmb_Salit.Text, 20, 10, teatteri);
                }
                else if (teatteri.Nimi.Equals("Teatteri2") && cmb_Salit.Text.Equals("Sali2"))
                {
                    sali = new Elokuvasali(cmb_Salit.Text, 10, 10, teatteri);
                }
                else
                {
                    sali = null;
                }

                aika = Convert.ToDateTime(datep_Naytoksen_aika.Text);

                Näytös naytos = new Näytös(this.lisattavaElokuva, aika, sali, teatteri);
                lisattavatNaytokset.Add(naytos);

                dg_Lisattavat_Naytokset.Items.Add(new
                {
                    Elokuvateatteri = naytos.Teatteri.Nimi,
                    Sali            = naytos.Sali.Nimi,
                    Pvm             = naytos.Aika.ToShortDateString(),
                    Klo             = naytos.Aika.ToShortTimeString()
                });
            }
        }
コード例 #6
0
        /// <summary>
        /// Metodi joka palauttaa varatut paikat näytöksen perusteella
        /// </summary>
        /// <param name="naytos"></param>
        /// <returns></returns>
        public List <Paikka> VaratutPaikat(Näytös naytos)
        {
            var    res = new List <Paikka>();
            string sql = $"SELECT istumapaikka FROM varaukset WHERE elokuva='{naytos.Elokuva.Nimi}' AND naytosaika='{naytos.Aika.ToShortTimeString()}' AND elokuvasali='{naytos.Sali.Nimi}'";

            _sqlkomento = new SQLiteCommand(sql, _kantaYhteys);
            _sqllukija  = _sqlkomento.ExecuteReader();
            if (_sqllukija.FieldCount == 0)
            {
                return(res);                            // Taulu on tyhja
            }
            while (_sqllukija.Read())
            {
                res.Add(new Paikka(naytos.Sali, int.Parse(_sqllukija.GetString(0))));
            }
            return(res);
        }
コード例 #7
0
        /// <summary>
        /// Metodi joka lisää näytöksen Päivitettävät näytökset - listaan
        /// elokuvan näytösten päivittämistä varten
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Lisaa_NaytosP_Click(object sender, RoutedEventArgs e)
        {
            if (cmb_ElokuvateatteriP2.Text.Equals("") || cmb_SalitP2.Text.Equals("") || dp_Paivitetty_Aika2.Text.Equals(""))
            {
                tulostaIlmoitus("Tarvittavia tietoja puuttuu näytöksestä. Tarkista tiedot.", lbl_Naytokset_Paivitys_Ilmoitus, true);
            }
            else
            {
                Teatteri    teatteri = new Teatteri(cmb_ElokuvateatteriP2.Text, "Turku");
                Elokuvasali sali;

                //Luodaan erikokoiset salit teatterin ja salin nimen perusteella
                if (teatteri.Nimi.Equals("Teatteri1") && cmb_SalitP2.Text.Equals("Sali1"))
                {
                    sali = new Elokuvasali(cmb_SalitP2.Text, 18, 10, teatteri);
                }
                else if (teatteri.Nimi.Equals("Teatteri1") && cmb_SalitP2.Text.Equals("Sali2"))
                {
                    sali = new Elokuvasali(cmb_SalitP2.Text, 15, 15, teatteri);
                }
                else if (teatteri.Nimi.Equals("Teatteri2") && cmb_SalitP2.Text.Equals("Sali1"))
                {
                    sali = new Elokuvasali(cmb_SalitP2.Text, 20, 10, teatteri);
                }
                else if (teatteri.Nimi.Equals("Teatteri2") && cmb_SalitP2.Text.Equals("Sali2"))
                {
                    sali = new Elokuvasali(cmb_SalitP2.Text, 10, 10, teatteri);
                }
                else
                {
                    sali = null;
                }

                aika = Convert.ToDateTime(dp_Paivitetty_Aika2.Text);

                Näytös naytos = new Näytös(this.paivitettavaElokuva, aika, sali, teatteri);
                paivitettavatNaytokset.Add(naytos);
                paivitaNaytoksetP();
                clearNaytosPLisays();
            }
        }
コード例 #8
0
        /// <summary>
        /// Metodi joka palauttaa listan varatuista paikoista käyttäjän ja näytöksen perusteella
        /// </summary>
        /// <param name="n"></param>
        /// <param name="k"></param>
        /// <returns></returns>
        public List <Paikka> VaratutPaikat(Näytös n, Kayttaja k)
        {
            var    res = new List <Paikka>();
            string sql = $"SELECT * FROM varaukset WHERE naytosaika='{n.Aika.ToShortTimeString()}' AND elokuva='{n.Elokuva.Nimi}' AND elokuvasali='{n.Sali.Nimi}'";

            if (k != null)
            {
                sql += $" AND kayttajantunnus='{k.Tunnus}'";
            }

            _sqlkomento = new SQLiteCommand(sql, _kantaYhteys);
            _sqllukija  = _sqlkomento.ExecuteReader();
            if (_sqllukija.FieldCount == 0)
            {
                return(res);                            // Taulu on tyhja
            }
            while (_sqllukija.Read())
            {
                res.Add(new Paikka(n.Sali, int.Parse(_sqllukija.GetString(3))));
            }

            return(res);
        }
コード例 #9
0
 /// <summary>
 /// Metodi joka poistaa paikkavarauksen tietystä näytöksestä
 /// </summary>
 /// <param name="paikka"></param>
 /// <param name="naytos"></param>
 public void PoistaPaikkaVaraus(Paikka paikka, Näytös naytos)
 {
     Ajasql($"DELETE FROM varaukset WHERE elokuvasali='{paikka.Sali.Nimi}' AND naytosaika='{naytos.Aika.ToShortTimeString()}' AND istumapaikka='{paikka.PaikkaNro}' AND elokuva='{naytos.Elokuva.Nimi}' AND elokuvasali='{naytos.Sali.Nimi}' ");
 }
コード例 #10
0
 /// <summary>
 /// Metodi joka varaa paikan käyttäjälle tietystä näytöksestä
 /// </summary>
 /// <param name="kayttaja"></param>
 /// <param name="naytos"></param>
 /// <param name="paikka"></param>
 public void VaraaPaikka(Kayttaja kayttaja, Näytös naytos, Paikka paikka)
 {
     Ajasql($"INSERT INTO varaukset VALUES (null, '{naytos.Aika.ToShortTimeString()}', '{kayttaja.Tunnus}', {paikka.PaikkaNro}, '{naytos.Sali.Nimi}', '{naytos.Elokuva.Nimi}') ");
 }
コード例 #11
0
 /// <summary>
 /// Luo uuden näytöksen elokuvalle
 /// </summary>
 /// <param name="elokuva"></param>
 /// <param name="naytos"></param>
 public void SetElokuvanNaytos(Elokuva elokuva, Näytös naytos)
 {
     Ajasql($"INSERT INTO naytokset VALUES (null, '{elokuva.Nimi}', '{naytos.Aika}', '{naytos.Sali.Nimi}', '{naytos.Teatteri.Nimi}')");
 }