public static IEnumerable <TaskResultViewModel> CreateViewModelsFromResults(IEnumerable <FileSystemTaskResult> results)
        {
            if (results == null)
            {
                throw new ArgumentNullException("results");
            }

            var viewModels = new List <TaskResultViewModel>();

            foreach (FileSystemTaskResult result in results) // Note: Visitor бы
            {
                FolderTaskResult resultAsFolderResult = result as FolderTaskResult;

                if (resultAsFolderResult != null)
                {
                    viewModels.Add(TaskResultViewModel.FromFolderTaskResult(resultAsFolderResult));
                }
                else
                {
                    FileTaskResult resultAsFileResult = result as FileTaskResult;

                    if (resultAsFileResult != null)
                    {
                        viewModels.Add(TaskResultViewModel.FromFileTaskResult(resultAsFileResult));
                    }
                    else
                    {
                        throw new NotSupportedException();
                    }
                }
            }

            return(viewModels);
        }
Ejemplo n.º 2
0
        public static TaskResultViewModel FromFolderTaskResult(FolderTaskResult folderTaskResult)
        {
            if (folderTaskResult == null)
            {
                throw new ArgumentNullException("folderTaskResult");
            }

            return(new TaskResultViewModel(
                       folderTaskResult.SourceFolder.FullPath,
                       folderTaskResult.ExecutedSuccessfully ? folderTaskResult.DestinationFolder.FullPath : String.Empty,
                       folderTaskResult.ExecutedSuccessfully,
                       folderTaskResult.Error));
        }