/// <summary> /// Gets the files pathes. /// </summary> /// <param name="metaData">The meta data.</param> /// <returns> /// The files pathes. /// </returns> private IEnumerable <string> GetFilesPathes(NameValueCollection metaData) { const string MetadataAttributesKey = "Attributes"; const string BaseFolderKey = "folder"; const string DictionaryFilesKey = "files"; const char KeyValueDelimeter = '='; const char FileNamesDelimeter = ';'; const int SingleAttributeConvertedToArrayLength = 2; const int SingeAttributeConvertedToArrayValueIndex = 1; string attributesString = metaData[MetadataAttributesKey]; if (string.IsNullOrEmpty(attributesString)) { return(Enumerable.Empty <string>()); } ListString attributes = new ListString(attributesString); string folderString = attributes.FirstOrDefault(a => a.StartsWith(BaseFolderKey)); string filesString = attributes.FirstOrDefault(a => a.StartsWith(DictionaryFilesKey)); if (string.IsNullOrEmpty(folderString) || string.IsNullOrEmpty(filesString)) { return(Enumerable.Empty <string>()); } string[] folderInfo = folderString.Split(KeyValueDelimeter); if (folderInfo.Length != SingleAttributeConvertedToArrayLength) { return(Enumerable.Empty <string>()); } string folder = folderInfo[SingeAttributeConvertedToArrayValueIndex]; if (string.IsNullOrEmpty(folder)) { return(Enumerable.Empty <string>()); } string[] filesInfo = filesString.Split(KeyValueDelimeter); if (filesInfo.Length != SingleAttributeConvertedToArrayLength) { return(Enumerable.Empty <string>()); } string files = filesInfo[SingeAttributeConvertedToArrayValueIndex]; if (string.IsNullOrEmpty(files)) { return(Enumerable.Empty <string>()); } string dir = Path.Combine(this.SiteRoot, folder); return(files.Split(FileNamesDelimeter).Select(fileName => Path.Combine(dir, fileName))); }
/// <summary> /// Gets the files pathes. /// </summary> /// <param name="metaData">The meta data.</param> /// <returns> /// The files pathes. /// </returns> private IEnumerable<string> GetFilesPathes(NameValueCollection metaData) { const string MetadataAttributesKey = "Attributes"; const string BaseFolderKey = "folder"; const string DictionaryFilesKey = "files"; const char KeyValueDelimeter = '='; const char FileNamesDelimeter = ';'; const int SingleAttributeConvertedToArrayLength = 2; const int SingeAttributeConvertedToArrayValueIndex = 1; string attributesString = metaData[MetadataAttributesKey]; if (string.IsNullOrEmpty(attributesString)) { return Enumerable.Empty<string>(); } ListString attributes = new ListString(attributesString); string folderString = attributes.FirstOrDefault(a => a.StartsWith(BaseFolderKey)); string filesString = attributes.FirstOrDefault(a => a.StartsWith(DictionaryFilesKey)); if (string.IsNullOrEmpty(folderString) || string.IsNullOrEmpty(filesString)) { return Enumerable.Empty<string>(); } string[] folderInfo = folderString.Split(KeyValueDelimeter); if (folderInfo.Length != SingleAttributeConvertedToArrayLength) { return Enumerable.Empty<string>(); } string folder = folderInfo[SingeAttributeConvertedToArrayValueIndex]; if (string.IsNullOrEmpty(folder)) { return Enumerable.Empty<string>(); } string[] filesInfo = filesString.Split(KeyValueDelimeter); if (filesInfo.Length != SingleAttributeConvertedToArrayLength) { return Enumerable.Empty<string>(); } string files = filesInfo[SingeAttributeConvertedToArrayValueIndex]; if (string.IsNullOrEmpty(files)) { return Enumerable.Empty<string>(); } string dir = Path.Combine(this.SiteRoot, folder); return files.Split(FileNamesDelimeter).Select(fileName => Path.Combine(dir, fileName)); }