private void DtgRealEstates_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            RealEstateModel selectedItem = (RealEstateModel)dtgRealEstates.SelectedItem;

            if (selectedItem != null)
            {
                cbxLocation.SelectedItem  = (Location)Enum.Parse(typeof(Location), selectedItem.Location);
                cbxType.SelectedItem      = (RealEstateType)Enum.Parse(typeof(RealEstateType), selectedItem.Type);
                txtGardenSquaremeter.Text = selectedItem.GardenSquaremeter.ToString();
                txtParkinglots.Text       = selectedItem.NumOfParkinglots.ToString();
                txtRooms.Text             = selectedItem.Rooms.ToString();
                txtSquaremeter.Text       = selectedItem.Squaremeter.ToString();
            }
        }
        private async void BtnDelete_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            RealEstateModel currentModel = (RealEstateModel)dtgRealEstates.SelectedItem;

            if (currentModel != null)
            {
                HttpResponseMessage response = await DAL.DeleteAsync(REST_URL + "/" + currentModel.IdRealEsate);

                if (response.IsSuccessStatusCode)
                {
                    LoadData();
                    ResetForm();
                }
            }
        }
        private void BtnShowDetails_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            RealEstateModel currentModel = (RealEstateModel)dtgRealEstates.SelectedItem;

            if (currentModel != null)
            {
                RealEstate realEstate = RealEstateFactory.addRealEstate(
                    (Location)Enum.Parse(typeof(Location), currentModel.Location),
                    (RealEstateType)Enum.Parse(typeof(RealEstateType), currentModel.Type),
                    currentModel.Squaremeter,
                    currentModel.Rooms,
                    currentModel.GardenSquaremeter,
                    currentModel.NumOfParkinglots
                    );
                NavigationService.Navigate(new Details(realEstate));
            }
        }
        private async void BtnSave_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            RealEstateModel updateModel = new RealEstateModel(
                cbxType.SelectedItem.ToString(),
                cbxLocation.SelectedItem.ToString(),
                Convert.ToInt32(txtRooms.Text),
                Convert.ToDouble(txtSquaremeter.Text.Replace(",", "."), CultureInfo.InvariantCulture),
                Convert.ToDouble(txtGardenSquaremeter.Text.Replace(",", "."), CultureInfo.InvariantCulture),
                Convert.ToInt32(txtParkinglots.Text));
            RealEstateModel currentModel  = (RealEstateModel)dtgRealEstates.SelectedItem;
            string          stringPayload = await Task.Run(() => JsonConvert.SerializeObject(updateModel));

            StringContent       httpContent = new StringContent(stringPayload, Encoding.UTF8, "application/json");
            HttpResponseMessage response    = await DAL.PutAsync(REST_URL + "/" + currentModel.IdRealEsate, httpContent);

            if (response.IsSuccessStatusCode)
            {
                LoadData();
                ResetForm();
            }
        }