// **************************Afficher les détait de la chambre selectionnée Il prend en parametre Id=Numerod de chambre*****************************************//
        // GET: Reservations/Details/5
        public async Task <IActionResult> Details(short id, int ids)
        {
            if (id == 0)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                var cmb = new List <Chambre>();

                // Requête SQL optimisée : on ramène uniquement les infos nécessaires
                string req = @" select Numero, Etage, Bain, WC, NbLits, Prix, Prix*@NbreNuit as PrixTotale
                            from Chambre
                            inner join TarifChambre on NumChambre=Numero
                            inner join Tarif on Code = CodeTarif
                            where Numero = @NumChambre and YEAR(DateDebut) = YEAR(GETDATE())
                            group by  Numero, Etage, Bain, WC, NbLits, Prix";

                using (var conn = (SqlConnection)_context.Database.GetDbConnection())
                {
                    var cmd = new SqlCommand(req, conn);
                    cmd.Parameters.Add(new SqlParameter {
                        ParameterName = "NumChambre", Value = id
                    });
                    cmd.Parameters.Add(new SqlParameter {
                        ParameterName = "NbreNuit", Value = ids
                    });

                    await conn.OpenAsync();

                    using (var sdr = await cmd.ExecuteReaderAsync())
                    {
                        while (sdr.Read())
                        {
                            var res = new Chambre();

                            res.Numero      = (short)sdr["Numero"];
                            res.Etage       = (byte)sdr["Etage"];
                            res.Bain        = (bool)sdr["Bain"];
                            res.Wc          = (bool)sdr["WC"];
                            res.NbLits      = (byte)sdr["NbLits"];
                            res.PrixChambre = (decimal)sdr["Prix"];
                            res.PrixTotal   = (decimal)sdr["PrixTotale"];

                            cmb.Add(res);
                        }
                    }
                    HttpContext.Session.SetObjectAsJson("Cham", cmb);
                }

                return(View("Details", cmb));
            }
            return(View("Details"));
        }
Beispiel #2
0
        public ActionResult Create([Bind(Include = "ChambreId,numero,type")] Chambre chambre)
        {
            if (ModelState.IsValid)
            {
                db.DbSetChambre.Add(chambre);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(chambre));
        }
Beispiel #3
0
        public async Task <IActionResult> Create([Bind("Numero,Etage,Bain,Douche,Wc,NbLits,NumTel")] Chambre chambre)
        {
            if (ModelState.IsValid)
            {
                _context.Add(chambre);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(chambre));
        }
Beispiel #4
0
 public void AddChambre(Chambre chambre)
 {
     using (Entities.AppContext context = new Entities.AppContext())
     {
         if (chambre != null)
         {
             context.Chambres.Add(chambre);
             context.SaveChanges();
         }
     }
 }
Beispiel #5
0
        public ActionResult Create([Bind(Include = "idCh,codeCh,libelle")] Chambre chambre)
        {
            if (ModelState.IsValid)
            {
                db.chambres.Add(chambre);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(chambre));
        }
