// Accesseur en lecture, renvoi une instance public static PiecesTheatreDAO GetPiecesTheatreDAO() { if (unePieceTheatreDAO == null) { unePieceTheatreDAO = new PiecesTheatreDAO(); } return(unePieceTheatreDAO); }
// Renvoie la liste des représentations correspondant à la pièce de théatres ayant lieu durant une période passée en paramètres public static List <Show> GetFilterShows(int idTheaterPiece, DateTime dateDebutChoisie, DateTime dateFinChoisie) { //variables int idShow; DateTime uneDateHeure; //besoin de date et heure int nbPlaces; int idTaux; int idPiece; TheaterPiece laPiece = null; //besoin de nomPiece, durée PriceRate letaux = null; //calcul du prix pour date, heure, semaine Show uneRepresentation; // Récupération de la liste des pièces de théâtre List <TheaterPiece> lesPiecesDeTheatre = PiecesTheatreDAO.GetTheaterPieces(); // Récupération de la liste des taux List <PriceRate> lesTaux = GetPriceRateWeeksDays(); // Connexion à la BD SqlConnection maConnexion = ConnexionBD.GetConnexionBD().GetSqlConnexion(); // Création d'une liste vide d'objets lesRepresentations List <Show> lesRepresentations = new List <Show>(); SqlCommand cmd = new SqlCommand(); cmd.Connection = maConnexion; //paramètres SqlParameter paramIdPiece = new SqlParameter("@idPiece", SqlDbType.Int); paramIdPiece.Value = idTheaterPiece; SqlParameter paramDateDeb = new SqlParameter("@dateDeb", SqlDbType.VarChar); string date1; date1 = dateDebutChoisie.ToString("yyyy/MM/dd"); paramDateDeb.Value = date1; SqlParameter paramDateFin = new SqlParameter("@dateFin", SqlDbType.VarChar); string date2; date2 = dateFinChoisie.ToString("yyyy/MM/dd"); paramDateFin.Value = date2; //requête cmd.CommandText = "SELECT show_id,show_dateTime, show_seats, show_priceRate, show_theaterPiece FROM Show, Theater_piece WHERE show_theaterPiece = theaterPiece_id AND theaterPiece_id = @idPiece AND CAST(show_dateTime as DATE) BETWEEN @dateDeb AND @dateFin"; //ajout params cmd.Parameters.Add(paramIdPiece); cmd.Parameters.Add(paramDateDeb); cmd.Parameters.Add(paramDateFin); SqlDataReader monReader = cmd.ExecuteReader(); // Remplissage de la liste while (monReader.Read()) { idShow = Int32.Parse(monReader["show_id"].ToString()); uneDateHeure = (DateTime)monReader["show_dateTime"]; nbPlaces = Int32.Parse(monReader["show_seats"].ToString()); idTaux = Int32.Parse(monReader["show_priceRate"].ToString()); idPiece = Int32.Parse(monReader["show_theaterPiece"].ToString()); bool trouve = false; int i = 0; while (trouve == false && i < lesPiecesDeTheatre.Count) { if (lesPiecesDeTheatre[i].TheaterPiece_id == idPiece) { // Si on l'a, on l'ajoute laPiece = lesPiecesDeTheatre[i]; trouve = true; } else { i++; } } // On trouve dans la liste des pièces de théâtres celle correspondant à l'id bool trouve2 = false; int i2 = 0; while (trouve2 == false && i2 < lesTaux.Count) { if (lesTaux[i2].PriceRate_id == idTaux) { // Si on l'a, on l'ajoute letaux = lesTaux[i2]; trouve2 = true; } else { i2++; } } uneRepresentation = new Show(idShow, uneDateHeure, nbPlaces, letaux, laPiece); lesRepresentations.Add(uneRepresentation); } monReader.Close(); // Fermeture de la connexion maConnexion.Close(); return(lesRepresentations); }
// Renvoie la liste des représentations // Utilise la DAO PiecesTheatres pour avoir la liste des pièces // besoin du taux (et donc des jours) public static List <Show> GetShows() { //variables int idShow = 0; DateTime uneDateHeure = new DateTime(2018, 01, 01, 00, 00, 00); //besoin de date et heure int nbPlaces = 0; TheaterPiece laPiece = null; //besoin de nomPiece, durée PriceRate letaux = null; //calcul du prix pour date, heure, semaine Show uneRepresentation = null; // Création d'une liste vide d'objets lesRepresentations List <Show> lesRepresentations = new List <Show>(); // Récupération de la liste des pièces de théâtre List <TheaterPiece> lesPiecesDeTheatre = PiecesTheatreDAO.GetTheaterPieces(); // Récupération de la liste des taux List <PriceRate> lesTaux = GetPriceRateWeeksDays(); // Connexion à la BD SqlConnection maConnexion = ConnexionBD.GetConnexionBD().GetSqlConnexion(); SqlCommand cmd = new SqlCommand(); cmd.Connection = maConnexion; cmd.CommandText = "SELECT * FROM Show"; SqlDataReader monReader = cmd.ExecuteReader(); // Remplissage de la liste while (monReader.Read()) { idShow = Int32.Parse(monReader["show_id"].ToString()); uneDateHeure = (DateTime)monReader["show_dateTime"]; nbPlaces = Int32.Parse(monReader["show_seats"].ToString()); int idDutaux = Convert.ToInt32(monReader["show_priceRate"].ToString()); int idPiece = Convert.ToInt32(monReader["show_theaterPiece"].ToString()); // On trouve dans la liste des pièces de théâtres celle correspondant à l'id bool trouve = false; int i = 0; while (trouve == false && i < lesPiecesDeTheatre.Count) { if (lesPiecesDeTheatre[i].TheaterPiece_id == idPiece) { // Si on l'a, on l'ajoute laPiece = lesPiecesDeTheatre[i]; trouve = true; } else { i++; } } bool trouve2 = false; int i2 = 0; while (trouve2 == false && i2 < lesTaux.Count) { if (lesTaux[i2].PriceRate_id == idDutaux) { // Si on l'a, on l'ajoute letaux = lesTaux[i2]; trouve2 = true; } else { i2++; } } uneRepresentation = new Show(idShow, uneDateHeure, nbPlaces, letaux, laPiece); lesRepresentations.Add(uneRepresentation); } monReader.Close(); // Fermeture de la connexion maConnexion.Close(); return(lesRepresentations); }