public Decimal RegistrarInsersionRegistroTabla(Decimal ID_VERSIONAMIENTO, ListaSecciones area, String campo, String descripcionCampo, String valor, AccionesManual accion, Decimal ID_EMPRESA, Conexion conexion) { if (ID_VERSIONAMIENTO == 0) { ID_VERSIONAMIENTO = AdicionarVersionamientoParaManualPorEmpresa(ID_EMPRESA, conexion); if (ID_VERSIONAMIENTO <= 0) { ID_VERSIONAMIENTO = 0; return(-1); } } if (AdicionarHistorialModificacionesHistorial(ID_EMPRESA, area.ToString(), campo, descripcionCampo, null, valor, accion.ToString(), ID_VERSIONAMIENTO, conexion) <= 0) { ID_VERSIONAMIENTO = 0; return(-1); } return(ID_VERSIONAMIENTO); }
public Decimal CrearManualParaEmpresa(Decimal ID_EMPRESA, List <ManualServicio> listaAdicionales) { Decimal ID_VERSIONAMIENTO = 0; Decimal ID_ADICIONAL = 0; Decimal ID_HISTORIAL = 0; Boolean correcto = true; Boolean verificado = true; Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); try { ID_VERSIONAMIENTO = AdicionarVersionamientoParaManualPorEmpresa(ID_EMPRESA, conexion); if (ID_VERSIONAMIENTO <= 0) { correcto = false; ID_VERSIONAMIENTO = 0; conexion.DeshacerTransaccion(); } else { DataTable tablaAdicionalesTodos = ObtenerAdicionalesPorEmpresaSinArea(ID_EMPRESA, conexion); for (int i = 0; i < tablaAdicionalesTodos.Rows.Count; i++) { DataRow FilaAdicional = tablaAdicionalesTodos.Rows[i]; Decimal ID_ADICIONAL_TABLA = Convert.ToDecimal(FilaAdicional["ID_ADICIONAL"]); String TITULO_TABLA = FilaAdicional["TITULO"].ToString().Trim(); String DESCRIPCION_TABLA = FilaAdicional["DESCRIPCION"].ToString().Trim(); ListaSecciones AREA_TABLA = (ListaSecciones)Enum.Parse(typeof(ListaSecciones), FilaAdicional["AREA"].ToString().Trim()); verificado = true; foreach (ManualServicio adicional in listaAdicionales) { if (adicional.ID_ADICIONAL == ID_ADICIONAL_TABLA) { verificado = false; if (ActualizarAdicional(adicional.ID_ADICIONAL, adicional.TITULO, adicional.DESCRIPCION, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; } break; } } if ((verificado == true) && (correcto == true)) { if (DesactivarAdicionalPorId(ID_ADICIONAL_TABLA, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; break; } } } foreach (ManualServicio adicional in listaAdicionales) { if (adicional.ID_ADICIONAL == 0) { ID_ADICIONAL = AdicionarAdicionalPorEmpresaYVersionamiento(ID_EMPRESA, adicional.AREA.ToString(), adicional.TITULO, adicional.DESCRIPCION, ID_VERSIONAMIENTO, conexion); if (ID_ADICIONAL <= 0) { conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; break; } } } if (correcto == true) { ID_HISTORIAL = AdicionarHistorialModificacionesHistorial(ID_EMPRESA, ListaSecciones.General.ToString(), null, null, null, null, AccionesManual.Crear.ToString(), ID_VERSIONAMIENTO, conexion); if (ID_HISTORIAL <= 0) { conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; } } } if (correcto == true) { conexion.AceptarTransaccion(); } } catch (Exception ex) { MensajeError = ex.Message; conexion.DeshacerTransaccion(); ID_VERSIONAMIENTO = 0; } finally { conexion.Desconectar(); } return(ID_VERSIONAMIENTO); }
public Boolean ActualizarManualParaEmpresa(Decimal ID_EMPRESA, List <ManualServicio> listaAdicionales) { Decimal ID_VERSIONAMIENTO = 0; Decimal ID_ADICIONAL = 0; Boolean correcto = true; Boolean verificado = true; Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); try { Dictionary <String, String> diccionarioCampos = new Dictionary <String, String>(); diccionarioCampos.Add("TITULO", "Título"); diccionarioCampos.Add("DESCRIPCION", "Descripción"); DataTable tablaAdicionalesTodos = ObtenerAdicionalesPorEmpresaSinArea(ID_EMPRESA, conexion); for (int i = 0; i < tablaAdicionalesTodos.Rows.Count; i++) { DataRow FilaAdicional = tablaAdicionalesTodos.Rows[i]; Decimal ID_ADICIONAL_TABLA = Convert.ToDecimal(FilaAdicional["ID_ADICIONAL"]); String TITULO_TABLA = FilaAdicional["TITULO"].ToString().Trim(); String DESCRIPCION_TABLA = FilaAdicional["DESCRIPCION"].ToString().Trim(); ListaSecciones AREA_TABLA = (ListaSecciones)Enum.Parse(typeof(ListaSecciones), FilaAdicional["AREA"].ToString().Trim()); verificado = true; foreach (ManualServicio adicional in listaAdicionales) { if (adicional.ID_ADICIONAL == ID_ADICIONAL_TABLA) { verificado = false; DataTable tablaDatosAnteriores = ObtenerInfoRegistroTabla(diccionarioCampos, "oper_adicionales_manual", "ID_ADICIONAL", ID_ADICIONAL_TABLA.ToString(), conexion); if (ActualizarAdicional(adicional.ID_ADICIONAL, adicional.TITULO, adicional.DESCRIPCION, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; break; } DataTable tablaDatosNuevos = ObtenerInfoRegistroTabla(diccionarioCampos, "oper_adicionales_manual", "ID_ADICIONAL", ID_ADICIONAL_TABLA.ToString(), conexion); ID_VERSIONAMIENTO = DeterminarYRegistrarModificacionesEnCampos(diccionarioCampos, tablaDatosAnteriores, tablaDatosNuevos, ID_VERSIONAMIENTO, ID_EMPRESA, AREA_TABLA, AccionesManual.Actualizar, conexion); if (ID_VERSIONAMIENTO == -1) { conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; break; } break; } } if ((verificado == true) && (correcto == true)) { ID_VERSIONAMIENTO = RegistrarDesactivacionRegistroTabla(ID_EMPRESA, AREA_TABLA, AccionesManual.Eliminar, "ADICIONAL", "Descripción Adicional", TITULO_TABLA, ID_VERSIONAMIENTO, conexion); if (ID_VERSIONAMIENTO == -1) { conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; break; } else { if (DesactivarAdicionalPorId(ID_ADICIONAL_TABLA, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; break; } } } } if (correcto == true) { foreach (ManualServicio adicional in listaAdicionales) { if (adicional.ID_ADICIONAL == 0) { ID_VERSIONAMIENTO = RegistrarInsersionRegistroTabla(ID_VERSIONAMIENTO, adicional.AREA, "ADICIONAL", "Descripción Adicional", adicional.TITULO, AccionesManual.Insertar, adicional.ID_EMPRESA, conexion); if (ID_VERSIONAMIENTO == -1) { conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; break; } else { ID_ADICIONAL = AdicionarAdicionalPorEmpresaYVersionamiento(ID_EMPRESA, adicional.AREA.ToString(), adicional.TITULO, adicional.DESCRIPCION, ID_VERSIONAMIENTO, conexion); if (ID_ADICIONAL <= 0) { conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; break; } } } } } if (correcto == true) { conexion.AceptarTransaccion(); } } catch (Exception ex) { MensajeError = ex.Message; conexion.DeshacerTransaccion(); correcto = false; ID_VERSIONAMIENTO = 0; } finally { conexion.Desconectar(); } return(correcto); }
public Decimal DeterminarYRegistrarModificacionesEnCampos(Dictionary <String, String> diccionarioCampos, DataTable tablaDatosAnteriores, DataTable tablaDatosNuevos, Decimal ID_VERSIONAMIENTO, Decimal ID_EMPRESA, ListaSecciones area, AccionesManual accion, Conexion conexion) { DataRow filaDatoAnterior = tablaDatosAnteriores.Rows[0]; DataRow filaDatoNuevo = tablaDatosNuevos.Rows[0]; foreach (KeyValuePair <String, String> campo in diccionarioCampos) { if (filaDatoAnterior[campo.Key].Equals(filaDatoNuevo[campo.Key]) == false) { if (ID_VERSIONAMIENTO == 0) { ID_VERSIONAMIENTO = AdicionarVersionamientoParaManualPorEmpresa(ID_EMPRESA, conexion); if (ID_VERSIONAMIENTO <= 0) { ID_VERSIONAMIENTO = 0; return(-1); } } if (AdicionarHistorialModificacionesHistorial(ID_EMPRESA, area.ToString(), campo.Key, campo.Value, filaDatoAnterior[campo.Key].ToString().Trim(), filaDatoNuevo[campo.Key].ToString().Trim(), accion.ToString(), ID_VERSIONAMIENTO, conexion) <= 0) { ID_VERSIONAMIENTO = 0; return(-1); } } } return(ID_VERSIONAMIENTO); }