예제 #1
0
    private string Grabar(string sPSN, string strMeses)
    {
        string sResul = "OK@#@";

        #region abrir conexión y transacción serializable
        try
        {
            oConn = Conexion.Abrir();
            //tr = Conexion.AbrirTransaccion(oConn);
            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
        try
        {
            bool     bContinuar = true;
            string[] aMes       = Regex.Split(strMeses, "///");
            foreach (string oMes in aMes)
            {
                if (bContinuar)
                {
                    string[] aValores = Regex.Split(oMes, "##");
                    switch (aValores[0])
                    {
                    case "U":
                        SEGMESPROYECTOSUBNODO.UpdateEstado(tr, int.Parse(aValores[1]), aValores[2]);
                        break;
                    }
                }
            }
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            //Master.sErrores = Errores.mostrarError("Error al eliminar el proyecto económico " + sNumPE, ex);
            sResul = "error@#@Error al actualizar el estado del mes del proyecto económico.\n\n" + ex.Message;
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }