private void abrirFormModificar() { try { if (dgvAreasEmpresa.SelectedRows.Count == 1) { conexion.cerrarconexion(); if (conexion.abrirconexion() == true) { cli = Clases.Clientes.SeleccionarCliente(conexion.conexion, cliente); Clases.Cliente_seleccionado.id_cliente = cli.id_cliente; Clases.Cliente_seleccionado.id_area = cli.id_area; Clases.Cliente_seleccionado.nombre_empresa = cli.nombre_empresa; Clases.Cliente_seleccionado.nombre_areaEmpresa = cli.nombre_areaEmpresa; Clases.Cliente_seleccionado.nombre_contacto = cli.nombre_contacto; Clases.Cliente_seleccionado.tlfn_cliente = cli.tlfn_cliente; Clases.Cliente_seleccionado.correo_cliente = cli.correo_cliente; conexion.cerrarconexion(); Modificar_contacto_area mod_contacto = new Modificar_contacto_area(); mod_contacto.ShowDialog(); refrescar(); Clases.Paneles.VaciarClienteSeleccionado(); dgvAreasEmpresa.ClearSelection(); } } else { MessageBox.Show("Debe seleccionar un registro.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message); } }
private void Guardar() { try { int fee; conexion.cerrarconexion(); if (conexion.abrirconexion() == true) { if (txtNombreEmpresa.Text == "Nombre empresa" || txtNombreEmpresa.Text == "") { errorProviderEmpresa.SetError(txtNombreEmpresa, "Debe proporcionar un nombre de empresa válido."); txtNombreEmpresa.Focus(); } else if (cmbxFee.SelectedIndex == -1) { errorProviderEmpresa.SetError(txtNombreEmpresa, ""); errorProviderFee.SetError(cmbxFee, "Debe seleccionar una de las opciones."); cmbxFee.Focus(); } else if (txtNombreArea.Text == "Nombre del área" || txtNombreArea.Text == "") { errorProviderFee.SetError(cmbxFee, ""); errorProviderNArea.SetError(txtNombreArea, "Debe proporcionar un nombre de área válido."); txtNombreArea.Focus(); } else if (txtNombreContactoArea.Text == "Persona contacto del área" || txtNombreContactoArea.Text == "") { errorProviderNArea.SetError(txtNombreArea, ""); errorProviderContacto.SetError(txtNombreContactoArea, "Debe proporcionar un contacto de área válido"); txtNombreContactoArea.Focus(); } else //si todo ok, procede a registrarlo { errorProviderContacto.SetError(txtNombreContactoArea, ""); cliente.nombre_empresa = txtNombreEmpresa.Text; cliente.nombre_areaEmpresa = txtNombreArea.Text; cliente.nombre_contacto = txtNombreContactoArea.Text; cliente.tlfn_cliente = txtTelefonoCliArea.Text; cliente.correo_cliente = txtCorreoCliArea.Text; fee = cmbxFee.SelectedIndex; switch (fee) { case 0: fee = 1; //si 1, la empresa está con FEE break; case 1: fee = 0; //La empresa no posee FEE break; } cliente.fee_empresa = fee; clienteexiste = Clases.Clientes.ClienteExiste(conexion.conexion, cliente); conexion.cerrarconexion(); if (clienteexiste.id_cliente == 0)//si resultado es 0, el cliente no existe (se puede hacer el registro) { if (conexion.abrirconexion() == true) { int agregar = 0; agregar = Clases.Clientes.AgregarCliente(conexion.conexion, cliente); conexion.cerrarconexion(); if (conexion.abrirconexion() == true) { clienteexiste = Clases.Clientes.ClienteExiste(conexion.conexion, cliente); conexion.cerrarconexion(); cliente.id_cliente = clienteexiste.id_cliente;//aqui se toma el valor del id del cliente agregado if (conexion.abrirconexion() == true) { int addAreas = 0; addAreas = Clases.Clientes.AgregarArea(conexion.conexion, cliente); conexion.cerrarconexion(); if (agregar > 0 && addAreas > 0) { if (MessageBox.Show("El cliente fue creado con exito. ¿Desea añadir otro cliente?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { this.Close(); } else { Refrescar(); } } else { MessageBox.Show("No se pudo realizar el registro.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); } conexion.cerrarconexion(); } else { MessageBox.Show("No se pudo realizar el registro.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); } conexion.cerrarconexion(); } } } else if (clienteexiste.id_cliente != 0)//si la empresa existe { cliente.id_cliente = clienteexiste.id_cliente; if (conexion.abrirconexion() == true) { areaE = Clases.Clientes.AreaExiste(conexion.conexion, cliente); //verificar que el area exista o no conexion.cerrarconexion(); if (areaE.id_area > 0) //si el id_area existe, mandar a nuevo form para modificar el contacto de dicha area existente { if (MessageBox.Show("Ya existe un contacto relacionado con el área de esta empresa. ¿Desea modificar el contacto del área?", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { conexion.cerrarconexion(); //lo ideal seria cerrar este form, que se dispare el Clases.Cliente_seleccionado.id_cliente = cliente.id_cliente; Clases.Cliente_seleccionado.id_area = areaE.id_area; Clases.Cliente_seleccionado.nombre_empresa = cliente.nombre_empresa; Clases.Cliente_seleccionado.nombre_areaEmpresa = cliente.nombre_areaEmpresa; Clases.Cliente_seleccionado.nombre_contacto = cliente.nombre_contacto; Clases.Cliente_seleccionado.tlfn_cliente = cliente.tlfn_cliente; Clases.Cliente_seleccionado.correo_cliente = cliente.correo_cliente; Modificar_contacto_area mod_contacto = new Modificar_contacto_area(); mod_contacto.ShowDialog(); } else { Refrescar(); conexion.cerrarconexion(); } } else if (areaE.id_area == 0)//no existe area de la empresa ya registrada. Mandar a añadir nueva area de la empresa { if (MessageBox.Show("Ya existe una empresa registrada con ese nombre en la base de datos. ¿Desea añadir una nueva área de la empresa?", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { //aqui debe redirigir a añadir nueva area (nuevo boton) conexion.cerrarconexion(); Clases.Cliente_seleccionado.id_cliente = cliente.id_cliente; Clases.Cliente_seleccionado.fee_empresa = cliente.fee_empresa; Clases.Cliente_seleccionado.nombre_empresa = cliente.nombre_empresa; Clases.Cliente_seleccionado.nombre_areaEmpresa = cliente.nombre_areaEmpresa; Clases.Cliente_seleccionado.nombre_contacto = cliente.nombre_contacto; Clases.Cliente_seleccionado.tlfn_cliente = cliente.tlfn_cliente; Clases.Cliente_seleccionado.correo_cliente = cliente.correo_cliente; Registrar_area registroArea = new Registrar_area(); registroArea.ShowDialog(); Refrescar(); conexion.cerrarconexion(); int fe = 3; Clases.Cliente_seleccionado.id_cliente = 0; Clases.Cliente_seleccionado.fee_empresa = fe; Clases.Cliente_seleccionado.id_area = 0; Clases.Cliente_seleccionado.nombre_empresa = ""; Clases.Cliente_seleccionado.nombre_areaEmpresa = ""; Clases.Cliente_seleccionado.nombre_contacto = ""; Clases.Cliente_seleccionado.tlfn_cliente = ""; Clases.Cliente_seleccionado.correo_cliente = ""; } else { Refrescar(); } } } } conexion.cerrarconexion(); } } } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message); conexion.cerrarconexion(); } }
} //metodo para llenar el combobox con las empresas existentes private void GuardarArea() { try { conexion.cerrarconexion(); if (txtNombreEmpresa.Visible == false)//es decir: si no se viene referenciado de Registro clientes { if (cmbxEmpresa.SelectedIndex == -1) { errorProviderCMBxNCli.SetError(cmbxEmpresa, "Debe seleccionar una empresa para continuar con el registro."); } else if (txtNombreArea.Text == "" || txtNombreArea.Text == "Nombre del área") { errorProviderCMBxNCli.SetError(cmbxEmpresa, ""); errorProviderNomArea.SetError(txtNombreArea, "Debe proporcionar un nombre válido."); txtNombreArea.Focus(); } else if (txtNombreContactoArea.Text == "" || txtNombreContactoArea.Text == "Persona contacto del área") { errorProviderNomArea.SetError(txtNombreArea, ""); errorProviderPersContacto.SetError(txtNombreContactoArea, "Debe proporcionar el nombre del contacto dentro del área"); txtNombreContactoArea.Focus(); } else { errorProviderPersContacto.SetError(txtNombreContactoArea, ""); conexion.cerrarconexion(); if (conexion.abrirconexion() == true) { if (cliente.id_cliente > 0) { string nombre_e = Clases.Clientes.seleccionarNombreEmpresa(conexion.conexion, id_cli); conexion.cerrarconexion(); if (nombre_e != "")//si el id arroja un Nombre de Empresa { //cuando todas las comprobaciones sean hechas, se guardarán los datos en "cliente" if (conexion.abrirconexion() == true) { cliente.nombre_areaEmpresa = txtNombreArea.Text; cliente.nombre_contacto = txtNombreContactoArea.Text; cliente.tlfn_cliente = txtTelefonoCliArea.Text; cliente.correo_cliente = txtCorreoCliArea.Text; cliente.nombre_empresa = nombre_e; areaE = Clases.Clientes.AreaExiste(conexion.conexion, cliente); //se le manda el id_cliente y el nombre del area para la comprobación de existencia. conexion.cerrarconexion(); if (areaE.id_area == 0) //si retorna 0 es que el area no existe { if (conexion.abrirconexion() == true) { int addAreas = 0; addAreas = Clases.Clientes.AgregarArea(conexion.conexion, cliente); conexion.cerrarconexion(); if (addAreas > 0) { if (MessageBox.Show("El área fue registrada con exito. ¿Desea añadir otra área?", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { Clases.Cliente_seleccionado.id_cliente = 0; this.Close(); } else //en el caso de que se quiera añadir otra area (se quita el textbox) { Clases.Cliente_seleccionado.id_cliente = 0; txtNombreEmpresa.Text = "Nombre empresa"; txtNombreEmpresa.Visible = false; string nombre = ""; llenarcombo(nombre); txtNombreArea.Text = "Nombre del área"; txtNombreContactoArea.Text = "Persona contacto del área"; txtTelefonoCliArea.Text = "Teléfono o celular"; txtCorreoCliArea.Text = "*****@*****.**"; } } else { MessageBox.Show("No se pudo realizar el registro.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); } conexion.cerrarconexion(); } } else if (areaE.id_area > 0) { if (MessageBox.Show("Ya existe un contacto relacionado con el área de esta empresa. ¿Desea modificar el contacto del área?", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { conexion.cerrarconexion(); //lo ideal seria cerrar este form, que se dispare el Clases.Cliente_seleccionado.id_cliente = cliente.id_cliente; Clases.Cliente_seleccionado.id_area = areaE.id_area; Clases.Cliente_seleccionado.nombre_empresa = cliente.nombre_empresa; Clases.Cliente_seleccionado.nombre_areaEmpresa = cliente.nombre_areaEmpresa; Clases.Cliente_seleccionado.nombre_contacto = cliente.nombre_contacto; Clases.Cliente_seleccionado.tlfn_cliente = cliente.tlfn_cliente; Clases.Cliente_seleccionado.correo_cliente = cliente.correo_cliente; Modificar_contacto_area mod_contacto = new Modificar_contacto_area(); mod_contacto.ShowDialog(); } else { txtNombreArea.Text = "Nombre del área"; txtNombreContactoArea.Text = "Persona contacto del área"; txtTelefonoCliArea.Text = "Teléfono o celular"; txtCorreoCliArea.Text = "*****@*****.**"; conexion.cerrarconexion(); } } } } } } } } else if (txtNombreEmpresa.Visible == true)//si viene referenciado de REGISTRAR CLIENTES { if (cmbxEmpresa.SelectedIndex == -1) { errorProviderCMBxNCli.SetError(cmbxEmpresa, "Debe seleccionar una empresa para continuar con el registro."); } else if (txtNombreArea.Text == "" || txtNombreArea.Text == "Nombre del área") { errorProviderCMBxNCli.SetError(cmbxEmpresa, ""); errorProviderNomArea.SetError(txtNombreArea, "Debe proporcionar un nombre válido."); txtNombreArea.Focus(); } else if (txtNombreContactoArea.Text == "" || txtNombreContactoArea.Text == "Persona contacto del área") { errorProviderNomArea.SetError(txtNombreArea, ""); errorProviderPersContacto.SetError(txtNombreContactoArea, "Debe proporcionar el nombre del contacto dentro del área"); txtNombreContactoArea.Focus(); } else { errorProviderPersContacto.SetError(txtNombreContactoArea, ""); conexion.cerrarconexion(); if (conexion.abrirconexion() == true) { if (cliente.id_cliente > 0) { conexion.cerrarconexion(); //cuando todas las comprobaciones sean hechas, se guardarán los datos en "cliente" if (conexion.abrirconexion() == true) { cliente.nombre_areaEmpresa = txtNombreArea.Text; cliente.nombre_contacto = txtNombreContactoArea.Text; cliente.tlfn_cliente = txtTelefonoCliArea.Text; cliente.correo_cliente = txtCorreoCliArea.Text; cliente.nombre_empresa = txtNombreEmpresa.Text; areaE = Clases.Clientes.AreaExiste(conexion.conexion, cliente); //se le manda el id_cliente y el nombre del area para la comprobación de existencia. conexion.cerrarconexion(); if (areaE.id_area == 0) //si retorna 0 es que el area no existe { if (conexion.abrirconexion() == true) { int addAreas = 0; addAreas = Clases.Clientes.AgregarArea(conexion.conexion, cliente); conexion.cerrarconexion(); if (addAreas > 0) { if (MessageBox.Show("El área fue registrada con exito. ¿Desea añadir otra área?", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { Clases.Cliente_seleccionado.id_cliente = 0; this.Close(); Panel_cabecera.Visible = true; } else //en el caso de que se quiera añadir otra area (se quita el textbox) { Clases.Cliente_seleccionado.id_cliente = 0; txtNombreEmpresa.Text = "Nombre empresa"; txtNombreEmpresa.Visible = false; string nombre = ""; llenarcombo(nombre); txtNombreArea.Text = "Nombre del área"; txtNombreContactoArea.Text = "Persona contacto del área"; txtTelefonoCliArea.Text = "Teléfono o celular"; txtCorreoCliArea.Text = "*****@*****.**"; } } else { MessageBox.Show("No se pudo realizar el registro.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); } conexion.cerrarconexion(); } } else if (areaE.id_area > 0) { if (MessageBox.Show("Ya existe un contacto relacionado con el área de esta empresa. ¿Desea modificar el contacto del área?", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { conexion.cerrarconexion(); //lo ideal seria cerrar este form, que se dispare el Clases.Cliente_seleccionado.id_cliente = cliente.id_cliente; Clases.Cliente_seleccionado.id_area = areaE.id_area; Clases.Cliente_seleccionado.nombre_empresa = cliente.nombre_empresa; Clases.Cliente_seleccionado.nombre_areaEmpresa = cliente.nombre_areaEmpresa; Clases.Cliente_seleccionado.nombre_contacto = cliente.nombre_contacto; Clases.Cliente_seleccionado.tlfn_cliente = cliente.tlfn_cliente; Clases.Cliente_seleccionado.correo_cliente = cliente.correo_cliente; Modificar_contacto_area mod_contacto = new Modificar_contacto_area(); mod_contacto.ShowDialog(); } else { txtNombreArea.Text = "Nombre del área"; txtNombreContactoArea.Text = "Persona contacto del área"; txtTelefonoCliArea.Text = "Teléfono o celular"; txtCorreoCliArea.Text = "*****@*****.**"; conexion.cerrarconexion(); } } } } } } //final TODO OK } //FINAL (txtNombreEmpresa.Visible == true) } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message); } }