Exemplo n.º 1
0
        private void DtgAptos_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
        {
            try
            {
                if (DtgAptos.SelectedIndex > -1)
                {
                    i = 0;

                    Apartamento objC = (Apartamento)DtgAptos.SelectedItem;
                    if (objC.ConjuntoFotos != "" && objC.ConjuntoFotos != null)
                    {
                        ColImagenes = Directory.GetFiles(objC.ConjuntoFotos, "*.jpg");

                        if (ColImagenes != null)
                        {
                            x = new BitmapImage();
                            x.BeginInit();
                            x.UriSource = new Uri(@"" + ColImagenes[i].ToString());
                            x.EndInit();
                            ImgFotos.Stretch = Stretch.Uniform;
                            ImgFotos.Source  = x;
                        }
                    }
                }
            }
            catch (FileNotFoundException)
            {
                MessageBox.Show("No se encuentra la ruta de la carpeta de imagenes");
            }
            catch (DirectoryNotFoundException)
            {
                MessageBox.Show("No se encuentra la ruta de la carpeta de imagenes");
            }
            catch (IndexOutOfRangeException)
            {
                MessageBox.Show("La carpeta está vacía o el formato de los archivos de la carpeta de fotos no es el correcto. Deben ser .jpg");
            }
            catch
            {
                MessageBox.Show("No es posible ver las fotos del inmueble");
            }
        }
