protected void Page_Load(object sender, EventArgs e)
        {

            ResultatBienImmobilier bienResult = null;

            using (AgenceClient client = new AgenceClient())
            {

                
                bienResult = client.LireDetailsBienImmobilier(Request.QueryString["id"].ToString());
                name.Text = bienResult.Bien.Titre;
                type_transaction.SelectedValue = NegotiateTransaction(bienResult.Bien.TypeTransaction);
                type_bien.SelectedValue = NegotiateBien(bienResult.Bien.TypeBien);
                prix.Text = bienResult.Bien.Prix.ToString();
                montant_charge.Text = bienResult.Bien.MontantCharges.ToString();
                date_transaction1.Text = bienResult.Bien.DateMiseEnTransaction.ToString();
                code_postal.Text = bienResult.Bien.CodePostal;
                ville.Text = bienResult.Bien.Ville;
                description.Text = bienResult.Bien.Description;
                surface.Text = bienResult.Bien.Surface.ToString();
                nb_pieces.Text = bienResult.Bien.NbPieces.ToString();
                num_etage.Text = bienResult.Bien.NumEtage.ToString();
                nb_etage.Text = bienResult.Bien.NbEtages.ToString();
                type_chauffage.SelectedValue = NegotiateTypeChauffage(bienResult.Bien.TypeChauffage);
                type_energie_chauffage.SelectedValue = NegotiateChauffage(bienResult.Bien.EnergieChauffage);
                adresse.Text = bienResult.Bien.Adresse;
                
            }
        }
        protected void Search_advance_button(object sender, EventArgs e)
        {
            List<BienImmobilierBase> liste;

            var name = search_box.Text;

            using (var client = new AgenceClient())
            {
                var criteres =
                    new CriteresRechercheBiensImmobiliers
                    {
                        TitreContient = name,
                        DateMiseEnTransaction1 =
                            filter_date_transaction1.Text != ""
                                ? Convert.ToDateTime(filter_date_transaction1.Text)
                                : (DateTime?) null,
                        DateMiseEnTransaction2 =
                            filter_date_transaction2.Text != "" && filter_date_transaction1.Text != ""
                                ? Convert.ToDateTime(filter_date_transaction2.Text)
                                : (DateTime?) null,
                        DescriptionContient = null,
                        DateTransaction1 = null,
                        DateTransaction2 = null,
                        EnergieChauffage = NegotiateChauffage(filter_type_energie_chauffage.SelectedValue),
                        MontantCharges1 = NegotiateTextBox(filter_montant_charge1.Text),
                        MontantCharges2 = NegotiateTextBox(filter_montant_charge2.Text),
                        NbEtages1 = NegotiateTextBox(filter_nb_etage1.Text),
                        NbEtages2 = NegotiateTextBox(filter_nb_etage2.Text),
                        NbPieces1 = NegotiateTextBox(filter_nb_pieces1.Text),
                        NbPieces2 = NegotiateTextBox(filter_nb_pieces2.Text),
                        NumEtage1 = NegotiateTextBox(filter_num_etage1.Text),
                        NumEtage2 = NegotiateTextBox(filter_num_etage2.Text),
                        Prix1 = NegotiateTextBox(filter_prix1.Text),
                        Prix2 = NegotiateTextBox(filter_prix2.Text),
                        Surface1 = NegotiateTextBox(filter_surface1.Text),
                        Surface2 = NegotiateTextBox(filter_surface2.Text),
                        TransactionEffectuee = null,
                        TypeBien = NegotiateBien(filter_type_bien.SelectedValue),
                        TypeChauffage = NegotiateTypeChauffage(filter_type_chauffage.SelectedValue),
                        TypeTransaction = NegotiateTransaction(filter_type_transaction.SelectedValue)
                    };
                var resultat = client.LireListeBiensImmobiliers(criteres, null, null);

                liste = resultat.SuccesExecution ? resultat.Liste.List : new List<BienImmobilierBase>();
            }
            gvResultats.DataSource = liste;
            gvResultats.DataBind();
        }
        protected void Modify_Object(object sender, EventArgs e)
        {

            BienImmobilier bien = null;

            using (AgenceClient client = new AgenceClient())
            {

                bien = new BienImmobilier();
                bien.Titre = name.Text;
                bien.Id = int.Parse(Request.QueryString["id"]);
                bien.TypeTransaction = NegotiateTransaction(type_transaction.SelectedValue);
                bien.TypeBien = NegotiateBien(type_bien.SelectedValue);
                bien.Prix = double.Parse(prix.Text);
                bien.MontantCharges = double.Parse(montant_charge.Text);
                bien.DateMiseEnTransaction = DateTime.Parse(date_transaction1.Text);
                bien.TransactionEffectuee = false;
                bien.DateTransaction = null;
                bien.CodePostal = code_postal.Text;
                bien.Ville = ville.Text;
                bien.Description = description.Text;
                bien.Surface = double.Parse(surface.Text);
                bien.NbPieces = int.Parse(nb_pieces.Text);
                bien.NumEtage = int.Parse(num_etage.Text);
                bien.NbEtages = int.Parse(nb_etage.Text);
                bien.TypeChauffage = NegotiateTypeChauffage(type_chauffage.SelectedValue);
                bien.EnergieChauffage = NegotiateChauffage(type_energie_chauffage.SelectedValue);
                bien.Adresse = adresse.Text;

                if ((photo.PostedFile.ContentType == "image/png") || (photo.PostedFile.ContentType == "image/bmp") || (photo.PostedFile.ContentType == "image/jpg") || (photo.PostedFile.ContentType == "image/jpeg"))
                {
                    System.Drawing.Bitmap bmp = (System.Drawing.Bitmap) System.Drawing.Bitmap.FromStream(photo.PostedFile.InputStream);
                    bien.PhotoPrincipaleBase64 = ConvertPictureToBase64String(bmp);
                }
                else
                    bien.PhotoPrincipaleBase64 = "";

                bien.PhotosBase64 = new List<string>();
                bien.PhotosBase64.Add(bien.PhotoPrincipaleBase64);

                //Ajouter le bien dans la base
                ResultatBool rb = client.ModifierBienImmobilier(bien);


            }

        }
        protected void Page_Load(object sender, EventArgs e)
        {

            List<BienImmobilierBase> liste;

            using (AgenceClient client = new AgenceClient())
            {
                CriteresRechercheBiensImmobiliers criteres =
                    new CriteresRechercheBiensImmobiliers
                    {
                        DateMiseEnTransaction1 = null,
                        DateMiseEnTransaction2 = null,
                        DescriptionContient = null,
                        DateTransaction1 = null,
                        DateTransaction2 = null,
                        EnergieChauffage = null,
                        MontantCharges1 = -1,
                        MontantCharges2 = -1,
                        NbEtages1 = -1,
                        NbEtages2 = -1,
                        NbPieces1 = -1,
                        NbPieces2 = -1,
                        NumEtage1 = -1,
                        NumEtage2 = -1,
                        Prix1 = -1,
                        Prix2 = -1,
                        Surface1 = -1,
                        Surface2 = -1,
                        TransactionEffectuee = null,
                        TypeBien = null,
                        TypeChauffage = null,
                        TypeTransaction = null
                    };
                ResultatListeBiensImmobiliers resultat = client.LireListeBiensImmobiliers(criteres, null, null);

                liste = resultat.SuccesExecution ? resultat.Liste.List : new List<BienImmobilierBase>();
            }
            gvResultats.DataSource = liste;
            gvResultats.DataBind();
        }