Files
SzmediTools/GeologyToolkit/GeologyFailureProcessor.cs
2025-09-16 16:06:41 +08:00

35 lines
1.1 KiB
C#

using Autodesk.Revit.DB;
namespace GeologyToolkit
{
internal class GeologyFailureProcessor : IFailuresPreprocessor
{
public bool HasError { get; set; }
public string FailureMessage { get; set; }
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor)
{
var failures = failuresAccessor.GetFailureMessages();
if (failures.Count == 0)
return FailureProcessingResult.Continue;
foreach (var failure in failures)
{
if (failure.GetSeverity() == FailureSeverity.Error)
{
FailureMessage = failure.GetDescriptionText();
HasError = true;
return FailureProcessingResult.ProceedWithRollBack;
}
if (failure.GetSeverity() == FailureSeverity.Warning)
{
failuresAccessor.DeleteWarning(failure);
}
}
return FailureProcessingResult.Continue;
}
}
}