Периодическое пополнение списка данными из Infrastructure в UI

Пытаюсь научиться в WPF + CleanArchitecture, для начала разбил приложение на слои и обозначил их специфику.

При нажатии в приложении кнопки "Включить"

public MainWindowViewModel(
IWindow window, 
IBackup backup)
{
    EnableBackup.Subscribe(async _ =>
    { 
        backup.Enable();
    });
}

включается отслеживание в определённой папке, добавились ли туда новые файлы.

public void Enable()
{
    watcher = new FileSystemWatcher(ApplicationSettings.Default.SourcePath)
    {
        IncludeSubdirectories = ApplicationSettings.Default.IsSearchSubdir,
        EnableRaisingEvents = true
    };
    watcher.NotifyFilter |= NotifyFilters.LastWrite;
    watcher.Created += new FileSystemEventHandler(OnCreated);
}

Если файл создался то далее по event уже вызываем OnCreated()

 System.Windows.Application.Current.Dispatcher.Invoke(() =>
 {
     CopiedFiles.Value.Add(new CopiedFile
     {
         Time = DateTime.Now.ToLocalTime(),
         FileName = (e.Name.Split('\\')).Last()
     });
 });

который получит название файла и время создания. Проблема в том, что функция проверки создания файла находится в слое Infrastructure, и обратное обращение запрещено, что бы заполнить свойство

public ReactiveProperty<IList<CopiedFile>> CopiedFiles { get; } = new();

Как можно решить эту проблему, может я куда то совсем не туда копаю?


Ответы (0 шт):