@@ -99,25 +99,32 @@ private void StoreOldRoute(IContent entity, OldRoutesDictionary oldRoutes)
99
99
{
100
100
return ;
101
101
}
102
- var contentCache = publishedSnapshot . Content ;
103
- var entityContent = contentCache ? . GetById ( entity . Id ) ;
104
- if ( entityContent == null )
102
+
103
+ IPublishedContentCache contentCache = publishedSnapshot . Content ;
104
+ IPublishedContent entityContent = contentCache ? . GetById ( entity . Id ) ;
105
+ if ( entityContent is null )
106
+ {
105
107
return ;
108
+ }
106
109
107
110
// get the default affected cultures by going up the tree until we find the first culture variant entity (default to no cultures)
108
111
var defaultCultures = entityContent . AncestorsOrSelf ( ) ? . FirstOrDefault ( a => a . Cultures . Any ( ) ) ? . Cultures . Keys . ToArray ( )
109
112
?? new [ ] { ( string ) null } ;
110
- foreach ( var x in entityContent . DescendantsOrSelf ( _variationContextAccessor ) )
113
+
114
+ foreach ( IPublishedContent publishedContent in entityContent . DescendantsOrSelf ( _variationContextAccessor ) )
111
115
{
112
116
// if this entity defines specific cultures, use those instead of the default ones
113
- var cultures = x . Cultures . Any ( ) ? x . Cultures . Keys : defaultCultures ;
117
+ IEnumerable < string > cultures = publishedContent . Cultures . Any ( ) ? publishedContent . Cultures . Keys : defaultCultures ;
114
118
115
119
foreach ( var culture in cultures )
116
120
{
117
- var route = contentCache . GetRouteById ( x . Id , culture ) ;
121
+ var route = contentCache . GetRouteById ( publishedContent . Id , culture ) ;
118
122
if ( IsNotRoute ( route ) )
123
+ {
119
124
continue ;
120
- oldRoutes [ new ContentIdAndCulture ( x . Id , culture ) ] = new ContentKeyAndOldRoute ( x . Key , route ) ;
125
+ }
126
+
127
+ oldRoutes [ new ContentIdAndCulture ( publishedContent . Id , culture ) ] = new ContentKeyAndOldRoute ( publishedContent . Key , route ) ;
121
128
}
122
129
}
123
130
}
@@ -135,13 +142,16 @@ private void CreateRedirects(OldRoutesDictionary oldRoutes)
135
142
{
136
143
_logger . LogWarning ( "Could not track redirects because there is no current published snapshot available." ) ;
137
144
return ;
138
- }
145
+ }
139
146
140
- foreach ( var oldRoute in oldRoutes )
147
+ foreach ( KeyValuePair < ContentIdAndCulture , ContentKeyAndOldRoute > oldRoute in oldRoutes )
141
148
{
142
149
var newRoute = contentCache . GetRouteById ( oldRoute . Key . ContentId , oldRoute . Key . Culture ) ;
143
150
if ( IsNotRoute ( newRoute ) || oldRoute . Value . OldRoute == newRoute )
151
+ {
144
152
continue ;
153
+ }
154
+
145
155
_redirectUrlService . Register ( oldRoute . Value . OldRoute , oldRoute . Value . ContentKey , oldRoute . Key . Culture ) ;
146
156
}
147
157
}
0 commit comments