private IEnumerable <string> GetmainResxKeys(FileInfo file) { var relativeDirectory = _routesManager.GetRelativeDirectoryFromSource(file.Directory); var mainFile = _routesManager.GetFileFromDestination(Path.Combine(relativeDirectory, Routes.ResourcesFilePath)); return(ResourcesExtensions.GetResourcesByFile(mainFile.FullName).Keys); }
// TODO: this method should not be in this class, since it is not a validating method, // but the _routesManager contains the necessary paths internal Dictionary <string, ResxItem> GetResourcesWithChanges(string resPath) { var originalResxPath = _routesManager.GetFileFromSource(resPath); var originalValues = ResourcesExtensions.GetResourcesByFile(originalResxPath.FullName); var actualResxPath = _routesManager.GetFileFromDestination(resPath); var newValues = ResourcesExtensions.GetResourcesByFile(actualResxPath.FullName); return(newValues.GetChangesFrom(originalValues)); }
internal bool HasResourceChanges(string resPath) { if (!_routesManager.ExistInSourceAndDestination(resPath)) { return(true); } var originalResxPath = _routesManager.GetFileFromSource(resPath); var originalResx = ResourcesExtensions.GetResourcesByFile(originalResxPath.FullName); var actualResxPath = _routesManager.GetFileFromDestination(resPath); var actualResx = ResourcesExtensions.GetResourcesByFile(actualResxPath.FullName); return(!originalResx.AreEquals(actualResx)); }
private void MergeResxFile(FileInfo file) { var mainKeys = GetmainResxKeys(file); var relativePath = _routesManager.GetRelativePathFromSourceFile(file); var destFile = _routesManager.GetFileFromDestination(relativePath); var newResxItems = ResourcesExtensions.GetResourcesByFile(file.FullName); var sourceResxItems = ResourcesExtensions.GetResourcesByFile(destFile.FullName) .Where(item => mainKeys.Contains(item.Key) && !newResxItems.Keys.Contains(item.Key)); foreach (var item in sourceResxItems) { newResxItems.Add(item.Key, item.Value); } ResourcesExtensions.CreateResxFile(destFile.FullName, newResxItems); }
private void VerifyResourceContent(string directory, string fileName) { var resxFile = Path.Combine(_sourceDir.FullName, directory, fileName); var resources = ResourcesExtensions.GetResourcesByFile(resxFile); foreach (var culture in _cultures) { var cultureFile = new FileInfo(Path.Combine(_sourceDir.FullName, directory, string.Format(Routes.ResourcesFilePathPattern, culture))); if (cultureFile.Exists) { var cultureResources = ResourcesExtensions.GetResourcesByFile(cultureFile.FullName); VerifyResourceValues(resources.Keys, cultureResources.Keys, resxFile, cultureFile.FullName); VerifyResourcesFormat(resources, cultureResources, resxFile, cultureFile.FullName); } } }