示例#1
0
 public Offre(string id, TypeChambre chambre, DateTime deb, DateTime fin, double prix)
 {
     this.idOffre        = id;
     this.numChambre     = chambre;
     this.deb            = deb;
     this.fin            = fin;
     this.prixTotalOffre = prix;
 }
示例#2
0
        public void reservationHotel(List <Hotel> resList, List <Hotel> baseList)
        {
            String   nom;
            String   nomPersonne;
            String   prenom;
            int      numeroCarte;
            int      nbPersonne;
            DateTime dateArrivee;
            DateTime dateDepart;

            Console.WriteLine("Veuillez indiquer le nom de l'hotel que vous voulez sélectionnez");
            nom = Console.ReadLine();

            Console.WriteLine("Veuillez indiquez les informations suivantes pour que votre réservation soit prise en compte : Nom, Prénom, Numéro de carte bancaire, Nombre de personnes, Date d'arrivé et de départ");
            nomPersonne = Console.ReadLine();
            prenom      = Console.ReadLine();
            numeroCarte = Convert.ToInt32(Console.ReadLine());
            nbPersonne  = Convert.ToInt32(Console.ReadLine());
            dateArrivee = Convert.ToDateTime(Console.ReadLine());
            dateDepart  = Convert.ToDateTime(Console.ReadLine());

            TypeChambre z = null;

            foreach (Hotel x in baseList)
            {
                if (x.nomHotel.Equals(nom))
                {
                    TimeSpan total = (dateDepart - dateArrivee);
                    double   temp  = total.TotalDays;
                    Console.WriteLine(temp);
                    double      prixTotal = (int)(x.prixNuit * nbPersonne) * temp;
                    Reservation res       = new Reservation(nomPersonne, prenom, numeroCarte, dateArrivee, dateDepart, nbPersonne, prixTotal);
                    //recherche la premiere chambre libre et fais la reservation
                    //si elle n'existe pas/la reservation n'a pas pu etre effectuer renvoie null
                    TypeChambre chambre = x.Reserver(res);

                    if (chambre.Equals(z) == false)
                    {
                        //info hotel
                        Console.WriteLine(x.ToString());
                        //info chambre
                        Console.WriteLine(chambre.ToString());
                        //info reservation
                        chambre.ToStringListReservation();
                        Console.WriteLine("Votre réservation a été effectué");
                    }
                    else
                    {
                        Console.WriteLine("Désoler il n'y a pas de chambre disponible dans cet hotel pour vous");
                    }
                }
            }
        }
示例#3
0
        public void InitChambre()
        {
            var rand       = new Random();
            int numChambre = 0;
            int x          = rand.Next(10, 40);

            for (int i = 0; i < x; i++)
            {
                int         lits    = rand.Next(1, 4);
                TypeChambre chambre = new TypeChambre(numChambre, lits);
                numChambre += 1;
                this.ListChambres.Add(chambre);
            }
        }
示例#4
0
        public TypeChambre Reserver(Reservation r)
        {
            TypeChambre chambre = this.chambreDisponible(r.dateArrivee, r.dateDepart, r.nbPersonne);
            TypeChambre z       = null;

            if (chambre.Equals(z))
            {   //pas de chambre disponible
                return(z);
            }
            else
            {
                chambre.ajoutReservation(r);
            }
            return(chambre);
        }
示例#5
0
        /*   public Chambre chambreDisponible(DateTime debut, DateTime fin, int nbLits)
         * {
         *     foreach(Chambre x in this.ListChambres)
         *     {
         *         if(x.nbLits >= nbLits)
         *         {
         *             return x;
         *         }
         *     }
         *
         *     return null;
         * }*/

        public TypeChambre chambreDisponible(DateTime debut, DateTime fin, int nbLits)
        {
            TypeChambre z = null;

            foreach (TypeChambre x in this.ListChambres)
            {
                //vérifie si la chambre est disponible
                if (x.estDisponible(debut, fin, nbLits))
                {
                    return(x);
                }
            }
            //l'hotel n'as pas de chambre (vide) ou elles sont toute occupé pendant la période
            return(z);
        }
示例#6
0
        public Reservation faireReservation(string login, string password, string idOffre, string nomPersonne, string prenom, int numeroCB, int nbPersonne)
        {
            hotel.checkConnexion(login, password);
            Reservation resFinal = new Reservation();

            foreach (Offre x in hotel.listTemp)
            {
                if (x.idOffre == idOffre)
                {
                    Reservation res = new Reservation(nomPersonne, prenom, numeroCB, x.deb, x.fin, nbPersonne, x.prixTotalOffre);
                    resFinal = res;
                    //recherche la premiere chambre libre et fais la reservation
                    //si elle n'existe pas/la reservation n'a pas pu etre effectuer renvoie null
                    TypeChambre chambre = hotel.hotelPasCher.Reserver(res);
                    return(resFinal);
                }
            }
            return(resFinal);
        }
示例#7
0
        public List <Hotel> rechercheHotel(List <Hotel> research)
        {
            String       pays;
            int          nbEtoiles;
            int          intervalleBas;
            int          intervalleHaut;
            int          nbPersonnes;
            DateTime     dateArrivee;
            DateTime     dateDepart;
            List <Hotel> res = research;

            Console.WriteLine("Veuillez saisir le pays de destination, le nombre d'étoiles, intervallePrixHaut, intervallePrixBas, le nombre de personnes, dateArrivee et dateDepart : ");
            pays           = Console.ReadLine();
            nbEtoiles      = Convert.ToInt32(Console.ReadLine());
            intervalleHaut = Convert.ToInt32(Console.ReadLine());
            intervalleBas  = Convert.ToInt32(Console.ReadLine());
            nbPersonnes    = Convert.ToInt32(Console.ReadLine());
            dateArrivee    = Convert.ToDateTime(Console.ReadLine());
            dateDepart     = Convert.ToDateTime(Console.ReadLine());


            //Gestion pays

            foreach (Hotel x in res.ToList())
            {
                if (!(x.paysHotel.Equals(pays)))
                {
                    research.Remove(x);
                    // Console.WriteLine(x.ToString());
                }
            }

            res = research;

            //Gestion nbEtoiles
            foreach (Hotel x in res.ToList())
            {
                if (x.nbEtoiles < nbEtoiles)
                {
                    research.Remove(x);
                    // Console.WriteLine(x.ToString());
                }
            }

            res = research;

            //Gestion intervalle
            foreach (Hotel x in res.ToList())
            {
                if (x.prixNuit > intervalleHaut || x.prixNuit < intervalleBas)
                {
                    research.Remove(x);
                    Console.WriteLine(x.ToString());
                }
            }

            res = research;

            //Gestion date
            foreach (Hotel x in res.ToList())
            {
                TypeChambre z = null;
                if (x.chambreDisponible(dateArrivee, dateDepart, nbPersonnes).Equals(z))
                {
                    research.Remove(x);
                }
            }

            res = research;

            Console.WriteLine("j'affiche");
            ToStringList(research);

            return(research);
        }