35 lines
1.1 KiB
C#
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;
|
|
}
|
|
}
|
|
} |