Beispiel #1
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"); }
        }
        private void BtnCoordinarVisita_Click(object sender, RoutedEventArgs e)
        {
            try
            { //Verifica la fecha
                if (Convert.ToDateTime(DateFecha.Text) < DateTime.Now.Date)
                {
                    MessageBox.Show("Verifique la fecha");
                }
                //Si está bien la fecha...
                else
                { //Verifica la ID del cliente
                    if (VerificarIDCliente(TxtIdCliente.Text) == false)
                    {
                        throw new FormatException();
                    }
                    //Si está bien la ID del cliente...
                    else
                    {//Verifica si está algún check tildado
                        if (ChkCasa.IsChecked == false && ChkApto.IsChecked == false)
                        {
                            MessageBox.Show("Debe seleccionar casa o apartamento");
                        }
                        else//Si hay alguno tildado
                        {//Si es casa verifica la ID de la casa
                            if (ChkCasa.IsChecked == true)
                            {//Si no es un id válido lanza excecpción
                                if (VerificarIDCasa(TxtIdInmueble.Text) == false)
                                {
                                    throw new InvalidDataException();
                                }
                                //Si es un id válido agrega la visita
                                else
                                {
                                    Contenedor.ArrayVisitas.Add(FábricaDeObjetos.getVisita(TxtComentarios.Text, DateFecha.Text, Convert.ToInt32(TxtIdCliente.Text), Convert.ToInt32(TxtIdInmueble.Text)));
                                    TxtIdInmueble.Clear();
                                    TxtIdCliente.Clear();
                                    TxtComentarios.Clear();

                                    MessageBox.Show("Visita guardada exitosamente");
                                }
                            }//Si es apto verifica la ID del apto
                            else if (ChkApto.IsChecked == true)
                            {
                                {//Si no es un id válido lanza excecpción
                                    if (VerificarIDCasa(TxtIdInmueble.Text) == false)
                                    {
                                        throw new InvalidDataException();
                                    }
                                    //Si es un id válido agrega la visita
                                    else
                                    {
                                        Contenedor.ArrayVisitas.Add(FábricaDeObjetos.getVisita(TxtComentarios.Text, DateFecha.Text, Convert.ToInt32(TxtIdCliente.Text), Convert.ToInt32(TxtIdInmueble.Text)));
                                        TxtIdInmueble.Clear();
                                        TxtIdCliente.Clear();
                                        TxtComentarios.Clear();

                                        MessageBox.Show("Visita guardada exitosamente");
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (FormatException)
            {
                MessageBox.Show("No existe el cliente");
            }
            catch (InvalidDataException)
            {
                MessageBox.Show("No existe el inmueble");
            }
            catch
            {
                MessageBox.Show("Verifique los datos");
            }

            try
            {
                File.Exists("Visitas.txt");
                File.Delete("Visitas.txt");
            }
            finally { AdministradorArchivos.EscribirVisitas(@".\Visitas.txt"); }
        }