Skip to content

Commit f8707ce

Browse files
authored
RevitRooms: Замена устаревших компараторов (#460)
1 parent 44dc174 commit f8707ce

2 files changed

Lines changed: 16 additions & 24 deletions

File tree

src/RevitRooms/Commands/Numerates/NumerateCommand.cs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,14 @@
66

77
using dosymep.Bim4Everyone;
88
using dosymep.Revit;
9+
using dosymep.Revit.Comparators;
910

10-
using RevitRooms.Comparators;
1111
using RevitRooms.Models;
1212
using RevitRooms.ViewModels;
1313

1414
namespace RevitRooms.Commands.Numerates;
15-
internal abstract class NumerateCommand {
16-
private readonly RevitRepository _revitRepository;
17-
18-
protected readonly IComparer<string> _logicStringComparer = new LogicalStringComparer();
19-
protected readonly IComparer<Element> _elementComparer = new dosymep.Revit.Comparators.ElementComparer();
20-
21-
public NumerateCommand(RevitRepository revitRepository) {
22-
_revitRepository = revitRepository;
23-
}
15+
internal abstract class NumerateCommand(RevitRepository revitRepository) {
16+
protected readonly IComparer<Element> _elementComparer = RevitElementComparer.ElementName;
2417

2518
public int Start { get; set; }
2619
public string Prefix { get; set; }
@@ -33,7 +26,7 @@ public void Numerate(SpatialElementViewModel[] spatialElements,
3326
IProgress<int> progress = default,
3427
CancellationToken cancellationToken = default) {
3528
var orderedElements = OrderElements(spatialElements);
36-
using(var transaction = _revitRepository.Document.StartTransaction(TransactionName)) {
29+
using(var transaction = revitRepository.Document.StartTransaction(TransactionName)) {
3730
int flatCount = Start;
3831

3932
int count = 0;

src/RevitRooms/ViewModels/RoomsNums/RevitRoomNumsViewModel.cs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using Autodesk.Revit.UI;
99

1010
using dosymep.Bim4Everyone.ProjectParams;
11+
using dosymep.Revit.Comparators;
1112
using dosymep.SimpleServices;
1213
using dosymep.WPF.Commands;
1314
using dosymep.WPF.ViewModels;
@@ -181,12 +182,12 @@ public ObservableCollection<IElementViewModel<Element>> Sections {
181182

182183
public ObservableCollection<NumberingOrderViewModel> NumberingOrders {
183184
get => _numberingOrders;
184-
set => RaiseAndSetIfChanged(ref _numberingOrders, value);
185+
private set => RaiseAndSetIfChanged(ref _numberingOrders, value);
185186
}
186187

187188
public ObservableCollection<NumberingOrderViewModel> SelectedNumberingOrders {
188189
get => _selectedNumberingOrders;
189-
set => RaiseAndSetIfChanged(ref _selectedNumberingOrders, value);
190+
private set => RaiseAndSetIfChanged(ref _selectedNumberingOrders, value);
190191
}
191192

192193
private IEnumerable<PhaseViewModel> GetPhases() {
@@ -216,7 +217,7 @@ private IEnumerable<IElementViewModel<Element>> GetGroups() {
216217
.Where(item => item != null)
217218
.Select(item => new ElementViewModel<Element>(item, _revitRepository))
218219
.Distinct()
219-
.OrderBy(item => item.Element, new dosymep.Revit.Comparators.ElementComparer());
220+
.OrderBy(item => item.Element, RevitElementComparer.ElementName);
220221
}
221222

222223
private IEnumerable<IElementViewModel<Element>> GetSections() {
@@ -225,7 +226,7 @@ private IEnumerable<IElementViewModel<Element>> GetSections() {
225226
.Where(item => item != null)
226227
.Select(item => new ElementViewModel<Element>(item, _revitRepository))
227228
.Distinct()
228-
.OrderBy(item => item.Element, new dosymep.Revit.Comparators.ElementComparer());
229+
.OrderBy(item => item.Element, RevitElementComparer.ElementName);
229230
}
230231

231232
private IEnumerable<NumberingOrderViewModel> GetNumberingOrders() {
@@ -373,7 +374,7 @@ public void SelectNumberingOrder(IEnumerable<NumberingOrderViewModel> selection)
373374

374375
private string[] GetNotFoundNames(IEnumerable<SpatialElementViewModel> orderedObjects) {
375376
return IsNumFlats
376-
? (new string[0])
377+
? ([])
377378
: orderedObjects
378379
.Select(item => item.Room.Name)
379380
.Except(SelectedNumberingOrders.Select(item => item.Name))
@@ -447,9 +448,7 @@ private bool CheckWorkingObjects(SpatialElementViewModel[] workingObjects) {
447448
AddElements(WarningInfo.GetErrorMultiLevelRoom(_localizationService), multiLevelRoomGroup, errors);
448449
}
449450
}
450-
451-
bool showWarnings = true;
452-
return _errorWindowService.ShowNoticeWindow(showWarnings, [.. errors.Values]);
451+
return _errorWindowService.ShowNoticeWindow(true, [.. errors.Values]);
453452
}
454453

455454
private bool CanNumerateRooms(object param) {
@@ -537,11 +536,11 @@ private void LoadPluginConfig() {
537536
var settings = _roomsNumsConfig.GetSettings(_revitRepository.DocumentName);
538537

539538
StartNumber = settings?.StartNumber ?? "1";
540-
IsNumFlats = settings?.IsNumFlats ?? default;
541-
IsNumRooms = settings?.IsNumRooms ?? default;
542-
IsNumRoomsGroup = settings?.IsNumRoomsGroup ?? default;
543-
IsNumRoomsSection = settings?.IsNumRoomsSection ?? default;
544-
IsNumRoomsSectionLevels = settings?.IsNumRoomsSectionLevels ?? default;
539+
IsNumFlats = settings?.IsNumFlats ?? false;
540+
IsNumRooms = settings?.IsNumRooms ?? false;
541+
IsNumRoomsGroup = settings?.IsNumRoomsGroup ?? false;
542+
IsNumRoomsSection = settings?.IsNumRoomsSection ?? false;
543+
IsNumRoomsSectionLevels = settings?.IsNumRoomsSectionLevels ?? false;
545544

546545
if(_revitRepository.GetElement(settings?.PhaseElementId ?? ElementId.InvalidElementId) is Phase phase) {
547546
Phase = Phases.FirstOrDefault(item => item.ElementId == phase.Id) ?? Phases.FirstOrDefault();

0 commit comments

Comments
 (0)