private void CargarDatosItem() { SUBNODO oSubNodo = SUBNODO.Obtener(null, nIDItem); txtID.Text = oSubNodo.t304_idsubnodo.ToString(); txtDenominacion.Text = oSubNodo.t304_denominacion; hdnIDResponsable.Text = oSubNodo.t314_idusuario_responsable.ToString(); txtDesResponsable.Text = oSubNodo.DesResponsable; if ((bool)oSubNodo.t304_estado) { chkActivo.Checked = true; } else { chkActivo.Checked = false; } txtOrden.Text = oSubNodo.t304_orden.ToString(); hdnManiobra.Text = oSubNodo.t304_maniobra.ToString(); if (hdnManiobra.Text != "0") { //txtDenominacion.ReadOnly = true; //txtDenominacion.Attributes.Add("onKeyUp", ""); //chkActivo.Attributes.Add("disabled", "true"); //imgManiobra.Style.Add("visibility", "visible"); imgManiobra.ToolTip = Estructura.getDefLarga(Estructura.sTipoElem.SUBNODO) + " de maniobra creada por el sistema. No permite la modificación de la denominación ni del estado."; } hdnIDEmpresa.Text = oSubNodo.t313_idempresa.ToString(); txtDesEmpresa.Text = oSubNodo.t313_denominacion; // txtDesResponsable.Text = oSubNodo.t313_denominacion; }
private string Procesar(string strDatos) { string sResul = ""; int idPSN = 0, responsable_origen = 0, responsable_destino = 0, subnodo_origen = 0, subnodo_destino = 0; try { REASIGNACIONPSN.DeleteAll(null, (int)Session["UsuarioActual"]); string[] aDatos = Regex.Split(strDatos, "///"); foreach (string oProyecto in aDatos) { try { if (oProyecto == "") { continue; } string[] aProyecto = Regex.Split(oProyecto, "##"); ///aProyecto[0] = idPSN ///aProyecto[1] = responsable_origen ///aProyecto[2] = responsable_destino ///aProyecto[3] = subnodo_origen ///aProyecto[4] = subnodo_destino ///aProyecto[5] = procesado idPSN = int.Parse(aProyecto[0]); responsable_origen = int.Parse(aProyecto[1]); responsable_destino = int.Parse(aProyecto[2]); subnodo_origen = int.Parse(aProyecto[3]); subnodo_destino = int.Parse(aProyecto[4]); REASIGNACIONPSN.Insertar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, false, ""); if (aProyecto[5] == "1" || (aProyecto[1] == aProyecto[2] && aProyecto[3] == aProyecto[4])) { REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, true, ""); continue; } #region abrir conexión y transacción try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccionSerializable(oConn); } catch (Exception ex) { if (oConn.State == ConnectionState.Open) { Conexion.Cerrar(oConn); } sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex); return(sResul); } #endregion PROYECTOSUBNODO oPSN = PROYECTOSUBNODO.Obtener(tr, int.Parse(aProyecto[0])); SUBNODO oSubnodo = SUBNODO.Obtener(tr, int.Parse(aProyecto[4])); if (oPSN.t303_idnodo != oSubnodo.t303_idnodo) { throw (new NullReferenceException("El " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del proyecto y el " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del " + Estructura.getDefLarga(Estructura.sTipoElem.SUBNODO) + " destino no coinciden, por lo que no se puede realizar la reasignación.")); } PROYECTOSUBNODO.UpdateReasignacion(tr, idPSN, responsable_destino, subnodo_destino); //update proceso OK REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, true, ""); Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); //update proceso KO REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, false, ex.Message); sResul = "Error@#@" + Errores.mostrarError("Error al procesar la reasignación.", ex); } finally { Conexion.Cerrar(oConn); } }// fin foreach sResul = "OK"; } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al procesar la reasignación.", ex); } return(sResul); }