コード例 #1
0
 public FileDetailViewModel(string name, IDataService dataService, IViewThreadExecutor viewThreadExecutor, IFileProcessor fileProcessor, IAccTransactionValidator validator)
 {
     Name = name;
     _dataService = dataService;
     _viewThreadExecutor = viewThreadExecutor;
     _fileProcessor = fileProcessor;
     _validator = validator;
     UploadCommand = new DelegateCommand(() => OnUploadData(), () => (Status==Status.NotUploaded) && (!IsUploading) );
     ErrorList = new ObservableCollection<string>();
 }
 public AccountTransactionViewModel(IFileProcessorFactory processorFactory, IViewThreadExecutor viewThreadExecutor, IDataService dataService, IAccTransactionValidator validator)
 {
     var processorTable = processorFactory.ProcessorNames.ToDictionary(x => x, x => processorFactory.GetFileProcessor(x));
     var details = processorFactory
         .ProcessorNames
         .Select(x =>
         {
             var fileProcessor = processorFactory.GetFileProcessor(x);
             var allFileDetails = fileProcessor.GetAllFileNames()
             .Select(fileName => new FileDetailViewModel(fileName, dataService, viewThreadExecutor, fileProcessor, validator))
             .ToArray();
             return new ProcessorDetails(x, allFileDetails);
         }).ToList();
     ProcessorDetails = new ListCollectionView(details);
     if(details.Count > 0)
         ProcessorDetails.MoveCurrentToPosition(0);
 }