private void DeleteRow(ISettingsRowViewModel row) { if (!row.IsEmpty) { SettingsRows.Remove(row); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SettingsRows))); } }
private void AddEmptyRow() { var emptyRow = new SettingsRowViewModel(); emptyRow.SetEmptyDirectoryEvent += () => { AddEmptyRow(); }; emptyRow.DeleteRowEvent += DeleteRow; SettingsRows.Add(emptyRow); }
private string GetWarningMessage() { var activeSettingsRows = SettingsRows.Where(r => !r.IsEmpty && r.IsUsed).ToArray(); if (activeSettingsRows.Length == 0) { return("Не задано ни одной пары директорий для синхронизации."); } if (activeSettingsRows.Any(r => r.LeftDirectory.DirectoryPath == null || r.RightDirectory.DirectoryPath == null)) { return("Не для всех директорий указаны пары. Удалите директории без пары из списка или отключите их."); } else if (activeSettingsRows.Any(r => r.LeftDirectory.NotFound || r.RightDirectory.NotFound)) { return("Не все директории удаётся найти. Удалите строки, где есть отсутствующие директории или отключите их."); } return(null); }