private string Procesar(string sNumPSN, string sRTPT, string sParalizada, string sActiva, string sPendiente, string sFinalizada, string sFecIniVig, string sFecFinVig) { bool bParalizada = false, bActiva = false, bPendiente = false, bFinalizada = false, bRTPT = false; DateTime?dIniV = null; DateTime?dFinV = null; string sResul = ""; int iTareasAfectadas = 0; #region abrir conexión y transacción try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccion(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 try { if (sRTPT == "1") { bRTPT = true; } if (sParalizada == "1") { bParalizada = true; } if (sActiva == "1") { bActiva = true; } if (sPendiente == "1") { bPendiente = true; } if (sFinalizada == "1") { bFinalizada = true; } if (sFecIniVig != "") { dIniV = DateTime.Parse(sFecIniVig); } if (sFecFinVig != "") { dFinV = DateTime.Parse(sFecFinVig); } iTareasAfectadas = TAREAPSP.Cierre(tr, int.Parse(sNumPSN), (int)Session["UsuarioActual"], bRTPT, bParalizada, bActiva, bPendiente, bFinalizada, dIniV, dFinV); Conexion.CommitTransaccion(tr); sResul = "OK@#@" + iTareasAfectadas.ToString(); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "error@#@Error al actualizar los estados de las tareas del proyecto subnodo " + sNumPSN + "\n\n" + ex.Message; } finally { Conexion.Cerrar(oConn); } return(sResul); }