public AcErrorSolutionSelector(AcError acError) {
InitializeComponent();
DataContext = this;
AcError = acError;
Buttons = new[] { CancelButton };
if (acError.BaseException != null) {
ErrorMessage = string.Format(AppStrings.AcError_StackTrace, acError.BaseException);
} else {
Solutions = acError.GetSolutions().ToList();
if (Solutions.Count == 0) {
ErrorMessage = AppStrings.AcError_SolutionsNotFound;
} else {
SelectedSolution = Solutions.First();
SimilarErrors = Solutions.OfType<IMultiSolution>().Any()
? GetNearestErrors(acError).Where(x => x.Type == acError.Type).ApartFrom(acError).ToList() : new List<IAcError>();
MultiAppliable = SimilarErrors.Any();
}
}
}