@@ -23,6 +23,7 @@ public class PackageReader
2323 public string ErrorMessage { get ; set ; } = "" ;
2424 public bool IsCore { get ; set ; } = false ;
2525 public Manifest Manifest { get ; set ; } = null ;
26+ private List < string > FoundFileKeys { get ; set ; } = new List < string > ( ) ;
2627
2728 public PackageReader ( int packageLinkId , int parentPackageVersionId , string zipFilePath )
2829 {
@@ -57,7 +58,7 @@ public PackageReader(int packageLinkId, int parentPackageVersionId, string zipFi
5758 {
5859 Logger . Error ( "Cannot parse manifest of package" ) ;
5960 Logger . Error ( ex ) ;
60- this . IsInError = true ;
61+ this . IsInError = true ;
6162 this . ErrorMessage = "Cannot parse manifest of package" ;
6263 }
6364 }
@@ -157,6 +158,8 @@ private int ProcessPackage(string packageName, string folderName, string package
157158 package . LastChecked = DateTime . Now ;
158159 PackageRepository . Instance . UpdatePackage ( package . GetPackageBase ( ) ) ;
159160
161+ this . CheckAndDeprecateEntireResourcesFiles ( packageVersion ) ;
162+
160163 Sprocs . RefreshNrOriginalTexts ( package . PackageId ) ;
161164
162165 return packageVersion . PackageVersionId ;
@@ -165,6 +168,10 @@ private int ProcessPackage(string packageName, string folderName, string package
165168 private void ProcessResourceFile ( PackageVersion packageVersion , string highestVersion , string fileKey , string filePath )
166169 {
167170 fileKey = fileKey . Trim ( '/' ) ;
171+ if ( ! FoundFileKeys . Contains ( fileKey ) )
172+ {
173+ FoundFileKeys . Add ( fileKey ) ;
174+ }
168175 var processingNewPackage = packageVersion . Version . IsBiggerThan ( highestVersion ) ;
169176
170177 var resFile = ResourceFileRepository . Instance . GetResourceFilesByPackage ( packageVersion . PackageId ) . FirstOrDefault ( r => r . FilePath == fileKey ) ;
@@ -279,6 +286,23 @@ private void ProcessResourceFile(PackageVersion packageVersion, string highestVe
279286 }
280287 }
281288 }
289+ }
290+
291+ private void CheckAndDeprecateEntireResourcesFiles ( PackageVersion packageVersion )
292+ {
293+ var allResFiles = ResourceFileRepository . Instance . GetResourceFilesByPackage ( packageVersion . PackageId ) ;
294+ foreach ( var resFile in allResFiles )
295+ {
296+ if ( ! FoundFileKeys . Contains ( resFile . FilePath ) )
297+ {
298+ var textsInDb = TextRepository . Instance . GetTextsByResourceFile ( resFile . ResourceFileId ) ;
299+ foreach ( var dbText in textsInDb . Where ( t => t . DeprecatedInVersion == "99.99.99" ) )
300+ {
301+ dbText . DeprecatedInVersionId = packageVersion . PackageVersionId ;
302+ TextRepository . Instance . UpdateText ( dbText . GetTextBase ( ) ) ;
303+ }
304+ }
305+ }
282306
283307 }
284308 }
0 commit comments