private static void Main() { while (true) { Console.WriteLine("Pick a song: "); Console.WriteLine("1. Super Mario"); Console.WriteLine("2. Imperial March"); Console.WriteLine("3. Tetris"); Console.WriteLine("q. quit"); Console.Write("Selection: "); var input = Console.ReadLine(); if (string.IsNullOrWhiteSpace(input)) { Console.WriteLine("Invalid selection!"); continue; } if (input.Equals("q", StringComparison.InvariantCultureIgnoreCase)) { break; } if (!Sheets.ContainsKey(input)) { Console.WriteLine("Invalid selection!"); continue; } try { var sheet = SheetFile.Load(Sheets[input]); Console.Write($"Now playing: {sheet.Name} ... "); sheet.Play(); Console.WriteLine("done!"); } catch (Exception) { Console.WriteLine("oops :("); Console.WriteLine("An error occurred while playing your selection. Looks like that songs busted!"); } } }
public async Task <ReadOnlyCollection <ShippingRule> > ReadRulesAsync(SheetFile file) { using (var stream = new MemoryStream(file.Content)) using (var reader = new StreamReader(stream)) using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { var records = new List <ShippingRuleRecord>(); await csv.ReadAsync(); csv.ReadHeader(); while (await csv.ReadAsync()) { records.Add(csv.GetRecord <ShippingRuleRecord>()); } return(records.Select(record => record.ToShippingRule()).ToReadOnly()); } }
public ImportSheetCommand(string shippingMethodName, SheetFile file) { ShippingMethodName = shippingMethodName; File = file; }