Ejemplo n.º 1
0
        /// <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();
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }