Exemple #1
0
        /// <summary>
        /// Delete items from destination
        /// </summary>
        /// <param name="factory">Storage Factory</param>
        private static void Delete(StorageFactory factory)
        {
            var items = new HashSet<string>();
            foreach (var item in factory.Source())
            {
                items.Add(item.RelativePath);
            }

            Parallel.ForEach<IStorageItem>(factory.Destination(), (item, state) =>
            {
                if (!items.Contains(item.RelativePath))
                {
                    item.Delete();
                }
            });
        }
Exemple #2
0
        /// <summary>
        /// Delete items from destination
        /// </summary>
        /// <param name="factory">Storage Factory</param>
        private static void Delete(StorageFactory factory)
        {
            var items = new HashSet <string>();

            foreach (var item in factory.Source())
            {
                items.Add(item.RelativePath);
            }

            Parallel.ForEach <IStorageItem>(factory.Destination(), (item, state) =>
            {
                if (!items.Contains(item.RelativePath))
                {
                    item.Delete();
                }
            });
        }