Beispiel #1
0
        /// <summary>
        /// Changes storage of a specific item (with subitems optionally) based on what filter returns.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="filter">The filter.</param>
        /// <param name="recursive">if set to <c>true</c> the method will be run recursively.</param>
        public static void ChangeStorage(Item item, bool recursive, MediaStorageFilter filter)
        {
            Assert.ArgumentNotNull(item, "item");
            Assert.ArgumentNotNull(filter, "filter");

            IterateItems(item, recursive, true, delegate(Item it)
            {
                if (!MediaManager.HasMediaContent(it))
                {
                    return;
                }

                MediaStorageType storageType = filter(it);
                switch (storageType)
                {
                case MediaStorageType.Unchanged:
                    break;

                case MediaStorageType.FileSystem:
                    ChangeToFileSystem(it, false);
                    break;

                case MediaStorageType.Database:
                    ChangeToDatabase(it, false);
                    break;

                default:
                    throw new ApplicationException(string.Format("Unexpected value of media storage type '{0}'", storageType));
                }
            });
        }
        /// <summary>
        /// Changes storage of a specific item (with subitems optionally) based on what filter returns.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="filter">The filter.</param>
        /// <param name="recursive">if set to <c>true</c> the method will be run recursively.</param>
        public static void ChangeStorage(Item item, bool recursive, MediaStorageFilter filter)
        {
            Assert.ArgumentNotNull(item, "item");
            Assert.ArgumentNotNull(filter, "filter");

            IterateItems(item, recursive, true, delegate (Item it)
                                      {
                                          if (!MediaManager.HasMediaContent(it))
                                              return;

                                          MediaStorageType storageType = filter(it);
                                          switch (storageType)
                                          {
                                              case MediaStorageType.Unchanged:
                                                  break;
                                              case MediaStorageType.FileSystem:
                                                  ChangeToFileSystem(it, false);
                                                  break;
                                              case MediaStorageType.Database:
                                                  ChangeToDatabase(it, false);
                                                  break;
                                              default:
                                                  throw new ApplicationException(string.Format("Unexpected value of media storage type '{0}'", storageType));
                                          }
                                      });
        }
Beispiel #3
0
 /// <summary>
 /// Changes storage of specific items based on what filter returns
 /// </summary>
 /// <param name="item">The item.</param>
 /// <param name="filter">The filter.</param>
 public static void ChangeStorage(Item item, MediaStorageFilter filter)
 {
     ChangeStorage(item, false, filter);
 }
 /// <summary>
 /// Changes storage of specific items based on what filter returns
 /// </summary>
 /// <param name="item">The item.</param>
 /// <param name="filter">The filter.</param>
 public static void ChangeStorage(Item item, MediaStorageFilter filter)
 {
     ChangeStorage(item, false, filter);
 }