Beispiel #1
0
        /// <summary>
        /// Выполнить команду синхронизации.
        /// </summary>
        public async Task Process()
        {
            if (CommandAction != null)
            {
                StartedSyncEvent?.Invoke();
                await CommandAction.Invoke();

                FinishedSyncEvent?.Invoke();
            }
        }
Beispiel #2
0
        /// <summary>
        /// Конструктор.
        /// </summary>
        /// <param name="fullPath">Полный путь к элементу, описываемому моделью.</param>
        /// <param name="isDirectory">True - элемент является директорией.</param>
        /// <param name="item">Элемент, на основе которого строится директория.</param>
        public SynchronizedItem(string fullPath, bool isDirectory, IItem item)
        {
            (Name, FullPath, IsDirectory, Item) = (Path.GetFileName(fullPath), fullPath, isDirectory, item);

            if (item != null)
            {
                UpdateItem(item);
            }

            SyncCommand = new SyncCommand();
            SyncCommand.StartedSyncEvent  += () => StartedSyncEvent?.Invoke();
            SyncCommand.FinishedSyncEvent += () => FinishedSyncEvent?.Invoke(this);
        }