Esempio n. 1
0
        /// <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));
    }