Beispiel #6
0
 public void RemoveChambre(int id)
 {
     using (Entities.AppContext context = new Entities.AppContext())
     {
         Chambre chambreToRemove = context.Chambres.Find(id);
         if (chambreToRemove != null)
         {
             context.Chambres.Remove(chambreToRemove);
             context.SaveChanges();
         }
     }
 }
 private void EcrireChambre(Chambre chambre)
 {
     request = "INSERT INTO Chambre (tarif, statut, nbOccp, hotel_id) output inserted.id values " +
               "(@tarif, @statut, @nbOccp, @hotel_id)";
     command = new SqlCommand(request, DataBase.Connection, transaction);
     command.Parameters.Add(new SqlParameter("@tarif", chambre.Tarif));
     command.Parameters.Add(new SqlParameter("@statut", chambre.Statut));
     command.Parameters.Add(new SqlParameter("@nbOccp", chambre.NbOccp));
     command.Parameters.Add(new SqlParameter("@hotel_id", hotelId));
     chambre.Numero = (int)command.ExecuteScalar();
     command.Dispose();
 }
 private void ValidateButton_Clicked(object sender, EventArgs e)
 {
     //Verify fields are valid
     if (FieldsValidated())
     {
         try
         {
             //instanciate the new item
             var newChamber = new Chambre {
                 Nom = ChamberNameEntry.Text, Longitude = float.Parse(LongitudeEntry.Text), Latitude = float.Parse(LatitudeEntry.Text)
             };
             //Create json object containing two items (old and new)
             var jsonChambers = JsonConvert.SerializeObject(new List <Chambre> {
                 Chamber, newChamber
             });
             //Create a byte array of the jon object for the request
             var bytesChambers = Encoding.UTF8.GetBytes(jsonChambers);
             //Create the request
             var req = WebRequest.CreateHttp(Constants.UpdateChamberURL);
             //Set the request method to put
             req.Method = "PUT";
             //Set the request content-type to application/json
             req.ContentType = "application/json";
             //Write the data in the request stream
             req.GetRequestStream().Write(bytesChambers, 0, bytesChambers.Length);
             //Get the response as a string using StreamReader
             var resp = new StreamReader(req.GetResponse().GetResponseStream()).ReadToEnd();
             //Check if the response matches the expected output
             if (resp.Equals("Chamber updated Successfully"))
             {
                 //Show confirmation alert
                 DisplayAlert("Succés", "Chambre modifiée avec succés", "Ok");
                 //Close the Edit Page => go back to All Chambers page
                 Navigation.PopAsync();
             }
             else
             {
                 //The response is not as expected
                 DisplayAlert("Échec", "La modification de chambre a échoué", "ok");
             }
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.Message);
             DisplayAlert("Erreur", "Verifier les valuers entrées", "Ok");
         }
     }
     else
     {
         DisplayAlert("Erreur", "Verifier les valuers entrées", "Ok");
     }
 }
Beispiel #9
0
 private void ChambersListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
 {
     if (ChambersListView.SelectedItem != null)
     {
         Chambre             = Chambers.FirstOrDefault(x => x.Nom == ChambersListView.SelectedItem.ToString());
         CurrentChamber.Text = $"Nom: {Chambre.Nom}\n\n\n\nLongitude: {Chambre.Longitude}\n\n\n\nLatitude: {Chambre.Latitude}";
         Device.BeginInvokeOnMainThread(() =>
         {
             DeleteButton.IsEnabled = true;
             EditButton.IsEnabled   = true;
         });
     }
 }
Beispiel #10
0
        private String SendChamber(Chambre chambre)
        {
            var req = WebRequest.CreateHttp(Constants.AddChamberURL);

            req.Method      = "POST";
            req.ContentType = "application/json";
            var jsonChambre      = JsonConvert.SerializeObject(chambre);
            var byteArrayChambre = Encoding.UTF8.GetBytes(jsonChambre);

            req.GetRequestStream().Write(byteArrayChambre, 0, byteArrayChambre.Length);
            var resp = new StreamReader(req.GetResponse().GetResponseStream()).ReadToEnd();

            return(resp);
        }
Beispiel #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int ID = 0;

            if (Request.QueryString["ID"] != null)
            {
                ID = int.Parse(Request.QueryString["ID"]);
            }
            else
            {
                Response.Redirect("Default.aspx");
            }
            Membre proprio = null;

            if (Session[Logements.SESSIONMEMBRE] as Membre == null)
            {
                Response.Redirect("Default.aspx");
            }
            else
            {
                proprio = Session[Logements.SESSIONMEMBRE] as Membre;
            }

            chambreModif = ChambreFactory.Get(((Logements)Master).CnnStr, ID, "", 0)[0];

            if (proprio.IsAdmin)
            {
            }
            else if (chambreModif.IdMembre != proprio.Id)
            {
                Response.Redirect("Default.aspx");
            }

            if (!Page.IsPostBack)
            {
                txtPrix.Text              = chambreModif.Prix.ToString();
                txtAddresse.Text          = chambreModif.Adresse;
                txtVille.Text             = chambreModif.Ville;
                txtCodePostal.Text        = chambreModif.CodePostal;
                ddlCategory.SelectedValue = chambreModif.Category;
                txtDetails.Text           = chambreModif.Details;
                chkAnimaux.Checked        = chambreModif.Animaux;
                chkDeneige.Checked        = chambreModif.Deneigement;
                chkFumeur.Checked         = chambreModif.Fumeur;
                chkInternet.Checked       = chambreModif.Internet;
                chkMobile.Checked         = chambreModif.MobiliteReduite;
                chkStationnement.Checked  = chambreModif.Stationnement;
                btnImage.PostBackUrl      = "PictureManager.aspx?ID=" + chambreModif.Id;
            }
        }
