public Boolean Actualizar(Decimal ID_EMPRESA, String ACTIVO, System.DateTime FCH_INGRESO, String NIT_EMPRESA, String ACT_ECO, String RAZ_SOCIAL, String DIR_EMP, String CIU_EMP, String TEL_EMP, String CUB_CIUDADES, String NOM_REP_LEGAL, String CC_REP_LEGAL, String TIPO_EMPRESA, String CIU_ORG_NEG, Int32 NUM_EMPLEADOS, String USU_MOD, String FAC_NAL, Decimal ID_ALIANZA, Int32 DIG_VER, String EMP_ESTADO, String EMP_EXC_IVA, String TEL_EMP1, String NUM_CELULAR, String ID_ACTIVIDAD, Decimal ID_GRUPO_EMPRESARIAL, List<cobertura> coberturas, String ID_CIUDAD_CC_REP_LEGAL, String ID_SERVICIO, String TIP_DOC_REG_LEGAL, List<empresasRiesgos> listaRiesgos, String RAZ_SOCIAL_ANTERIOR) { Decimal ID_VERSIONAMIENTO = 0; Boolean realizarVersionamientoManual = true; Boolean continuarNormalmente = true; ManualServicio _manual = new ManualServicio(Empresa, Usuario); Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); Boolean verificador = true; try { realizarVersionamientoManual = _manual.EmpresaConManualDeServicioCreado(ID_EMPRESA, conexion); DataTable tablaDatosAnteriores = _manual.ObtenerInfoRegistroTabla(diccionarioCamposVenEmpresas, "VEN_EMPRESAS", "ID_EMPRESA", ID_EMPRESA.ToString(), conexion); if (ActualizarRegistroVEN_EMPRESAS(ID_EMPRESA, ACTIVO, FCH_INGRESO, NIT_EMPRESA, ACT_ECO, RAZ_SOCIAL, DIR_EMP, CIU_EMP, TEL_EMP, CUB_CIUDADES, NOM_REP_LEGAL, CC_REP_LEGAL, TIPO_EMPRESA, CIU_ORG_NEG, NUM_EMPLEADOS, USU_MOD, FAC_NAL, ID_ALIANZA, DIG_VER, EMP_ESTADO, EMP_EXC_IVA, TEL_EMP1, NUM_CELULAR, ID_ACTIVIDAD, ID_GRUPO_EMPRESARIAL, ID_CIUDAD_CC_REP_LEGAL, ID_SERVICIO, TIP_DOC_REG_LEGAL, conexion) == false) { conexion.DeshacerTransaccion(); verificador = false; } else { DataTable tablaDatosNuevos = _manual.ObtenerInfoRegistroTabla(diccionarioCamposVenEmpresas, "VEN_EMPRESAS", "ID_EMPRESA", ID_EMPRESA.ToString(), conexion); if (realizarVersionamientoManual == true) { ID_VERSIONAMIENTO = _manual.DeterminarYRegistrarModificacionesEnCampos(diccionarioCamposVenEmpresas, tablaDatosAnteriores, tablaDatosNuevos, ID_VERSIONAMIENTO, ID_EMPRESA, ManualServicio.ListaSecciones.Comercial, ManualServicio.AccionesManual.Actualizar, conexion); if (ID_VERSIONAMIENTO == -1) { conexion.DeshacerTransaccion(); verificador = false; continuarNormalmente = false; ID_VERSIONAMIENTO = 0; } } if (continuarNormalmente == true) { cobertura _cobertura = new cobertura(Empresa); Boolean eliminarCobertura = true; Boolean insertarCobertura = true; DataTable tablaCoberturaActual = _cobertura.obtenerCoberturaDeUnCliente(ID_EMPRESA, conexion); for (int i = 0; i < tablaCoberturaActual.Rows.Count; i++) { DataRow filaCoberturaActual = tablaCoberturaActual.Rows[i]; String ID_CIUDAD_COBERTURA_ACTUAL = filaCoberturaActual["Código Ciudad"].ToString().Trim(); eliminarCobertura = true; foreach (cobertura c in coberturas) { if (c.IDCIUDAD == ID_CIUDAD_COBERTURA_ACTUAL) { eliminarCobertura = false; break; } } if (eliminarCobertura == true) { if (realizarVersionamientoManual == true) { ID_VERSIONAMIENTO = _manual.RegistrarDesactivacionRegistroTabla(ID_EMPRESA, ManualServicio.ListaSecciones.Comercial, ManualServicio.AccionesManual.Eliminar, "COBERTURA", "Cobertura", ID_CIUDAD_COBERTURA_ACTUAL, ID_VERSIONAMIENTO, conexion); if (ID_VERSIONAMIENTO == -1) { conexion.DeshacerTransaccion(); verificador = false; continuarNormalmente = false; ID_VERSIONAMIENTO = 0; break; } } if (continuarNormalmente == true) { if (_cobertura.EliminarUnaCiudadDeLaCoberturaDeCliente(ID_EMPRESA, ID_CIUDAD_COBERTURA_ACTUAL, Usuario, conexion) == false) { MensajeError = _cobertura.MensajeError; conexion.DeshacerTransaccion(); verificador = false; break; } } } } foreach (cobertura c in coberturas) { insertarCobertura = true; for (int i = 0; i < tablaCoberturaActual.Rows.Count; i++) { DataRow filaCoberturaActual = tablaCoberturaActual.Rows[i]; String ID_CIUDAD_COBERTURA_ACTUAL = filaCoberturaActual["Código Ciudad"].ToString().Trim(); if (c.IDCIUDAD == ID_CIUDAD_COBERTURA_ACTUAL) { insertarCobertura = false; break; } } if (insertarCobertura == true) { if (realizarVersionamientoManual == true) { ID_VERSIONAMIENTO = _manual.RegistrarInsersionRegistroTabla(ID_VERSIONAMIENTO, ManualServicio.ListaSecciones.Comercial, "COBERTURA", "Cobertura", c.IDCIUDAD, ManualServicio.AccionesManual.Insertar, ID_EMPRESA, conexion); if (ID_VERSIONAMIENTO == -1) { conexion.DeshacerTransaccion(); verificador = false; continuarNormalmente = false; ID_VERSIONAMIENTO = 0; break; } } if (continuarNormalmente == true) { if (_cobertura.Adicionar(ID_EMPRESA, c.IDCIUDAD, Usuario, conexion) == false) { verificador = false; conexion.DeshacerTransaccion(); MensajeError = _cobertura.MensajeError; break; } } } else { if (_cobertura.ActualizarPermisosParaCiudaYEmpresaEnGeneral(ID_EMPRESA, c.IDCIUDAD, Usuario, conexion) == false) { verificador = false; conexion.DeshacerTransaccion(); MensajeError = _cobertura.MensajeError; break; } } } if (verificador == true) { empresasRiesgos _empresasRiesgos = new empresasRiesgos(Empresa, Usuario); DataTable tablaRiesgosActuales = _empresasRiesgos.ObtenerRoesgosPorEmpresa(ID_EMPRESA, conexion); Boolean riesgoEncontrado = false; foreach (DataRow filaRiegosActuales in tablaRiesgosActuales.Rows) { riesgoEncontrado = false; foreach (empresasRiesgos filaRiesgosNuevos in listaRiesgos) { if (filaRiesgosNuevos.DESCRIPCION_RIESGO == filaRiegosActuales["DESCRIPCION_RIESGO"].ToString()) { riesgoEncontrado = true; break; } } if (riesgoEncontrado == false) { if (_empresasRiesgos.desactivarRiesgoParaEmpresa(ID_EMPRESA, filaRiegosActuales["DESCRIPCION_RIESGO"].ToString(), conexion) == false) { conexion.DeshacerTransaccion(); verificador = false; break; } } } if (verificador == true) { foreach (empresasRiesgos filaRiesgosNuevos in listaRiesgos) { if (_empresasRiesgos.Adicionar(ID_EMPRESA, filaRiesgosNuevos.DESCRIPCION_RIESGO, conexion) == 0) { verificador = false; MensajeError = _empresasRiesgos.MensajeError; conexion.DeshacerTransaccion(); break; } } if (verificador == true) { if (RAZ_SOCIAL != RAZ_SOCIAL_ANTERIOR) { if (AdicionarCambiorazonSocial(ID_EMPRESA, RAZ_SOCIAL_ANTERIOR, RAZ_SOCIAL, Usuario, conexion) <= 0) { conexion.DeshacerTransaccion(); verificador = false; } } else { verificador = true; } if (verificador == true) { conexion.AceptarTransaccion(); } } } } } } } catch (Exception ex) { conexion.DeshacerTransaccion(); verificador = false; MensajeError = ex.Message; } finally { conexion.Desconectar(); } return verificador; }
public Decimal Adicionar(String ACTIVO, System.DateTime FCH_INGRESO, String NIT_EMPRESA, String ACT_ECO, String RAZ_SOCIAL, String DIR_EMP, String CIU_EMP, String TEL_EMP, String CUB_CIUDADES, String NOM_REP_LEGAL, String CC_REP_LEGAL, String TIPO_EMPRESA, String CIU_ORG_NEG, Int32 NUM_EMPLEADOS, String USU_CRE, String FAC_NAL, Decimal ID_ALIANZA, Int32 DIG_VER, String EMP_ESTADO, String EMP_EXC_IVA, String TEL_EMP1, String NUM_CELULAR, String ID_ACTIVIDAD, Decimal ID_GRUPO_EMPRESARIAL, List<cobertura> coberturas, String ID_CIUDAD_CC_REP_LEGAL, String ID_SERVICIO, String TIP_DOC_REP_LEGAL, List<empresasRiesgos> listaRiesgos) { Decimal ID_EMPRESA = 0; Boolean verificador = true; Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); try { ID_EMPRESA = AdicinarRegistroVEN_EMPRESAS(ACTIVO, FCH_INGRESO, NIT_EMPRESA, ACT_ECO, RAZ_SOCIAL, DIR_EMP, CIU_EMP, TEL_EMP, CUB_CIUDADES, NOM_REP_LEGAL, CC_REP_LEGAL, TIPO_EMPRESA, CIU_ORG_NEG, NUM_EMPLEADOS, USU_CRE, FAC_NAL, ID_ALIANZA, DIG_VER, EMP_ESTADO, EMP_EXC_IVA, TEL_EMP1, NUM_CELULAR, ID_ACTIVIDAD, ID_GRUPO_EMPRESARIAL, ID_CIUDAD_CC_REP_LEGAL, ID_SERVICIO, TIP_DOC_REP_LEGAL, conexion); if (ID_EMPRESA == 0) { conexion.DeshacerTransaccion(); verificador = false; } else { cobertura _cobertura = new cobertura(Empresa); foreach (cobertura c in coberturas) { if (_cobertura.Adicionar(ID_EMPRESA, c.IDCIUDAD, USU_CRE, conexion) == false) { conexion.DeshacerTransaccion(); ID_EMPRESA = 0; verificador = false; break; } } if (verificador == true) { empresasRiesgos _empresasRiesgos = new empresasRiesgos(Empresa, Usuario); foreach (empresasRiesgos r in listaRiesgos) { if (_empresasRiesgos.Adicionar(ID_EMPRESA, r.DESCRIPCION_RIESGO, conexion) <= 0) { conexion.DeshacerTransaccion(); ID_EMPRESA = 0; verificador = false; break; } } if (verificador == true) { conexion.AceptarTransaccion(); } } } } catch { conexion.DeshacerTransaccion(); ID_EMPRESA = 0; verificador = false; } finally { conexion.Desconectar(); } return ID_EMPRESA; }