An interface that may be used to perform a preprocessing step to either filter out anticipated transaction failures
   or to mark certain failures as non-continuable.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2011
 Syntax
Syntax
| C# | 
|---|
| public interface IFailuresPreprocessor | 
| Visual Basic | 
|---|
| Public Interface IFailuresPreprocessor | 
| Visual C++ | 
|---|
| public interface class IFailuresPreprocessor | 
 Remarks
Remarks
   This interface, if provided, is invoked when there are failures found at the end of a transaction.
   An instance of this interface can be set in the failure handling options of transaction object.
 Examples
Examples
 CopyC#
CopyC#public class RoomWarningSwallower : IFailuresPreprocessor { public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor) { IList<FailureMessageAccessor> failList = new List<FailureMessageAccessor>(); // Inside event handler, get all warnings failList = failuresAccessor.GetFailureMessages(); foreach (FailureMessageAccessor failure in failList) { // check FailureDefinitionIds against ones that you want to dismiss, FailureDefinitionId failID = failure.GetFailureDefinitionId(); // prevent Revit from showing Unenclosed room warnings if (failID == BuiltInFailures.RoomFailures.RoomNotEnclosed) { failuresAccessor.DeleteWarning(failure); } } return FailureProcessingResult.Continue; } }
 CopyVB.NET
CopyVB.NETPublic Class RoomWarningSwallower Implements IFailuresPreprocessor Public Function PreprocessFailures(failuresAccessor As FailuresAccessor) As FailureProcessingResult Implements IFailuresPreprocessor.PreprocessFailures Dim failList As IList(Of FailureMessageAccessor) = New List(Of FailureMessageAccessor)() ' Inside event handler, get all warnings failList = failuresAccessor.GetFailureMessages() For Each failure As FailureMessageAccessor In failList ' check FailureDefinitionIds against ones that you want to dismiss, Dim failID As FailureDefinitionId = failure.GetFailureDefinitionId() ' prevent Revit from showing Unenclosed room warnings If failID = BuiltInFailures.RoomFailures.RoomNotEnclosed Then failuresAccessor.DeleteWarning(failure) End If Next Return FailureProcessingResult.[Continue] End Function End Class





