/// <summary>
        /// Método que abre una ventana con las posibles propiedades numéricas a seleccionar.
        /// </summary>
        private void editarPropiedades()
        {
            //Identificamos si ya consultamos por primera vez todas las propiedades. Si ya lo consultamos, no volvemos a consultar.
            if (allPropiedades == null || allPropiedades.Count == 0)
            {
                allPropiedades = DataManager.GetAllPropiedades();
            }


            ObservableCollection <FO_Item> listadoPropiedades = new ObservableCollection <FO_Item>();

            foreach (Propiedad propiedad in allPropiedades)
            {
                FO_Item item = new FO_Item();
                item.Nombre      = propiedad.Nombre;
                item.id          = propiedad.idPropiedad;
                item.Descripcion = propiedad.DescripcionCorta;
                if (ListaPropiedades.Where(x => x.idPropiedad == propiedad.idPropiedad).ToList().Count > 0)
                {
                    item.IsSelected = true;
                }
                else
                {
                    item.IsSelected = false;
                }

                listadoPropiedades.Add(item);
            }

            FO_ItemViewModel vm = new FO_ItemViewModel(listadoPropiedades, "Lista de propiedades numéricas");

            WSelectedOption ventana = new WSelectedOption();

            ventana.DataContext = vm;

            ventana.ShowDialog();

            if (ventana.DialogResult.HasValue && ventana.DialogResult.Value)
            {
                ListaPropiedades.Clear();
                foreach (FO_Item item in vm.ListaAllOptions)
                {
                    if (item.IsSelected)
                    {
                        ListaPropiedades.Add(DataManager.GetPropiedadById(item.id));
                    }
                }

                setTitulos();
            }
        }
        private async void guardarPerfilPropiedades()
        {
            if (PerfilSeleccionado.idPerfil > 0)
            {
                int r = DataManager.UpdatePerfil(idPerfil, TipoPerfilSeleccionado.IdTipoPerfil, Nombre, Descripcion, Imagen);

                ObservableCollection <Propiedad> ListaPropiedadesOriginales = DataManager.GetAllPropiedadesByPerfil(PerfilSeleccionado.idPerfil, false);

                ObservableCollection <PropiedadCadena> ListaPropiedadesCadenaOriginales = DataManager.GetAllPropiedadesCadenaByPerfil(PerfilSeleccionado.idPerfil);

                ObservableCollection <PropiedadBool> ListaPropiedadesBoolOriginales = DataManager.GetallPropiedadesBoolByPerfil(PerfilSeleccionado.idPerfil);

                //Iteramos la lista
                foreach (Propiedad item in ListaPropiedades)
                {
                    if (ListaPropiedadesOriginales.Where(x => x.idPropiedad == item.idPropiedad).ToList().Count == 0)
                    {
                        //Insertamos a la base de datos.
                        DataManager.InsertNewPropiedadPerfil(item.idPropiedad, PerfilSeleccionado.idPerfil);
                    }
                }

                foreach (Propiedad item in ListaPropiedadesOriginales)
                {
                    if (ListaPropiedades.Where(x => x.idPropiedad == item.idPropiedad).ToList().Count == 0)
                    {
                        //Eliminamos desde la base de datos.
                        DataManager.DeletePropiedadPerfil(item.idPropiedad, PerfilSeleccionado.idPerfil);
                    }
                }


                foreach (PropiedadCadena item in ListaPropiedadesCadena)
                {
                    if (ListaPropiedadesCadenaOriginales.Where(x => x.idPropiedad == item.idPropiedad).ToList().Count == 0)
                    {
                        //Insertamos desde la base de datos.
                        DataManager.InsertNewPropiedadCadenaPerfil(item.idPropiedad, PerfilSeleccionado.idPerfil);
                    }
                }

                foreach (PropiedadCadena item in ListaPropiedadesCadenaOriginales)
                {
                    if (ListaPropiedadesCadena.Where(x => x.idPropiedad == item.idPropiedad).ToList().Count == 0)
                    {
                        //Eliminamos desde la base de datos.
                        DataManager.DeletePropiedadCadenaPerfil(item.idPropiedad, PerfilSeleccionado.idPerfil);
                    }
                }

                foreach (PropiedadBool item in ListaPropiedadesBool)
                {
                    if (ListaPropiedadesBoolOriginales.Where(x => x.idPropiedad == item.idPropiedad).ToList().Count == 0)
                    {
                        //Insertamos desde la base de datos.
                        DataManager.InsertNewPropiedadBoolPerfil(item.idPropiedad, PerfilSeleccionado.idPerfil);
                    }
                }

                foreach (PropiedadBool item in ListaPropiedadesBoolOriginales)
                {
                    if (ListaPropiedadesBool.Where(x => x.idPropiedad == item.idPropiedad).ToList().Count == 0)
                    {
                        //Eliminamos desde la base de datos.
                        DataManager.DeletePropiedadBoolPerfil(item.idPropiedad, PerfilSeleccionado.idPerfil);
                    }
                }

                if (r > 0)
                {
                    await dialogService.SendMessage(StringResources.ttlAlerta, StringResources.ttlDone);
                }
                else
                {
                    await dialogService.SendMessage(StringResources.ttlAlerta, StringResources.msgError);
                }
            }
            else
            {
                //int r = DataManager(idPerfil, TipoPerfilSeleccionado.IdTipoPerfil, Nombre, Descripcion, Imagen);
                int _idPerfil = DataManager.InsertPerfil(TipoPerfilSeleccionado.IdTipoPerfil, Nombre, Descripcion, Imagen, 1);

                foreach (var item in ListaPropiedades)
                {
                    DataManager.InsertNewPropiedadPerfil(item.idPropiedad, _idPerfil);
                }

                foreach (var item in ListaPropiedadesCadena)
                {
                    DataManager.InsertNewPropiedadCadenaPerfil(item.idPropiedad, _idPerfil);
                }

                foreach (var item in ListaPropiedadesBool)
                {
                    DataManager.InsertNewPropiedadBoolPerfil(item.idPropiedad, _idPerfil);
                }

                await dialogService.SendMessage(StringResources.ttlAlerta, StringResources.ttlDone);
            }
        }