protected DeleteFilesDecisionViewModel(IFileIssue fileIssue, IReadOnlyList <Checkable <FileInformation> > files) { _fileIssue = fileIssue; _allFiles = files; IssueFileCheckable = files.Single(x => x.Value == fileIssue.File); _files = GetFilesView(ImmutableList <FileInformation> .Empty); _operations = GetOperations(); foreach (var file in files) { file.PropertyChanged += FileOnPropertyChanged; } }
private static string GetIssueName(IFileIssue issue) { switch (issue) { case InvalidFileLocationIssue _: return("Wrong Location"); case SimilarFilesIssue _: return("Similar Files"); case DuplicateFilesIssue _: return("Duplicate Files"); case FormerlyDeletedIssue _: return("Formerly Deleted Files"); default: throw new ArgumentOutOfRangeException(nameof(issue)); } }
private static string GetIssueTitle(string action, IFileIssue issue) { var issueName = GetIssueName(issue); return($"{action} all {issueName} issues..."); }