/// <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(); }
/// <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; } }
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"); }
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"); }
/// <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() }); } }
/// <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); }
/// <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(); } }
/// <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); }
/// <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}' "); }
/// <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}') "); }
/// <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}')"); }