예제 #1
0
        public static string HumanReadMessage(this DbException exception)
        {
            switch (exception.Classify())
            {
            case ExceptionType.CustomException:
                return(HumaReadMessage(exception.Message));

            case ExceptionType.DatabaseNotAccessible:
                return("La base de datos no es accesible");

            case ExceptionType.ForeignKey:
                return("No se encontró un elemento relacionado o éste elemento está siendo utilizado" + HumaReadMessage(exception.Message));

            case ExceptionType.InvalidData:
                return("La data ingresada no es valida");

            case ExceptionType.LockFailed:
                return("Hay un registro bloqueado en la DB por ello no se pudo realizar la operacion");

            case ExceptionType.NoDataFound:
                return("No se encontro el elemento " + HumaReadMessage(exception.Message));

            case ExceptionType.Null:
                return(HumaReadMessage(exception.Message));

            case ExceptionType.StringTooLong:
                return("Una de las cadenas que trata de ingresar es demasiado larga");

            case ExceptionType.TooManyRows:
                return(HumaReadMessage(exception.Message));

            case ExceptionType.UniqueConstraint:
                return("Ya existe un registro con el mismo identificador único " + HumaReadMessage(exception.Message));

            case ExceptionType.Unknown:
                return(HumaReadMessage(exception.Message));

            case ExceptionType.ServerNotFound:
                return("El servidor no se encuentra o no es accesible");
            }

            return(HumaReadMessage(exception.Message));
        }