diff --git a/src/RevitRooms/Commands/Numerates/NumerateCommand.cs b/src/RevitRooms/Commands/Numerates/NumerateCommand.cs index 8fd85afe1..cdb4128a0 100644 --- a/src/RevitRooms/Commands/Numerates/NumerateCommand.cs +++ b/src/RevitRooms/Commands/Numerates/NumerateCommand.cs @@ -6,21 +6,14 @@ using dosymep.Bim4Everyone; using dosymep.Revit; +using dosymep.Revit.Comparators; -using RevitRooms.Comparators; using RevitRooms.Models; using RevitRooms.ViewModels; namespace RevitRooms.Commands.Numerates; -internal abstract class NumerateCommand { - private readonly RevitRepository _revitRepository; - - protected readonly IComparer _logicStringComparer = new LogicalStringComparer(); - protected readonly IComparer _elementComparer = new dosymep.Revit.Comparators.ElementComparer(); - - public NumerateCommand(RevitRepository revitRepository) { - _revitRepository = revitRepository; - } +internal abstract class NumerateCommand(RevitRepository revitRepository) { + protected readonly IComparer _elementComparer = RevitElementComparer.ElementName; public int Start { get; set; } public string Prefix { get; set; } @@ -33,7 +26,7 @@ public void Numerate(SpatialElementViewModel[] spatialElements, IProgress progress = default, CancellationToken cancellationToken = default) { var orderedElements = OrderElements(spatialElements); - using(var transaction = _revitRepository.Document.StartTransaction(TransactionName)) { + using(var transaction = revitRepository.Document.StartTransaction(TransactionName)) { int flatCount = Start; int count = 0; diff --git a/src/RevitRooms/ViewModels/RoomsNums/RevitRoomNumsViewModel.cs b/src/RevitRooms/ViewModels/RoomsNums/RevitRoomNumsViewModel.cs index 01f4782f3..7d7ef2ab6 100644 --- a/src/RevitRooms/ViewModels/RoomsNums/RevitRoomNumsViewModel.cs +++ b/src/RevitRooms/ViewModels/RoomsNums/RevitRoomNumsViewModel.cs @@ -8,6 +8,7 @@ using Autodesk.Revit.UI; using dosymep.Bim4Everyone.ProjectParams; +using dosymep.Revit.Comparators; using dosymep.SimpleServices; using dosymep.WPF.Commands; using dosymep.WPF.ViewModels; @@ -181,12 +182,12 @@ public ObservableCollection> Sections { public ObservableCollection NumberingOrders { get => _numberingOrders; - set => RaiseAndSetIfChanged(ref _numberingOrders, value); + private set => RaiseAndSetIfChanged(ref _numberingOrders, value); } public ObservableCollection SelectedNumberingOrders { get => _selectedNumberingOrders; - set => RaiseAndSetIfChanged(ref _selectedNumberingOrders, value); + private set => RaiseAndSetIfChanged(ref _selectedNumberingOrders, value); } private IEnumerable GetPhases() { @@ -216,7 +217,7 @@ private IEnumerable> GetGroups() { .Where(item => item != null) .Select(item => new ElementViewModel(item, _revitRepository)) .Distinct() - .OrderBy(item => item.Element, new dosymep.Revit.Comparators.ElementComparer()); + .OrderBy(item => item.Element, RevitElementComparer.ElementName); } private IEnumerable> GetSections() { @@ -225,7 +226,7 @@ private IEnumerable> GetSections() { .Where(item => item != null) .Select(item => new ElementViewModel(item, _revitRepository)) .Distinct() - .OrderBy(item => item.Element, new dosymep.Revit.Comparators.ElementComparer()); + .OrderBy(item => item.Element, RevitElementComparer.ElementName); } private IEnumerable GetNumberingOrders() { @@ -373,7 +374,7 @@ public void SelectNumberingOrder(IEnumerable selection) private string[] GetNotFoundNames(IEnumerable orderedObjects) { return IsNumFlats - ? (new string[0]) + ? ([]) : orderedObjects .Select(item => item.Room.Name) .Except(SelectedNumberingOrders.Select(item => item.Name)) @@ -447,9 +448,7 @@ private bool CheckWorkingObjects(SpatialElementViewModel[] workingObjects) { AddElements(WarningInfo.GetErrorMultiLevelRoom(_localizationService), multiLevelRoomGroup, errors); } } - - bool showWarnings = true; - return _errorWindowService.ShowNoticeWindow(showWarnings, [.. errors.Values]); + return _errorWindowService.ShowNoticeWindow(true, [.. errors.Values]); } private bool CanNumerateRooms(object param) { @@ -537,11 +536,11 @@ private void LoadPluginConfig() { var settings = _roomsNumsConfig.GetSettings(_revitRepository.DocumentName); StartNumber = settings?.StartNumber ?? "1"; - IsNumFlats = settings?.IsNumFlats ?? default; - IsNumRooms = settings?.IsNumRooms ?? default; - IsNumRoomsGroup = settings?.IsNumRoomsGroup ?? default; - IsNumRoomsSection = settings?.IsNumRoomsSection ?? default; - IsNumRoomsSectionLevels = settings?.IsNumRoomsSectionLevels ?? default; + IsNumFlats = settings?.IsNumFlats ?? false; + IsNumRooms = settings?.IsNumRooms ?? false; + IsNumRoomsGroup = settings?.IsNumRoomsGroup ?? false; + IsNumRoomsSection = settings?.IsNumRoomsSection ?? false; + IsNumRoomsSectionLevels = settings?.IsNumRoomsSectionLevels ?? false; if(_revitRepository.GetElement(settings?.PhaseElementId ?? ElementId.InvalidElementId) is Phase phase) { Phase = Phases.FirstOrDefault(item => item.ElementId == phase.Id) ?? Phases.FirstOrDefault();