public void Add(Record record)
 {
     this.Items.Add(record);
 }
        private SupermarketData ProcessFile(FileInfo fileInfo, DirectoryInfo directoryInfo)
        {
            string filePath = fileInfo.FullName;

            var result = new SupermarketData();
            result.Date = DateTime.Parse(directoryInfo.Name);

            var connectionString = string.Format(
                @"Provider=Microsoft.Jet.OLEDB.4.0;" +
                "Data Source={0};" +
                "Extended Properties=\"Excel 8.0; HDR=YES\";",
                filePath
            );

            var connectionStringForName = string.Format(
                @"Provider=Microsoft.Jet.OLEDB.4.0;" +
                "Data Source={0};" +
                "Extended Properties=\"Excel 8.0; HDR=No\";",
                filePath
            );

            var dbName = new OleDbConnection(connectionStringForName);

            dbName.Open();

            using (dbName)
            {
                var cmd = new OleDbCommand("SELECT * from [Sales$B2:EZ]", dbName);
                using (var reader = cmd.ExecuteReader())
                {
                    reader.Read();
                    var name = reader.GetString(0);
                    result.Name = name;
                }
            }

            var dbCon = new OleDbConnection(connectionString);

            dbCon.Open();

            using (dbCon)
            {
                var cmd = new OleDbCommand("SELECT * from [Sales$B3:EZ]", dbCon);
                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        if (reader["ProductID"].ToString() != string.Empty)
                        {
                            var productID = (int)((double)reader["ProductID"]);
                            var quantity = (int)((double)reader["Quantity"]);
                            var unitPrice = Convert.ToDecimal((double)reader["Unit Price"]);
                            var sum = Convert.ToDecimal((double)reader["Sum"]);

                            var record = new Record
                            {
                                Id = productID,
                                Quantity = quantity,
                                UnitPrice = unitPrice
                            };

                            result.Add(record);

                            //Debug.WriteLine("{0} | {1} | {2} | {3}", productID, quantity, unitPrice, sum);
                        }
                    }
                }
            }

            return result;
        }