Beispiel #12
0
        // GET: Chambres/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Chambre chambre = db.chambres.Find(id);

            if (chambre == null)
            {
                return(HttpNotFound());
            }
            return(View(chambre));
        }
Beispiel #13
0
        public string MakeReservation(string jsonReservation)
        {
            Reservation reservation = JsonConvert.DeserializeObject <Reservation>(jsonReservation);

            if (hotel.Chambres[reservation.ChambreId] == null)
            {
                return(null);
            }

            Chambre chambre = hotel.Chambres[reservation.ChambreId];

            chambre.Disponible = false;
            chambre.Reservations.Add(reservation);
            return("Réservation effectué avec succées!");
        }
Beispiel #14
0
 public void UpdateChambre(Chambre chambre)
 {
     using (Entities.AppContext context = new Entities.AppContext())
     {
         Chambre chambresToUpdate = context.Chambres.Find(chambre.Numero);
         if (chambresToUpdate != null)
         {
             chambresToUpdate.Numero            = chambre.Numero;
             chambresToUpdate.NumEtage          = chambre.NumEtage;
             chambresToUpdate.NbLit             = chambre.NbLit;
             chambresToUpdate.LitEnfant         = chambre.LitEnfant;
             chambresToUpdate.LitDouble         = chambre.LitDouble;
             chambresToUpdate.DateDernierMenage = chambre.DateDernierMenage;
             context.SaveChanges();
         }
     }
 }
        public static void PutChambre(Chambre chambre)
        {
            if (ConnexionBD.Instance().EstConnecte())
            {
                ConnexionBD.Instance().ExecuterRequete(
                    string.Format(
                        "UPDATE Chambres " +
                        "SET nom = '{0}' " +
                        "WHERE idChambre = {1}",
                        chambre.Numero, chambre._identifiant
                        )
                    );

                DataModelLit.PutLits(chambre._identifiant, new List <Lit>(chambre.Lits));
                DataModelEquipement.DeleteEquipementsChambre(chambre._identifiant);
                DataModelEquipement.PostEquipementsChambres(chambre._identifiant, new List <Equipement>(chambre.Equipements));
            }
        }
        public static void PostChambre(int idDepartement, Chambre chambre)
        {
            if (ConnexionBD.Instance().EstConnecte())
            {
                ConnexionBD.Instance().ExecuterRequete(
                    string.Format(
                        "INSERT INTO Chambres (nom, idDepartement) " +
                        "VALUES ('{0}', {1}) ",
                        chambre.Numero, idDepartement
                        )
                    );

                int idChambre = GetIdChambre(chambre.Numero);

                if (idChambre != -1)
                {
                    DataModelLit.PostLits(idChambre, new List <Lit>(chambre.Lits));
                    DataModelEquipement.PostEquipementsChambres(idChambre, new List <Equipement>(chambre.Equipements));
                }
            }
        }
Beispiel #17
0
        private void LireChambresReservation(Reservation reservation)
        {
            List <Chambre> listeChambres = LireChambres();

            if (File.Exists($"{nomHotel}-{pathReservationsChambres}"))
            {
                reader = new StreamReader($"{nomHotel}-{pathReservationsChambres}");
                string ligne = reader.ReadLine();
                while (ligne != null)
                {
                    string[] ligneTab = ligne.Split(';');
                    if (Convert.ToInt32(ligneTab[0]) == reservation.Numero)
                    {
                        Chambre chambre = listeChambres.Find(c => c.Numero == Convert.ToInt32(ligneTab[1]));
                        reservation.Chambres.Add(chambre);
                    }
                    ligne = reader.ReadLine();
                }
                reader.Close();
            }
        }
