private void buttonImportDeck_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "CSV files (*.csv)|*.csv";

            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                CsvReader       reader     = new CsvReader();
                TextFieldParser parser     = new TextFieldParser(openFileDialog.FileName);
                List <string>   cardsAsCsv = reader.Read(parser);
                CardFactory     factory    = new CardFactory();

                listBoxDeck.Items.Clear();
                Deck.Clear();

                foreach (var csvCard in cardsAsCsv)
                {
                    List <string> properties = csvCard.Split(',').ToList();
                    ICard         card       = factory.CreateFromCsv(properties);
                    Deck.Add(card);
                    listBoxDeck.Items.Add(card.Name);
                }
            }
            else
            {
                MessageBox.Show("Unable to import the specified file", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void LoadCollection()
        {
            CsvReader       reader     = new CsvReader();
            TextFieldParser parser     = new TextFieldParser(collectionFileDirectory);
            List <string>   cardsAsCsv = reader.Read(parser);
            CardFactory     factory    = new CardFactory();

            listBoxCollection.Items.Clear();
            CardCollection.Clear();

            foreach (var csvCard in cardsAsCsv)
            {
                List <string> properties = csvCard.Split(',').ToList();
                ICard         card       = factory.CreateFromCsv(properties);
                CardCollection.Add(card);
                listBoxCollection.Items.Add(card.Name);
            }
        }