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