예제 #1
0
        private void DtgCasas_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
        {
            try
            {
                if (DtgCasas.SelectedIndex > -1)
                {
                    i = 0;

                    Casa objC = (Casa)DtgCasas.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("El formato de los archivos de la carpeta de fotos no es el correcto");
            }
            catch
            {
                MessageBox.Show("No es posible ver las fotos del inmueble");
            }
        }
예제 #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 xCantidadDePlantas, bool xJardín, bool xParrillero, bool xPatio)
        {
            Inmueble xInmueble = new Casa(xAlquiler, xVenta, xPrecio, xCantidadDormitorios, xCantidadBaños, xCantidadGarajes, xAñoConstrucción, xMetrosEdificados, xBarrio, xCiudad, xEstado, xUbicación, xConjuntoFotos, xComentariosRelevantes, xDisponibilidad, xCantidadDePlantas, xJardín, xParrillero, xPatio);

            return(xInmueble);
        }