Beispiel #18
0
        public ChambreVM DetailDeChambre(int numero)
        {
            ChambreVM chb = new ChambreVM();

            try
            {
                Chambre chambre = new Chambre();
                short   num     = (short)numero;
                chambre    = grandhotel.Chambre.Where(x => x.Numero == num).FirstOrDefault();
                chb.Numero = chambre.Numero;
                chb.Bain   = chambre.Bain;
                chb.Douche = chambre.Douche;
                chb.Etage  = chambre.Etage;
                chb.NbLits = chambre.NbLits;
                chb.NumTel = chambre.NumTel;
                chb.Wc     = chambre.Wc;
            }
            catch (Exception ex)
            {
            }
            return(chb);
        }
        public static void DeleteChambre(Chambre chambre)
        {
            if (ConnexionBD.Instance().EstConnecte())
            {
                ConnexionBD.Instance().ExecuterRequete(
                    string.Format(
                        "DELETE FROM Chambres " +
                        "WHERE idChambre = {0}",
                        chambre._identifiant
                        )
                    );

                if (chambre.Lits != null && chambre.Lits.Count > 0)
                {
                    DataModelLit.DeleteLits(chambre._identifiant);
                }
                if (chambre.Equipements != null && chambre.Equipements.Count > 0)
                {
                    DataModelEquipement.DeleteEquipementsChambre(chambre._identifiant);
                }
            }
        }
