private bool DatosValidos(int accion) { switch (accion) { case 0: //Cargar ServicioValidaciones.ItemObligatorioSeleccionado((ComboBox)controles.Find(x => x.Name == "comboUbicacion"), "Ubicacion"); break; case 1: //Actualizar ServicioValidaciones.ItemObligatorioSeleccionado((ComboBox)controles.Find(x => x.Name == "comboUbicacion"), "Ubicacion"); ServicioValidaciones.ItemSeleccionado((ComboBox)controles.Find(x => x.Name == "comboAuditoria"), "Última auditoria"); var gridItems = (DataGridView)controles.Find(x => x.Name == "gridItems"); var lista = gridItems.DataSource as List <AjusteStockVista>; if (lista == null) { throw new Exception("Debe hacer clic en Cargar Datos antes de agregar la auditoría"); } break; case 2: //Guardar ServicioValidaciones.ItemSeleccionado((ComboBox)controles.Find(x => x.Name == "comboUbicacion"), "Ubicacion"); ServicioValidaciones.GrillaConDatos((DataGridView)controles.Find(x => x.Name == "gridItems")); DataGridView dgv = (DataGridView)controles.Find(x => x.Name == "gridItems"); foreach (DataGridViewRow row in dgv.Rows) { var cellValue = row.Cells["Observaciones"].Value; if (cellValue == null || string.IsNullOrWhiteSpace(cellValue.ToString())) { throw new Exception("El campo Observaciones es obligatorio para todos los registros"); } } break; } return(true); }