void grabar() { try { string msg = ""; cmbEstadoApro.Focus(); foreach (var item in LstOC) { if (item.check == true) { switch (item.IdEstadoAprobacion_cat) { case "ANU": item.FechaHoraAnul = param.Fecha_Transac; item.IdUsuarioUltAnu = param.IdUsuario; item.MotivoAnulacion = "O/C Anulada x " + item.MotivoReprobacion; if (item.MotivoAnulacion.Length > 499) { item.MotivoAnulacion = item.MotivoAnulacion.Substring(0, 498); } if (BusOC.ReversarOC(item, ref msg)) { MessageBox.Show("Se ha Anulado la Orden de Compra No." + item.oc_NumDocumento, "SISTEMAS", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; case "APRO": item.co_fecha_aprobacion = DateTime.Now; item.IdUsuario_Aprueba = param.IdUsuario; item.MotivoReprobacion = "O/C Aprobada x " + item.MotivoReprobacion; if (item.MotivoReprobacion.Length > 499) { item.MotivoReprobacion = item.MotivoReprobacion.Substring(0, 498); } if (BusOC.Modificar_Estado_Aprob(item, ref msg)) { MessageBox.Show("Se ha actualizado correctamente la Orden de Compra No." + item.oc_NumDocumento, "SISTEMAS", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; case "xAPRO": // MessageBox.Show("LA OPCION DE DESAPROBAR ESTA BLOQUEADA TEMPORALMENTE ..OC#" + item.oc_NumDocumento, "SISTEMAS", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); if (BusOC.Modificar_Estado_Aprob(item, ref msg)) { MessageBox.Show("Se ha actualizado correctamente la Orden de Compra No." + item.oc_NumDocumento, "SISTEMAS", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; case "REP": item.IdUsuario_Reprue = param.IdUsuario; item.co_fechaReproba = param.Fecha_Transac; item.MotivoReprobacion = "O/C Reprobada x " + item.MotivoReprobacion; if (item.MotivoReprobacion.Length > 499) { item.MotivoReprobacion = item.MotivoReprobacion.Substring(0, 498); } if (BusOC.Modificar_Estado_Aprob(item, ref msg)) { MessageBox.Show("Se ha actualizado correctamente la Orden de Compra No." + item.oc_NumDocumento, "SISTEMAS", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; default: break; } } } LimpiarDatos(); cmbEstadoApro.EditValue = "xAPRO"; buscar(); } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }