public ClientesMetro(AddContrato padre) { int contador = 0; int pos = 0; ControladoraEntidades cm = new ControladoraEntidades(); List <CuadroCliente> cuadros = new List <CuadroCliente>(); InitializeComponent(); if (cm.Lista_clientes().Count == 0) { MessageBox.Show("No existen clientes en la base de datos."); UserControl ucContrato = new BeLifeMetro.VentanaContrato(); this.Controls.Clear(); ucContrato.BringToFront(); this.Controls.Add(ucContrato); } foreach (Cliente cli in cm.Lista_clientes()) { pos = ((contador + 1) * 5 + 224 * contador); //CuadroCliente mi_cuadro = new CuadroCliente(new Point(pos, pos), cli.getApe(), cli.GetNom()); this.flowPanel.Controls.Add(new CuadroCliente(new Point(pos, pos), cli.getApe(), cli.GetNom(), cli.GetRut(), this)); this.padre = padre; } }
//Al hacer click en el boton de Actualizar //Se inicia una consulta con la base de datos para actualizar los //datos de un cliente existente. private void btnAgregar_Click(object sender, EventArgs e) { //Se verifica que los campos de Texto no esten vaciós. //El resto de los campos tambien es obligatorio llenarlos. if (txtRut.Text.Length > 0 && txtNombres.Text.Length > 0 && txtApellidos.Text.Length > 0) { //Se crea una instancia de ClienteMetodos //Clase controladora entre la interfaz grafica y las entidades. ControladoraEntidades cm = new ControladoraEntidades(); try { //Lista_campos retorna una lista de todas las String //asociadas a los campos del formulario. //La libreria DAOBeLife toma todos los campos para //realizar el INSERT en la base de datos de un nuevo cliente. //Siempre y cuando no se produzca una excepcion DAOBeLife.DAO.Insertar_cliente(cm.Lista_campos(this.panel1)); MessageBox.Show("Cliente agregado con Exito!"); //Se carga la ventana de clientes donde debería mostrarse el //cliente nuevo. UserControl ucCliente = new BeLifeMetro.VentanaCliente(); this.panel1.Controls.Clear(); ucCliente.BringToFront(); this.panel1.Controls.Add(ucCliente); } catch (Exception error) { //La excepción puede ser de 2 tipos //ArgumentOutOfRangeException quiere decir que no se llenaron todos //los campos. Ya que el procedimiento almacenado esperaba un cierto //numero de parametros y recibió una cantidad menor. //Si el Error es de otro tipo se muestra el error por pantalla. if (error is ArgumentOutOfRangeException) { MessageBox.Show("ERROR: Todos los campos son obligatorios"); } else { MessageBox.Show(error.Message); } } } else { MessageBox.Show("ERROR: Todos los campos son obligatorios"); } }
//Al hacer click en el boton para agregar contrato //Se envìa la lista de los campos del formulario //Al la clase que se encarga de las consultas de la base de datos. private void btnAgregarContrato_Click(object sender, EventArgs e) { ControladoraEntidades cm = new ControladoraEntidades(); try { //La funcion Lista_campos obtiene una lista de todos los //textBox, comboBox y radioButtons del formulario. //Esta lista es entregada al DAO para que realice la inserciòn //de un nuevo cliente. DAOBeLife.DAO.Insertar_contrato(cm.Lista_campos(this.panel1)); MessageBox.Show("Contrato agregado con exito!"); //Se carga la ventana de contratos donde debería aparecer //el Contrato agregado. UserControl ucContrato = new BeLifeMetro.VentanaContrato(); this.panel1.Controls.Clear(); ucContrato.BringToFront(); this.panel1.Controls.Add(ucContrato); } catch (Exception error) { //La excepción puede ser de 2 tipos //ArgumentOutOfRangeException quiere decir que no se llenaron todos //los campos. Ya que el procedimiento almacenado esperaba un cierto //numero de parametros y recibió una cantidad menor. //Si el Error es de otro tipo se muestra el error por pantalla. if (error is ArgumentOutOfRangeException) { MessageBox.Show("ERROR: Todos los campos son obligatorios"); } else { MessageBox.Show(error.Message); } //MessageBox.Show(error.GetType().ToString()+"\n "+error.Message); } }
//Al hacer click en el boton de Actualizar //Se inicia una consulta con la base de datos para actualizar los //datos de un cliente existente. private void btnAgregar_Click(object sender, EventArgs e) { //Se verifica que los campos de Texto no esten vaciós. //El resto de los campos tambien es obligatorio llenarlos. if (txtRut.Text.Length > 0 && txtNombres.Text.Length > 0 && txtApellidos.Text.Length > 0) { //Se crea una instancia de ClienteMetodos //Clase controladora entre la interfaz grafica y las entidades. ControladoraEntidades cm = new ControladoraEntidades(); //DatosClientes es una lista de los datos asociados al Cliente //Cada elemento de la lista 'datos_clientes' corresponde a un campo //del formulario. List <String> datos_cliente = new List <String>(); datos_cliente.Add(txtRut.Text); datos_cliente.Add(txtNombres.Text); datos_cliente.Add(txtApellidos.Text); datos_cliente.Add(dateFechaNacimiento.Text); //Se obtiene el estado del RadioButton que determina el Sexo del cliente if (rbMasculino.Checked) { datos_cliente.Add("masculino"); } else { datos_cliente.Add("femenino"); } datos_cliente.Add(cbEstadoCivil.Text); //Se usa la libreria DAOBeLife que se encarga de hacer las //consultas a la base de datos. try { DAOBeLife.DAO.Actualizar_cliente(datos_cliente); //Si el try no arroja excepción se muestra un mensaje de exito. MessageBox.Show("Cliente actualizado con Exito!"); } //La excepción puede ser de 2 tipos //ArgumentOutOfRangeException quiere decir que no se llenaron todos //los campos. Ya que el procedimiento almacenado esperaba un cierto //numero de parametros y recibió una cantidad menor. //Si el Error es de otro tipo se muestra el error por pantalla. catch (Exception error) { if (error is ArgumentOutOfRangeException) { MessageBox.Show("ERROR: Todos los campos son obligatorios"); } else { MessageBox.Show(error.Message); } } } else { MessageBox.Show("ERROR: Todos los campos son obligatorios"); } }