public Task <bool> Confirm(SortScenarioSettings settings) { Console.Clear(); xConsole.WriteHeader($"Sotring file\n"); Console.WriteLine($"Target file path : {settings.TargetFilePath}"); Console.WriteLine($"Output file path : {settings.OutputFilePath}"); Console.WriteLine($"Block size : {settings.BlockSize:#,###,###} Bytes"); var choice = xConsole.Ask("Proceed? (y/n) "); return(Task.FromResult(choice)); }
private TimeSpan SortFile(SortScenarioSettings settings) { var watch = new Stopwatch(); watch.Start(); _sorter.Sort( settings.TargetFilePath, settings.OutputFilePath, settings.BufferSize, settings.BlockSize ); watch.Stop(); return(watch.Elapsed); }
public Task <SortScenarioSettings> GetSettings() { var settings = new SortScenarioSettings(); xConsole.WriteQuestion("Enter target file path: "); settings.TargetFilePath = xConsole.ReadString(); var defaultOutputPath = $"{settings.TargetFilePath}.sorted"; xConsole.WriteQuestion($"Enter output file path (default: {defaultOutputPath}): "); settings.OutputFilePath = xConsole.ReadString(defaultOutputPath); var defaultBufferSize = Config.GetApplicationSetting <int>("DefaultBufferSize"); settings.BufferSize = defaultBufferSize; var defaultBlockSize = Config.GetApplicationSetting <int>("DefaultBlockSize"); xConsole.WriteQuestion($"Enter block size (default: {defaultBlockSize:#,###,###} Bytes): "); settings.BlockSize = xConsole.ReadInt(defaultBlockSize); return(Task.FromResult(settings)); }