/// <summary>Actualiza el estado de la categoria a activo/inactivo.</summary> /// <param name="_EstadoElemento">Enum que contrendra el numero del tipo de estado.</param> private void ActualizarEstadoCategoria(ClsEstadosCategoriasArticulos.EEstadosCategoriasArticulos _EstadoElemento) { bool ActualizoUnRegistro = false; ClsCategoriasArticulos Categoria = new ClsCategoriasArticulos(); CategoriaArticulo ActualizarCategoria = new CategoriaArticulo(); int TotalDeFilas = dgvEstadoCategoria.Rows.Count; for (int Indice = 0; Indice < TotalDeFilas; Indice++) { //Pregunto si la celda es diferente a null if (dgvEstadoCategoria.Rows[Indice].Cells[(int)ENumColDGVCategorias.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvEstadoCategoria.Rows[Indice].Cells[(int)ENumColDGVCategorias.Seleccionar].Value) { string InformacionDelError = string.Empty; ActualizarCategoria = Categoria.LeerPorNumero((int)dgvEstadoCategoria.Rows[Indice].Cells[(int)ENumColDGVCategorias.ID_Categoria].Value, ref InformacionDelError); ActualizarCategoria.ID_EstadoCategoriaArticulo = (int)_EstadoElemento; if (Categoria.Actualizar(ActualizarCategoria, ref InformacionDelError) != 0) { dgvEstadoCategoria.Rows.Remove(dgvEstadoCategoria.Rows[Indice]); Indice -= 1; TotalDeFilas -= 1; ActualizoUnRegistro = true; UltimaFilaSeleccionada = -1; } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } // Cargar los DGV y CMB solo si acutalizo un registro if (ActualizoUnRegistro) { if (_EstadoElemento == ClsEstadosCategoriasArticulos.EEstadosCategoriasArticulos.Activo) { CargarDGVArticulos(ClsArticulos.ETipoListado.ArticulosActivosInactivos); } else { CargarDGVArticulos(ClsArticulos.ETipoListado.ArticulosActivosInactivos); } FormularioCargado = false; CargarCMBCategorias(); FormularioCargado = true; } }
private void BtnGuardarCambios_Click(object sender, EventArgs e) { bool DatosValidos = true; string RegistroDeErrores = string.Empty; int AnchoFormInformacion = 100; txtNombreCategoria.Text = txtNombreCategoria.Text.Trim(); if (txtNombreCategoria.Text.Length < 3) { DatosValidos = false; RegistroDeErrores += "El campo 'Nombre' debe tener como minimo 3 caracteres.\r\n\r\n"; AnchoFormInformacion += 50; } if (VerificarCategoriaRepetida(txtNombreCategoria.Text, ID_Categoria)) { DatosValidos = false; RegistroDeErrores += "El nombre de la categoria ya esta en uso.\r\n\r\n"; AnchoFormInformacion += 50; } if (DatosValidos) { txtNombreCategoria.Text = txtNombreCategoria.Text.Substring(0, 1).ToUpper() + txtNombreCategoria.Text.Remove(0, 1).ToLower(); string InformacionDelError = string.Empty; ClsCategoriasArticulos CategoriasArticulos = new ClsCategoriasArticulos(); CategoriaArticulo ActualizarCategoria = CategoriasArticulos.LeerPorNumero(ID_Categoria, ref InformacionDelError); if (ActualizarCategoria != null) { ActualizarCategoria.Nombre = txtNombreCategoria.Text; if (rbnCocinaSi.Checked) { ActualizarCategoria.ParaCocina = (int)ClsCategoriasArticulos.EParaCocina.Si; } else { ActualizarCategoria.ParaCocina = (int)ClsCategoriasArticulos.EParaCocina.No; } ClsDetalles Detalles = new ClsDetalles(); List <Detalle> SeEstaUsuandoLaCategoria = Detalles.LeerListado(-1, ClsDetalles.ETipoDeListado.CategoriaEnUso, ref InformacionDelError, ID_Categoria); if (SeEstaUsuandoLaCategoria.Count == 0) { if (CategoriasArticulos.Actualizar(ActualizarCategoria, ref InformacionDelError) != 0) { DialogResult = DialogResult.OK; Close(); } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"No se puede editar la categoria porque " + $"se esta usando para algun pedido en este momento.", ClsColores.Blanco, 200, 300)) { FormInformacion.ShowDialog(); } } } } else { using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 300)) { FormInformacion.ShowDialog(); } } }