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)); }