Beispiel #20
0
        public double calculPrix(int idChambre, int nbDizaine, int nbCinq, int reste)
        {
            double prix = 0;

            using (Entities.AppContext context = new Entities.AppContext())
            {
                ChambreReservee crToRemove = context.ChambreReservees.Find(idChambre);
                if (crToRemove != null)
                {
                    Chambre chambre = context.Chambres.Find(crToRemove.Numero);
                    if (chambre != null)
                    {
                        List <Prix> lstPrix = chambre.LstPrix.ToList();
                        if (lstPrix != null)
                        {
                            foreach (Prix prix1 in lstPrix)
                            {
                                switch (prix1.NbNuit)
                                {
                                case 1:
                                    prix += reste * (double)prix1.prix;
                                    break;

                                case 5:
                                    prix += nbCinq * (double)prix1.prix;
                                    break;

                                case 10:
                                    prix += nbDizaine * (double)prix1.prix;
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            return(prix);
        }
Beispiel #21
0
        public HotelRepository()
        {
            hotel = new Hotel("plaza", 4, new Adresse("France", "Paris", "105 rue claude", "67500"), "hotel prés de la riviére");

            chambres = new List <Chambre>();
            Chambre c1 = new Chambre("P1", "normale", "une chambre un lit dedans", 45, 1);

            c1.image = "https://media-cdn.tripadvisor.com/media/photo-s/07/60/35/a8/hotel-des-pavillons.jpg";
            Chambre c2 = new Chambre("P2", "vip", "une chambre un grand lit dedans", 65, 1);

            c2.image = "https://lh3.googleusercontent.com/proxy/n3gAX1-HYRo3qlK9YpVqo2c48mfw1QQCqHmvYXjO73reQLduMou-k4BGMXRe6b61OimmKZeRjsRjOwb0maZEUpV-L9f6Ln3L3EtCvLPwIieX720nUWOcclzTsZGscuXYAJEOqw2Z4AQJCDNTdb10E3SK";
            Chambre c3 = new Chambre("P3", "normale", "une chambre deux lit dedans", 60, 2);

            c3.image = "https://media-cdn.tripadvisor.com/media/photo-s/01/3a/4d/09/two-beds-in-the-smart.jpg";
            Chambre c4 = new Chambre("P4", "vip", "une chambre deux grand lit dedans", 105, 2);

            c4.image = "https://www.seaportboston.com/resourcefiles/mainimages/seaport-hotel-world-trade-center-boston-deluxe-room-two-double-beds.jpg";
            chambres.Add(c1);
            chambres.Add(c2);
            chambres.Add(c3);
            chambres.Add(c4);
            hotel.chambre = chambres;
        }
        private void LireChambresReservation(Reservation reservation)
        {
            request = "SELECT id, tarif, statut, nbOccp from reservation_chambre rc inner join chambre c on c.id = rc.chambre_id " +
                      "where rc.reservation_id = @reservationId";
            command = new SqlCommand(request, DataBase.Connection);
            command.Parameters.Add(new SqlParameter("@reservationId", reservation.Numero));
            DataBase.Connection.Open();
            reader = command.ExecuteReader();
            while (reader.Read())
            {
                Chambre chambre = new Chambre()
                {
                    Numero = reader.GetInt32(0),
                    Tarif  = reader.GetDecimal(1),
                    NbOccp = reader.GetInt32(3),
                    Statut = (StatutChambre)Convert.ToInt32(reader.GetString(2))
                };

                reservation.Chambres.Add(chambre);
            }
            reader.Close();
            command.Dispose();
        }
Beispiel #23
0
        protected void btnAjouter_Click(object sender, EventArgs e)
        {
            int    idMembre      = membreConnecte.Id;
            double prix          = double.Parse(txtPrix.Text);
            string adresse       = txtAddresse.Text;
            string ville         = txtVille.Text;
            string codePostal    = txtCodePostal.Text;
            string details       = txtDetails.Text;
            bool   animaux       = chkAnimaux.Checked;
            bool   internet      = chkInternet.Checked;
            bool   stationnement = chkStationnement.Checked;
            bool   deneigement   = chkDeneige.Checked;
            int    meuble        = 0;

            if (rdM.Checked)
            {
                meuble = 2;
            }
            else if (rdSM.Checked)
            {
                meuble = 1;
            }
            else if (rdV.Checked)
            {
                meuble = 0;
            }
            bool   mobiliteReduite = chkMobile.Checked;
            bool   fumeur          = chkFumeur.Checked;
            int    quantite        = int.Parse(txtQuantite.Text);
            string category        = ddlCategory.SelectedValue.ToString();

            Chambre chambre = new Chambre(0, idMembre, prix, adresse, ville, codePostal, details, animaux, internet, stationnement, deneigement, meuble, mobiliteReduite, fumeur, quantite, category);

            ChambreFactory.Save(((Logements)Master).CnnStr, chambre);

            Response.Redirect("Default.aspx");
        }
        // GET: Chambres/Details/5
        //[Authorize]
        public IActionResult Details(short?id, string status)
        {
            ViewBag.DetailStatus = status;
            var      vmChambre = new ChambreVM();
            var      chambres  = new Chambre();
            DateTime date      = new DateTime(DateTime.Now.Year, 01, 01);

            if (id == null)
            {
                return(NotFound());
            }
            var tarif = _context.TarifChambre
                        .Include(tc => tc.NumChambreNavigation)
                        .Include(tc => tc.CodeTarifNavigation)
                        .Where(tc => tc.CodeTarifNavigation.DateDebut >= date && tc.NumChambreNavigation.Numero == id).FirstOrDefault();

            if (chambres == null)
            {
                return(NotFound());
            }
            ViewBag.id             = id;
            vmChambre.TarifChambre = tarif;
            return(View(vmChambre));
        }
Beispiel #25
0
        public void AddButton_Clicked(object sender, EventArgs e)
        {
            if (FieldsValidated())
            {
                try
                {
                    var chambre = new Chambre {
                        Nom = ChamberNameEntry.Text, Longitude = float.Parse(LongitudeEntry.Text), Latitude = float.Parse(LatitudeEntry.Text)
                    };
                    var chamberInsertResult = SendChamber(chambre);


                    if (chamberInsertResult.Equals("Chamber Added Successfully"))
                    {
                        DisplayAlert("Succés", "Chambre ajoutée avec succés", "Ok");
                        ChamberNameEntry.Text = "";
                        LongitudeEntry.Text   = "";
                        LatitudeEntry.Text    = "";
                    }

                    if (chamberInsertResult.Equals("Chamber Name exists in the database"))
                    {
                        DisplayAlert("Érreur", "Chambre de même nom existe déja", "Ok");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    DisplayAlert("Erreur", "Verifier les valuers entrées", "Ok");
                }
            }
            else
            {
                DisplayAlert("Erreur", "Verifier les valuers entrées", "Ok");
            }
        }
Beispiel #26
0
        protected void btnModifier_Click(object sender, EventArgs e)
        {
            double prix        = double.Parse(txtPrix.Text);
            string adresse     = txtAddresse.Text;
            string ville       = txtVille.Text;
            string codePostal  = txtCodePostal.Text;
            string details     = txtDetails.Text;
            bool   animaux     = chkAnimaux.Checked;
            bool   internet    = chkInternet.Checked;
            bool   station     = chkStationnement.Checked;
            bool   deneigement = chkDeneige.Checked;
            int    meuble      = 0;

            if (rdM.Checked)
            {
                meuble = 2;
            }
            else if (rdSM.Checked)
            {
                meuble = 1;
            }
            else if (rdV.Checked)
            {
                meuble = 0;
            }

            bool   mobile   = chkMobile.Checked;
            bool   fumeur   = chkFumeur.Checked;
            int    quantite = int.Parse(txtQuantite.Text);
            string category = ddlCategory.SelectedValue;

            Chambre nouvChambre = new Chambre(chambreModif.Id, chambreModif.IdMembre, prix, adresse, ville, codePostal, details, animaux, internet, station, deneigement, meuble, mobile, fumeur, quantite, category);

            ChambreFactory.Update(nouvChambre, ((Logements)Master).CnnStr);
            Response.Redirect("chambres.aspx");
        }
Beispiel #27
0
        public HotelRepository()
        {
            hotel = new Hotel("Ibiza", 3, new Adresse("France", "Strasbourg", "16 rue de macon", "67100"), "hotel prés de place de clibére");

            chambres = new List <Chambre>();
            Chambre c1 = new Chambre("P1", "normale", "une chambre un lit dedans", 40, 1);

            c1.image = "https://medias.bestwestern.fr/props_iceportal/85483/64474158_XL.jpg?frz-v=22";
            Chambre c2 = new Chambre("P2", "vip", "une chambre vip un grand lit dedans", 75, 1);

            c2.image = "https://gevorahotels.com/wp-content/uploads/2020/06/MYP_0336-HDR-scaled.jpg";

            Chambre c3 = new Chambre("P3", "normale", "une chambre deux lit dedans", 70, 2);

            c3.image = "https://www.ahstatic.com/photos/1871_roskb_00_p_1024x768.jpg";
            Chambre c4 = new Chambre("P4", "vip", "une chambre vip deux grand lit dedans", 155, 2);

            c4.image = "";
            chambres.Add(c1);
            chambres.Add(c2);
            chambres.Add(c3);
            chambres.Add(c4);
            hotel.chambre = chambres;
        }
Beispiel #28
0
 public ChambreANettoyerViewModel(Chambre cn, ChambresANettoyerService srv)
 {
     Srv         = srv;
     ChambreANet = cn;
 }
        //----------------- GET: ListeChambres--------------------//
        //--------- Action appelée depuis la vue Index------------//


        public async Task <IActionResult> Index(int etat)
        //------------Filtrage selon disponibilité-----------------//
        {
            ViewBag.Etats = new Dictionary <int, string>()
            {
                { 0, "Toutes" },
                { -1, "Occupées" },
                { 1, "Disponibles" }
            };

            //----- Mémorisation de valeurs de filtres saisies------//
            ViewBag.EtatSelec = etat;
            var listChambres          = new List <Chambre>();
            var listeDeschambresTotal = _context.Chambre.Include(c => c.TarifChambre).ThenInclude(t => t.CodeTarifNavigation).ToList();

            //---------Liste de toutes les chambres version1----------------//
            //if (etat == 0)
            //{
            //    string req = @"select TF.NumChambre, T.Prix
            //                from Tarif T inner join TarifChambre TF on (T.Code=TF.CodeTarif)
            //                where year(T.DateDebut)=year(GETDATE())";

            //    using (var conn = (SqlConnection)_context.Database.GetDbConnection())
            //    {
            //        var cmd = new SqlCommand(req, conn);
            //        await conn.OpenAsync();

            //        using (var sdr = await cmd.ExecuteReaderAsync())
            //        {
            //            while (sdr.Read())
            //            {
            //                var c = new Chambre();
            //                c.Numero = (short)sdr["NumChambre"];
            //                c.Prix = (decimal)sdr["Prix"];

            //                listChambres.Add(c);
            //            }
            //        }
            //    }

            //    foreach (Chambre c in listChambres)
            //    {
            //        c.Disponibilite = "Voir filtrage";
            //    }
            //}

            //---------Liste de toutes les chambres version2----------------//
            if (etat == 0)
            {
                bool hasChambre = false;
                //--------------Requête pour recuperer toutes les chambres occupées--------//
                string req = @"select C.Numero,T.Prix
                               from Reservation R 
                               inner join Chambre C  on (R.NumChambre=C.Numero)
                               inner join TarifChambre Tc on Tc.NumChambre = C.Numero
                               inner join Tarif T on T.Code = Tc.CodeTarif
                               where Jour=cast(GETDATE() as date) and year(T.DateDebut)=year(GETDATE())";

                using (var conn = (SqlConnection)_context.Database.GetDbConnection())
                {
                    var cmd = new SqlCommand(req, conn);
                    await conn.OpenAsync();

                    using (var sdr = await cmd.ExecuteReaderAsync())
                    {
                        while (sdr.Read())
                        {
                            var c = new Chambre();
                            c.Numero = (short)sdr["Numero"];
                            c.Prix   = (decimal)sdr["Prix"];

                            listChambres.Add(c);
                        }
                    }
                }
                foreach (Chambre c in listChambres)
                {
                    c.Disponibilite = "Occupée";
                }
                //--------Parcourir toutes les chambres de l'hotel et verifier si elles appartiennent à liste des chambres occupées---//
                foreach (Chambre c in listeDeschambresTotal)
                {
                    foreach (Chambre occupe in listChambres)
                    {
                        if (c.Numero == occupe.Numero)
                        {
                            hasChambre = true || hasChambre;
                        }
                    }
                    if (!hasChambre)
                    {
                        c.Disponibilite = "Disponible";
                        c.Prix          = c.TarifChambre.Where(d => d.CodeTarifNavigation.DateDebut.Year == DateTime.Today.Year).FirstOrDefault().CodeTarifNavigation.Prix;
                        listChambres.Add(c);
                    }
                    hasChambre = false;
                }
                listChambres = listChambres.OrderBy(c => c.Numero).ToList();
            }


            //------------Liste des chambres occupées------------//

            if (etat == -1)
            {
                string req = @"select C.Numero,T.Prix
                               from Reservation R 
                               inner join Chambre C  on (R.NumChambre=C.Numero)
                               inner join TarifChambre Tc on Tc.NumChambre = C.Numero
                               inner join Tarif T on T.Code = Tc.CodeTarif
                               where Jour=cast(GETDATE() as date) and year(T.DateDebut)=year(GETDATE())";

                using (var conn = (SqlConnection)_context.Database.GetDbConnection())
                {
                    var cmd = new SqlCommand(req, conn);
                    await conn.OpenAsync();

                    using (var sdr = await cmd.ExecuteReaderAsync())
                    {
                        while (sdr.Read())
                        {
                            var c = new Chambre();
                            c.Numero = (short)sdr["Numero"];
                            c.Prix   = (decimal)sdr["Prix"];

                            listChambres.Add(c);
                        }
                    }
                }
                foreach (Chambre c in listChambres)
                {
                    c.Disponibilite = "Occupée";
                }
            }

            //------------Liste des chambres disponibles-----------//

            if (etat == 1)
            {
                string req = @"select TF.NumChambre, T.Prix 
                            from Tarif T inner join TarifChambre TF on (T.Code=TF.CodeTarif)
                            where year(T.DateDebut)=year(GETDATE())
                            except
                            select C.Numero,T.Prix
                            from Reservation R 
                            inner join Chambre C  on (R.NumChambre=C.Numero)
                            inner join TarifChambre Tc on Tc.NumChambre = C.Numero
                            inner join Tarif T on T.Code = Tc.CodeTarif
                            where Jour=cast(GETDATE() as date) and year(T.DateDebut)=year(GETDATE())";

                using (var conn = (SqlConnection)_context.Database.GetDbConnection())
                {
                    var cmd = new SqlCommand(req, conn);
                    await conn.OpenAsync();

                    using (var sdr = await cmd.ExecuteReaderAsync())
                    {
                        while (sdr.Read())
                        {
                            var c = new Chambre();
                            c.Numero = (short)sdr["NumChambre"];
                            c.Prix   = (decimal)sdr["Prix"];

                            listChambres.Add(c);
                        }
                    }
                }

                foreach (Chambre c in listChambres)
                {
                    c.Disponibilite = "Disponible";
                }
            }

            //--------------AFFICHAGE DE LA VUE------------------------//

            return(View(listChambres));
        }
Beispiel #30
0
 public Chambre AjouterChambre(Chambre chambre)
 {
     businessLayer.Data.Chambres.Add(chambre);
     businessLayer.Data.SaveChanges();
     return(chambre);
 }