Ejemplo n.º 1
0
    protected string GenerarReplicasMeses()
    {
        string sResul = "";

        //bool bErrorDeadLockTimeout = false;
        try
        {
            //Este método es susceptible de bloqueo por lo que añado código para reintentos automáticos
            try
            {
                NODO.GenerarReplicasMesesCerrados();
                SEGMESPROYECTOSUBNODO.GenerarMesesEnReplicas();
                sResul = "OK@#@0";
            }
            catch (Exception ex)
            {
                int?nError = null;
                if (ex.GetType().ToString() == "System.Data.SqlClient.SqlException")
                {
                    nError = ((System.Data.SqlClient.SqlException)ex).Number;
                    if (nError == 1205 || nError == -2) //DeadLock o Timeout
                    {
                        //bErrorDeadLockTimeout = true;
                        //sResul = "OK@#@" + ((bErrorDeadLockTimeout) ? "1" : "0");
                        sResul = "OK@#@1";
                    }
                    else
                    {
                        sResul = "Error@#@Error al generar meses en réplicas. " + ex.Message;
                    }
                }
                else
                {
                    sResul = "Error@#@Error al generar meses en réplicas. " + ex.Message;
                }
            }
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al generar meses en réplicas.", ex);
        }

        return(sResul);
    }