/// <summary> /// Este método deberia llamarse _Mtd_Cancelar pero se llama _Mtd_Ini para que funcione correctamente la botonera (efecto BOTÓN ROJO) /// Lo que hace es 'cancelar' el proceso de 'agregar', vuelve a la consulta /// </summary> /// <returns></returns> public void _Mtd_Ini() { _G_Bol_EstadoActualFormulario = _Enu_EstadosFormulario.ConsultandoMaestra; _Mtd_ActualizarEstadoBotonera(); _Tb_Tab.SelectedIndex = 0; _Mtd_LimpiarDetalle(); _Mtd_HabilitarInhabilitarDetalle(false); }
/// <summary> /// Pasa el formulario a modo 'agregando', es decir, muestra la pestaña de detalle con los campos limpios y habilita los controles /// Este método tiene que llamarse así por compatibilidad con la botonera /// </summary> public void _Mtd_Nuevo() { _G_Str_CodigoProveedorAnterior = ""; _G_Str_CodigoClienteAnterior = ""; _G_Bol_EstadoActualFormulario = _Enu_EstadosFormulario.Agregando; _Mtd_ActualizarEstadoBotonera(); _Mtd_MostrarPestanaDetalle(); _Mtd_LimpiarDetalle(); _Mtd_HabilitarInhabilitarDetalle(true); }
/// <summary> /// muestra el detalle y utiliza un cursor de espera /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _Dg_Grid_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { if (_Dtg_Principal.Rows.Count > 0) { _G_Bol_EstadoActualFormulario = _Enu_EstadosFormulario.ConsultandoDetalle; _Mtd_ActualizarEstadoBotonera(); Cursor = Cursors.WaitCursor; // -------------------------------------------------------------------------------------------------------------------------- _G_Str_cidrelaprocli = _Ctrl_Busqueda1._Mtd_RetornarStringCelda(0, e.RowIndex).Trim(); _G_Str_CodigoProveedorAnterior = _Ctrl_Busqueda1._Mtd_RetornarStringCelda(1, e.RowIndex).Trim(); _G_Str_CodigoClienteAnterior = _Ctrl_Busqueda1._Mtd_RetornarStringCelda(3, e.RowIndex).Trim(); _Mtd_MostrarDetalle(_G_Str_cidrelaprocli); //--------------------------------------------------------------------------------------------------------------------------- _Mtd_MostrarPestanaDetalle(); Cursor = Cursors.Default; } }
/// <summary> /// limpia la pestaña de detalle en caso de que el usuario vuelva a la pestaña de consulta /// evita que el usuario abra la pestaña de detalle directamente /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _Tb_Tab_Selecting(object sender, TabControlCancelEventArgs e) { if (e.TabPageIndex == 0) { _Mtd_LimpiarDetalle(); _Mtd_HabilitarInhabilitarDetalle(false); _G_Bol_PermitirClicTabDetalle = false; _G_Bol_EstadoActualFormulario = _Enu_EstadosFormulario.ConsultandoMaestra; _Mtd_ActualizarEstadoBotonera(); } if (e.TabPageIndex == 1 && !_G_Bol_PermitirClicTabDetalle) { e.Cancel = true; } }
/// <summary> /// Ejecuta el método _Mtd_NuevoRegistroEsValido y guarda la relación en caso de ser válida /// </summary> /// <returns></returns> public bool _Mtd_Guardar() { string _Str_CodigoProveedor = _Cmb_Proveedor.SelectedValue.ToString().Trim(); string _Str_CodigoCliente = _Lbl_CodigoCliente.Text.Trim(); // si el usuario no selecciono un cliente, se guarda codigo cero if (_Str_CodigoCliente == "") { _Str_CodigoCliente = "0"; } if (_G_Bol_EstadoActualFormulario == _Enu_EstadosFormulario.Agregando) { if (_Mtd_Validar()) { string _Str_SQL = "INSERT INTO TICRELAPROCLI (cproveedor,ccliente,cgroupcomp,cdateadd,cuseradd) VALUES ('" + _Str_CodigoProveedor + "','" + _Str_CodigoCliente + "','" + Frm_Padre._Str_GroupComp + "', GETDATE(),'" + Frm_Padre._Str_Use + "')"; Program._MyClsCnn._mtd_conexion._Mtd_EjecutarSentencia(_Str_SQL); _G_Bol_EstadoActualFormulario = _Enu_EstadosFormulario.ConsultandoMaestra; _Mtd_ActualizarEstadoBotonera(); MessageBox.Show("El registro se ha agregado satisfactoriamente.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); // actualiza el grid ppal _Mtd_LlenarGridPrincipal(); // vuelve a la primera pestaña _Tb_Tab.SelectedIndex = 0; return(true); } else { return(false); } } if (_G_Bol_EstadoActualFormulario == _Enu_EstadosFormulario.Modificando) { if (_Mtd_Validar()) { string _Str_SQL = "UPDATE TICRELAPROCLI SET ccliente = '" + _Str_CodigoCliente + "', cproveedor = '" + _Str_CodigoProveedor + "', cdateupd = GETDATE(), cuserupd = '" + Frm_Padre._Str_Use + "' WHERE cidrelaprocli = '" + _G_Str_cidrelaprocli + "'"; Program._MyClsCnn._mtd_conexion._Mtd_EjecutarSentencia(_Str_SQL); _G_Bol_EstadoActualFormulario = _Enu_EstadosFormulario.ConsultandoMaestra; _Mtd_ActualizarEstadoBotonera(); MessageBox.Show("El registro se ha modificado satisfactoriamente.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); // actualiza el grid ppal _Mtd_LlenarGridPrincipal(); // vuelve a la primera pestaña _Tb_Tab.SelectedIndex = 0; return(true); } else { return(false); } } MessageBox.Show("Ha ocurrido un error inesperado. Por favor contacte al desarrollador.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); }
/// <summary> /// Este método deberia llamarse _Mtd_Modificar pero se llama _Mtd_Habilitar para que funcione correctamente la botonera /// Lo que hace es habilitar los controles para el usuario pueda modificar un reigstro /// </summary> /// <returns></returns> public void _Mtd_Habilitar() { _G_Bol_EstadoActualFormulario = _Enu_EstadosFormulario.Modificando; _Mtd_HabilitarInhabilitarDetalle(true); _Mtd_ActualizarEstadoBotonera(); }