private void btnAgregar_Click(object sender, EventArgs e) { clsPropiedades propiedadTemp = lstPropiedades.Find(p => p.No_deCasa == Convert.ToInt32(txtNumeroCasa.Text)); if (txtCuota.Text.Trim().Length > 0 && txtNumeroCasa.Text.Trim().Length > 0) { if (propiedadTemp == null && Convert.ToInt32(txtNumeroCasa.Text) > 0 && Convert.ToDouble(txtCuota.Text) > 0.0) { FileStream stream = new FileStream("Propiedades.txt", FileMode.Append, FileAccess.Write); StreamWriter writer = new StreamWriter(stream); clsPropiedades nuevaPropiedad = new clsPropiedades(); nuevaPropiedad.Dpi_Dueño = Convert.ToInt32(cmbDPI.SelectedValue); nuevaPropiedad.CuotaMantenimiento = Convert.ToDouble(txtCuota.Text); nuevaPropiedad.No_deCasa = Convert.ToInt32(txtNumeroCasa.Text); writer.WriteLine(nuevaPropiedad.No_deCasa); writer.WriteLine(nuevaPropiedad.Dpi_Dueño); writer.WriteLine(nuevaPropiedad.CuotaMantenimiento); writer.Close(); this.lstPropiedades.Add(nuevaPropiedad); MessageBox.Show("Propiedad agregada exitosamente.\n Presione actualizar en el formulario general para visualizar los cambios."); this.Close(); } else { MessageBox.Show("El número de casa ya ha sido registrado o se ha ingresado un valor cero en algún campo."); } } else { MessageBox.Show("Debe llenar todos los campos"); } }
public void loadData() { /*Leer los archivos de texto y asignar los valores a las listas * para poder utilizarlos/mostrarlos en el programa*/ FileStream stream = new FileStream("Propietarios.txt", FileMode.Open, FileAccess.Read); FileStream stream2 = new FileStream("Propiedades.txt", FileMode.Open, FileAccess.Read); StreamReader reader = new StreamReader(stream); StreamReader reader2 = new StreamReader(stream2); //limpiar las listas para el caso de actualización lstPropiedades.Clear(); lstPropietarios.Clear(); lstIntermedia.Clear(); //llenado de la lista de propietario while (reader.Peek() > -1) { clsPropietario propietarioTemp = new clsPropietario(); propietarioTemp.Dpi = Convert.ToInt32(reader.ReadLine()); propietarioTemp.Nombre = reader.ReadLine(); propietarioTemp.Apellido = reader.ReadLine(); lstPropietarios.Add(propietarioTemp); } reader.Close(); //Llenado de la lista de propiedades while (reader2.Peek() > -1) { clsPropiedades propiedadTemp = new clsPropiedades(); propiedadTemp.No_deCasa = Convert.ToInt32(reader2.ReadLine()); propiedadTemp.Dpi_Dueño = Convert.ToInt32(reader2.ReadLine()); propiedadTemp.CuotaMantenimiento = Convert.ToDouble(reader2.ReadLine()); lstPropiedades.Add(propiedadTemp); } reader2.Close(); //llenado de la lista de datos intermedios foreach (var p in lstPropiedades) { clsIntermedia intermediaTemp = new clsIntermedia(); //buscar los datos de un propietario en base al DPI y asignarlos a la lista intermedia clsPropietario propietarioTemp = lstPropietarios.Find(n => n.Dpi == p.Dpi_Dueño); intermediaTemp.No_deCasa = p.No_deCasa; intermediaTemp.CuotaMantenimiento = p.CuotaMantenimiento; intermediaTemp.Nombre = propietarioTemp.Nombre; intermediaTemp.Apellido = propietarioTemp.Apellido; lstIntermedia.Add(intermediaTemp); } dtgPropiedades.DataSource = null; dtgPropiedades.DataSource = lstPropiedades; dtgPropiedades.Refresh(); dtgPropietarios.DataSource = null; dtgPropietarios.DataSource = lstPropietarios; dtgPropietarios.Refresh(); dtgIntermedia.DataSource = null; dtgIntermedia.DataSource = lstIntermedia; dtgIntermedia.Refresh(); }