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());
                    }
        }
Beispiel #3
0
 public ImportSheetCommand(string shippingMethodName, SheetFile file)
 {
     ShippingMethodName = shippingMethodName;
     File = file;
 }