Skip to content

Commit 4f61978

Browse files
committed
Reorganizing
1 parent 9e44ec4 commit 4f61978

File tree

1 file changed

+42
-43
lines changed

1 file changed

+42
-43
lines changed

Rubberduck.Refactorings/EncapsulateField/EncapsulateFieldModel.cs

Lines changed: 42 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ public EncapsulateFieldModel(
4646

4747
public QualifiedModuleName QualifiedModuleName => _targetQMN;
4848

49+
public string PreviewRefactoring() => _previewDelegate(this);
50+
51+
public IEnumerable<IObjectStateUDT> ObjectStateUDTCandidates => _objStateCandidates;
52+
4953
private EncapsulateFieldStrategy _encapsulationFieldStategy;
5054
public EncapsulateFieldStrategy EncapsulateFieldStrategy
5155
{
@@ -58,49 +62,13 @@ public EncapsulateFieldStrategy EncapsulateFieldStrategy
5862

5963
if (_encapsulationFieldStategy == EncapsulateFieldStrategy.UseBackingFields)
6064
{
61-
ChangeSettingToUseBackingFieldsStrategy();
65+
UpdateFieldCandidatesForUseBackingFieldsStrategy();
6266
return;
6367
}
64-
ChangeSettingsToConvertFieldsToUDTMembersStrategy();
68+
UpdateFieldCandidatesForConvertFieldsToUDTMembersStrategy();
6569
}
6670
}
6771

68-
private void ChangeSettingToUseBackingFieldsStrategy()
69-
{
70-
foreach (var candidate in EncapsulationCandidates)
71-
{
72-
candidate.ConflictFinder = _validationsProvider.ConflictDetector(EncapsulateFieldStrategy, _declarationFinderProvider);
73-
switch (candidate)
74-
{
75-
case IUserDefinedTypeCandidate udt:
76-
candidate.NameValidator = EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedType);
77-
break;
78-
case IUserDefinedTypeMemberCandidate udtm:
79-
candidate.NameValidator = candidate.Declaration.IsArray
80-
? EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedTypeMemberArray)
81-
: EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedTypeMember);
82-
break;
83-
default:
84-
candidate.NameValidator = EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.Default);
85-
break;
86-
}
87-
EditIdentifiersAsRequired();
88-
}
89-
}
90-
91-
private void ChangeSettingsToConvertFieldsToUDTMembersStrategy()
92-
{
93-
foreach (var candidate in EncapsulationCandidates)
94-
{
95-
candidate.ConflictFinder = _validationsProvider.ConflictDetector(EncapsulateFieldStrategy , _declarationFinderProvider);
96-
candidate.NameValidator = candidate.Declaration.IsArray
97-
? EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedTypeMemberArray)
98-
: EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedTypeMember);
99-
100-
EditIdentifiersAsRequired();
101-
}
102-
}
103-
10472
public IEncapsulateFieldValidationsProvider ValidationsProvider => _validationsProvider;
10573

10674
private List<IEncapsulateFieldCandidate> _useBackingFieldCandidates;
@@ -175,21 +143,52 @@ public IObjectStateUDT StateUDTField
175143

176144
if (EncapsulateFieldStrategy == EncapsulateFieldStrategy.ConvertFieldsToUDTMembers)
177145
{
178-
EditIdentifiersAsRequired();
146+
AssignNoConflictIdentifiers();
179147
}
180148
}
181149
}
182150

183-
private void EditIdentifiersAsRequired()
151+
private void UpdateFieldCandidatesForUseBackingFieldsStrategy()
184152
{
185153
foreach (var candidate in EncapsulationCandidates)
186154
{
187-
candidate.ConflictFinder.AssignNoConflictIdentifiers(candidate);
155+
switch (candidate)
156+
{
157+
case IUserDefinedTypeCandidate udt:
158+
candidate.NameValidator = EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedType);
159+
break;
160+
case IUserDefinedTypeMemberCandidate udtm:
161+
candidate.NameValidator = candidate.Declaration.IsArray
162+
? EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedTypeMemberArray)
163+
: EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedTypeMember);
164+
break;
165+
default:
166+
candidate.NameValidator = EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.Default);
167+
break;
168+
}
169+
AssignNoConflictIdentifiers();
188170
}
189171
}
190172

191-
public string PreviewRefactoring() => _previewDelegate(this);
173+
private void UpdateFieldCandidatesForConvertFieldsToUDTMembersStrategy()
174+
{
175+
foreach (var candidate in EncapsulationCandidates)
176+
{
177+
candidate.NameValidator = candidate.Declaration.IsArray
178+
? EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedTypeMemberArray)
179+
: EncapsulateFieldValidationsProvider.NameOnlyValidator(NameValidators.UserDefinedTypeMember);
192180

193-
public IEnumerable<IObjectStateUDT> ObjectStateUDTCandidates => _objStateCandidates;
181+
AssignNoConflictIdentifiers();
182+
}
183+
}
184+
185+
private void AssignNoConflictIdentifiers()
186+
{
187+
foreach (var candidate in EncapsulationCandidates)
188+
{
189+
candidate.ConflictFinder = _validationsProvider.ConflictDetector(EncapsulateFieldStrategy, _declarationFinderProvider);
190+
candidate.ConflictFinder.AssignNoConflictIdentifiers(candidate);
191+
}
192+
}
194193
}
195194
}

0 commit comments

Comments
 (0)