Exemplo n.º 1
0
        /// <summary>
        /// Método que abre una ventana con las posibles propiedades bool a seleccionar.
        /// </summary>
        private void editarPropiedadesBool()
        {
            if (allPropiedadesBool == null || allPropiedadesBool.Count == 0)
            {
                allPropiedadesBool = DataManager.GetAllPropiedadesBool();
            }

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

            foreach (PropiedadBool propiedad in allPropiedadesBool)
            {
                FO_Item item = new FO_Item();
                item.Nombre      = propiedad.Nombre;
                item.id          = propiedad.idPropiedad;
                item.Descripcion = propiedad.DescripcionCorta;
                if (ListaPropiedadesBool.Where(x => x.idPropiedad == propiedad.idPropiedad).ToList().Count > 0)
                {
                    item.IsSelected = true;
                }
                else
                {
                    item.IsSelected = false;
                }
                listadoPropiedadesBool.Add(item);
            }

            FO_ItemViewModel vm = new FO_ItemViewModel(listadoPropiedadesBool, "Lista de propiedades bool");

            WSelectedOption ventana = new WSelectedOption();

            ventana.DataContext = vm;
            ventana.ShowDialog();


            if (ventana.DialogResult.HasValue && ventana.DialogResult.Value)
            {
                ListaPropiedadesBool.Clear();

                foreach (FO_Item item in vm.ListaAllOptions)
                {
                    if (item.IsSelected)
                    {
                        ListaPropiedadesBool.Add(DataManager.GetPropiedadBoolByID(item.id));
                    }
                }

                setTitulos();
            }
        }
Exemplo 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);
            }
        }