private List <SeriesLocalDto> RetrieveSeries()
        {
            List <SeriesLocalDto> allSeries = new List <SeriesLocalDto>();
            AccessRetriever       retriever = new AccessRetriever(DatabasePath);

            try {
                var       dataSet     = retriever.GetAllSeries();
                DataTable seriesTable = dataSet.Tables[0];
                foreach (DataRow row in seriesTable.Rows)
                {
                    string         idStr  = row["ID"].ToString();
                    bool           result = int.TryParse(idStr, out int id);
                    SeriesLocalDto series = new SeriesLocalDto()
                    {
                        Id   = id,
                        Name = row["Series"].ToString()
                    };
                    allSeries.Add(series);
                }
            }
            catch (Exception e) {
                Log.Error(e, "Could not retrieve all Series in database");
            }
            return(allSeries);
        }
        public void GetSeriesByName_SeriesDoesNotExist_ReturnsNegativeOne()
        {
            string           dbLocation = @"c:\temp\Files on Dvd.accdb";
            AccessRepository repository = new AccessRepository(dbLocation);
            string           seriesName = "Paul's made-up series";
            int expectedSeriesId        = -1;

            SeriesLocalDto result = repository.GetSeriesByName(seriesName);

            Assert.AreEqual(expectedSeriesId, result.Id);
        }
        public void GetSeriesByName_SeriesExists_ReturnsSeries()
        {
            string           dbLocation = @"c:\temp\Files on Dvd.accdb";
            AccessRepository repository = new AccessRepository(dbLocation);
            string           seriesName = "Tabletop";
            int expectedSeriesId        = 96;

            SeriesLocalDto result = repository.GetSeriesByName(seriesName);

            Assert.AreEqual(expectedSeriesId, result.Id);
        }
        public SeriesLocalDto GetSeriesByName(string seriesName)
        {
            SeriesLocalDto series = Series.FirstOrDefault(s =>
                                                          s.Name.ToLower() == seriesName.ToLower());

            if (series == null)
            {
                series = new SeriesLocalDto()
                {
                    Id   = -1,
                    Name = seriesName
                };
            }
            return(series);
        }