// Btn SIGUIENTE private void button1_Click(object sender, EventArgs e) { FileStream fichero = new FileStream("data.xml", FileMode.Open); // Ingresa el DNI y guardamos su valor string strDni = idTextDni.Text; //Creamos el formateador XML XmlSerializer format = new XmlSerializer(banco.GetType()); // Aquí queda deserializado el XML y guarda la lista de clientes banco = (Banco)format.Deserialize(fichero); // Recorremos la lista de clientes para validar el DNI que buscamos for (int i = 0; i < banco.ListaClientes.Count; i++) { if (banco.ListaClientes[i].Dni == strDni) { pos = i; // Aquí tenemos la posición del cliente en la lista cliente = banco.ListaClientes[i]; i = banco.ListaClientes.Count; } } fichero.Close(); // Asignamos los datos del cliente a cada texbox idCampoStrDni.Text = cliente.Dni; idTextNombre.Text = cliente.Nombre; idTextDireccion.Text = cliente.Direccion; idTextEdad.Text = Convert.ToString(cliente.Edad); idTextTlfn.Text = Convert.ToString(cliente.Tlfn); idTextCC.Text = cliente.Cc; }
//Función que lee de un fichero XML y devuelve un objeto banco que contendrá una lista de objetos cliente public Banco LeeFicheroClientes(Banco banco) { //Leemos el fichero y guardamos los objetos del xml en una lista de objetos FileStream ficheroLectura = new FileStream("data.xml", FileMode.Open); //Creamos el formateador XML XmlSerializer format = new XmlSerializer(banco.GetType()); banco = (Banco)format.Deserialize(ficheroLectura); ficheroLectura.Close(); return(banco); }
// Btn GUARDAR ( aquí va la lógica del creación del xml y registro de datos private void idGuardarRegistro_Click(object sender, EventArgs e) { FileStream fichero = new FileStream("data.xml", FileMode.Create); Cliente cliente = new Cliente(); // Guardamos los campos registrados strDni = idDniRegistro.Text; strNombre = idRegistroNombre.Text; strDireccion = idDireccRegistro.Text; edad = Convert.ToInt32(idEdadRegistro.Text); tlfn = Convert.ToInt32(idTlfnRegistro.Text); cc = Convert.ToInt32(idCCregistro.Text); if (texBoxIsEmpty() && DNIvalido(strDni) && ValidarTelefono(tlfn.ToString())) { try { // Damos valores a los atributos del objeto cliente cliente.Dni = strDni; cliente.Nombre = strNombre; cliente.Direccion = strDireccion; cliente.Edad = edad; cliente.Tlfn = tlfn; cliente.Cc = cc; // Añadimos el cliente a la lista del objeto banco banco.AddCliente(cliente); // Creamos el formateador XML XmlSerializer format = new XmlSerializer(banco.GetType()); format.Serialize(fichero, banco); fichero.Close(); } catch (IOException ex) { Console.WriteLine("Error: " + ex.Message); } } else { MessageBox.Show("Revise que los campos no estén vacíos.\nCompruebe el correo, la constraseña y que el número" + "de teléfono sea correcto"); } }
// Btn GUARDAR ( aquí va la lógica del creación del xml y registro de datos private void idGuardarRegistro_Click(object sender, EventArgs e) { //FileStream fichero = new FileStream("data.xml", FileMode.OpenOrCreate); //Cliente cliente = new Cliente(); FileStream fichero = null; Cliente cliente = null; // Guardamos los campos registrados strDni = idDniRegistro.Text; strNombre = idRegistroNombre.Text; strDireccion = idDireccRegistro.Text; edad = Convert.ToInt32(idEdadRegistro.Text); tlfn = Convert.ToInt32(idTlfnRegistro.Text); cc = idCCregistro.Text; if (texBoxIsEmpty() && DNIvalido(strDni) && ValidarTelefono(tlfn.ToString()) && ValidaIban()) { try { cliente = new Cliente(); // Damos valores a los atributos del objeto cliente cliente.Dni = strDni; cliente.Nombre = strNombre; cliente.Direccion = strDireccion; cliente.Edad = edad; cliente.Tlfn = tlfn; cliente.Cc = cc; //Comprobamos que el fichero existe if (!File.Exists("data.xml")) { // Añadimos el cliente a la lista del objeto banco fichero = new FileStream("data.xml", FileMode.Create); banco.AddCliente(cliente); // Creamos el formateador XML XmlSerializer format = new XmlSerializer(banco.GetType()); format.Serialize(fichero, banco); fichero.Close(); } else { //Si el fichero ya existe.... //...leemos contenido del XML y guardamos los objetos clientes en un objeto banco (lista de clientes) //Leemos el fichero y guardamos los objetos del xml en una lista de objetos fichero = new FileStream("data.xml", FileMode.Open); //Creamos el formateador XML XmlSerializer format = new XmlSerializer(banco.GetType()); banco = (Banco)format.Deserialize(fichero); fichero.Close(); //Añadimos nuevo objeto cliente a nuestro fichero Deserializado ( banco ) fichero = new FileStream("data.xml", FileMode.Create); banco.AddCliente(cliente); XmlSerializer format2 = new XmlSerializer(banco.GetType()); format2.Serialize(fichero, banco); fichero.Close(); } MessageBox.Show("¡ Registro Ok !"); } catch (IOException ex) { MessageBox.Show("Error: " + ex.Message); } finally { //Se ejecuta ocurra o no la excepción if (fichero != null) { fichero.Close(); } } } else { MessageBox.Show("Revise que los campos no estén vacíos.\nCompruebe el correo, la constraseña y que el número" + "de teléfono sea correcto.\nCompruebe IBAN"); } }