/// <summary> /// Métodos que abre una ventana con las posibles propiedades cadena a seleccionar. /// </summary> private void editarPropiedadesCadena() { if (allPropiedadesCadena == null || allPropiedadesCadena.Count == 0) { allPropiedadesCadena = DataManager.GetAllPropiedadCadena(); } ObservableCollection <FO_Item> listadoPropiedadesCadena = new ObservableCollection <FO_Item>(); foreach (PropiedadCadena propiedad in allPropiedadesCadena) { FO_Item item = new FO_Item(); item.Nombre = propiedad.Nombre; item.id = propiedad.idPropiedad; item.Descripcion = propiedad.DescripcionCorta; if (ListaPropiedadesCadena.Where(x => x.idPropiedad == propiedad.idPropiedad).ToList().Count > 0) { item.IsSelected = true; } else { item.IsSelected = false; } listadoPropiedadesCadena.Add(item); } FO_ItemViewModel vm = new FO_ItemViewModel(listadoPropiedadesCadena, "Lista de propiedades cadena"); WSelectedOption ventana = new WSelectedOption(); ventana.DataContext = vm; ventana.ShowDialog(); if (ventana.DialogResult.HasValue && ventana.DialogResult.Value) { ListaPropiedadesCadena.Clear(); foreach (FO_Item item in vm.ListaAllOptions) { if (item.IsSelected) { ListaPropiedadesCadena.Add(DataManager.GetPropiedadCadenaByID(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); } }