Example #1
0
 private void DeleteRow(ISettingsRowViewModel row)
 {
     if (!row.IsEmpty)
     {
         SettingsRows.Remove(row);
         PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SettingsRows)));
     }
 }
Example #2
0
        private void AddEmptyRow()
        {
            var emptyRow = new SettingsRowViewModel();

            emptyRow.SetEmptyDirectoryEvent += () => { AddEmptyRow(); };
            emptyRow.DeleteRowEvent         += DeleteRow;
            SettingsRows.Add(emptyRow);
        }
Example #3
0
        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);
        }