Exemplo n.º 2
0
        //BOTÓN AGREGAR INMUEBLE..........
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            { //Creación de una casa o un apartamento (Según el RadioButton)
                if (RBtnCasa.IsChecked == false && RBtnApartamento.IsChecked == false)
                {
                    System.Windows.Forms.MessageBox.Show("No está seleccionado ni casa ni apartamento");
                }

                else
                {
                    //Si es una casa:
                    if (RBtnCasa.IsChecked == true)
                    {
                        Casa casa = new Casa(Convert.ToBoolean(ChBxAlquiler.IsChecked), Convert.ToBoolean(ChBxVenta.IsChecked),
                                             Convert.ToDouble(TxtPrecio.Text), Convert.ToInt32(TxtNDormitorios.Text), Convert.ToInt32(TxtNBanios.Text),
                                             Convert.ToInt32(TxtNGarajes.Text), Convert.ToInt32(TxtAnioConstruccion.Text),
                                             Convert.ToDouble(TxtMetrosEdificados.Text), TxtBarrio.Text, TxtCiudad.Text,
                                             CmBxEstado.Text, TxtDireccion.Text, RutaImagenes, TxtComentarios.Text, Convert.ToBoolean(ChBxDisponibilidad.IsChecked),
                                             Convert.ToInt32(TxtNPlantas.Text), Convert.ToBoolean(ChBxJardin.IsChecked), Convert.ToBoolean(ChBxParrillero.IsChecked),
                                             Convert.ToBoolean(ChBxPatio.IsChecked));

                        //Instancia una casa y la agrega al Array de Casas
                        Contenedor.ArrayCasas.Add(casa);

                        //Luego crea una carpeta con todas las fotos de la casa, si se agregaron.

                        //Comprueba la ruta de las imágenes:
                        if (RutaImagenes != "" && RutaImagenes != null)
                        {
                            DirectoryInfo RutaImagenesCasa     = new DirectoryInfo(RutaImagenes);  //Crea un DirectoryInfo con la ruta de la carpeta con imágenes del inmueble
                            string[]      archivosImagenesCasa = Directory.GetFiles(RutaImagenes); //Toma la ruta de los archivos y los pone en un Array
                            //Se define la nueva carpeta que tendrá las imágenes del inmueble
                            DirectoryInfo DirectorioCasa = new DirectoryInfo(System.IO.Path.Combine(@".\" + "Casa " + casa.IdInmueble.ToString()));

                            //Copia todos los archivos de la carpeta seleccionada a la nueva carpeta del inmueble
                            CopiarDirectorio(RutaImagenesCasa, DirectorioCasa);
                        }

                        //Si no se selecciona ninguna carpeta con el botón Agregar Fotos
                        else
                        {
                            // Crea la carpeta del inmueble pero vacía
                            DirectoryInfo Directorio = new DirectoryInfo(System.IO.Path.Combine(@".\" + "Casa " + casa.IdInmueble.ToString()));

                            Directory.CreateDirectory(Directorio.ToString());

                            RutaImagenes = Directorio.FullName.ToString();

                            casa.ConjuntoFotos = RutaImagenes;
                        }
                    }
                    else if (RBtnApartamento.IsChecked == true)
                    {
                        //Al crear un apartamento el procedimiento es el mismo que se utilizó para Casa

                        Apartamento apto = new Apartamento(Convert.ToBoolean(ChBxAlquiler.IsChecked), Convert.ToBoolean(ChBxVenta.IsChecked),
                                                           Convert.ToDouble(TxtPrecio.Text), Convert.ToInt32(TxtNDormitorios.Text), Convert.ToInt32(TxtNBanios.Text),
                                                           Convert.ToInt32(TxtNGarajes.Text), Convert.ToInt32(TxtAnioConstruccion.Text),
                                                           Convert.ToDouble(TxtMetrosEdificados.Text), TxtBarrio.Text, TxtCiudad.Text,
                                                           CmBxEstado.Text, TxtDireccion.Text, RutaImagenes, TxtComentarios.Text, Convert.ToBoolean(ChBxDisponibilidad.IsChecked), Convert.ToInt32(TxtPiso.Text),
                                                           Convert.ToBoolean(ChBxPorteria.IsChecked), TxtGastosComunes.Text, Convert.ToBoolean(ChBxJardin.IsChecked), Convert.ToBoolean(ChBxParrillero.IsChecked));

                        Contenedor.ArrayApartamentos.Add(apto);

                        if (RutaImagenes != "" && RutaImagenes != null)
                        {
                            DirectoryInfo RutaImagenesApto     = new DirectoryInfo(RutaImagenes);
                            string[]      archivosImagenesApto = Directory.GetFiles(RutaImagenes);

                            DirectoryInfo DirectorioCasa = new DirectoryInfo(System.IO.Path.Combine(@".\" + "Apto " + apto.IdInmueble.ToString()));

                            CopiarDirectorio(RutaImagenesApto, DirectorioCasa);
                        }
                        else
                        {
                            DirectoryInfo Directorio = new DirectoryInfo(System.IO.Path.Combine(@".\" + "Apto " + apto.IdInmueble.ToString()));

                            Directory.CreateDirectory(Directorio.ToString());

                            RutaImagenes = Directorio.FullName.ToString();

                            apto.ConjuntoFotos = RutaImagenes;
                        }
                    }

                    //Luego de agregar el nuevo inmueble y demás, limpia los campos para un nuevo ingreso

                    TxtBarrio.Clear();
                    TxtCiudad.Clear();
                    TxtAnioConstruccion.Clear();
                    TxtComentarios.Clear();
                    TxtDireccion.Clear();
                    TxtGastosComunes.Clear();
                    TxtMetrosEdificados.Clear();
                    TxtNBanios.Clear();
                    TxtNDormitorios.Clear();
                    TxtNGarajes.Clear();
                    TxtNPlantas.Clear();
                    TxtPiso.Clear();
                    TxtPrecio.Clear();
                    ChBxAlquiler.IsChecked       = false;
                    ChBxDisponibilidad.IsChecked = false;
                    ChBxJardin.IsChecked         = false;
                    ChBxParrillero.IsChecked     = false;
                    ChBxPatio.IsChecked          = false;
                    ChBxPorteria.IsChecked       = false;
                    ChBxVenta.IsChecked          = false;
                    RBtnApartamento.IsChecked    = false;
                    RBtnCasa.IsChecked           = false;
                    RutaImagenes = "";


                    System.Windows.Forms.MessageBox.Show("Agregado/Actualizado exitosamente");

                    //Muestra cuántos inmuebles existe hasta el momento
                    System.Windows.Forms.MessageBox.Show("Casas: " + Contenedor.ArrayCasas.Count.ToString());
                    System.Windows.Forms.MessageBox.Show("Aptos: " + Contenedor.ArrayApartamentos.Count.ToString());

                    try
                    { //Graba los archivos
                        File.Exists("Casas.txt");
                        File.Delete("Casas.txt");
                        File.Exists("Apartamentos.txt");
                        File.Delete("Apartamentos.txt");
                    }
                    finally {
                        AdministradorArchivos.EscribirCasas(@".\Casas.txt");
                        AdministradorArchivos.EscribirApartamentos(@".\Apartamentos.txt");
                    }
                }
            }
            catch { System.Windows.Forms.MessageBox.Show("Verifique los datos. Alguno no se ingresó correctamente"); }
        }
        public static IInmueble getInmueble(bool xAlquiler, bool xVenta, double xPrecio, int xCantidadDormitorios, int xCantidadBaños, int xCantidadGarajes, int xAñoConstrucción, double xMetrosEdificados, string xBarrio, string xCiudad, string xEstado, string xUbicación, string xConjuntoFotos, string xComentariosRelevantes, bool xDisponibilidad, int xNumPiso, bool xPortería, string xGastosComunes, bool xJardín, bool xParrillero)
        {
            Inmueble xInmueble = new Apartamento(xAlquiler, xVenta, xPrecio, xCantidadDormitorios, xCantidadBaños, xCantidadGarajes, xAñoConstrucción, xMetrosEdificados, xBarrio, xCiudad, xEstado, xUbicación, xConjuntoFotos, xComentariosRelevantes, xDisponibilidad, xNumPiso, xPortería, xGastosComunes, xJardín, xParrillero);

            return(xInmueble);
        }