private void ExtractExpectedVisitors(List <Festival_Unformatted> festivalsWithSameTitle, Festival festival) { var expectedVisitorsString = festivalsWithSameTitle.FirstOrDefault(f => f.TableColOne == "Besucher") ?.TableColTwo; if (!string.IsNullOrWhiteSpace(expectedVisitorsString)) { festival.AverageExpectedVisitors = RemoveCharacters.RemoveAllExceptNumeric <int>(expectedVisitorsString); } }
private void ExtractAddress(List <Festival_Unformatted> festivalsWithSameTitle, Festival festival) { var splitZipStateAddressCountrys = Regex.Split(festivalsWithSameTitle.First().DateZipCodeStateCountry, @"\s{2,}"); if (splitZipStateAddressCountrys.Length == 4) { splitZipStateAddressCountrys = splitZipStateAddressCountrys.Skip(1).ToArray(); for (int i = 0; i < splitZipStateAddressCountrys.Length; i++) { //Extract Zip and State if (i == 0) { var splitZipCodeAndProvince = splitZipStateAddressCountrys[i].Split("-"); for (int j = 0; j < splitZipCodeAndProvince.Length; j++) { splitZipCodeAndProvince[j] = RemoveCharacters.RemoveWhitespaces(splitZipCodeAndProvince[j]); //Extract Zip if (j == 0) { festival.Address.ZipCode = splitZipCodeAndProvince[j]; } //Extract State if (j >= 1) { if (!string.IsNullOrEmpty(festival.Address.State)) { festival.Address.State += " "; } festival.Address.State += splitZipCodeAndProvince[j]; } } } //Extract Street if (i == 1) { festival.Address.Location = splitZipStateAddressCountrys[i]; } //Extract Country if (i == 2) { festival.Address.Country = splitZipStateAddressCountrys[i]; } } } }
private void ExtractDates(List <Festival_Unformatted> festivalsWithSameTitle, Festival festival) { var date = festivalsWithSameTitle.First().Date; //Parse Festivals with only one date DateTime parsedDate1; if (DateTime.TryParse(date, out parsedDate1)) { festival.Dates.Add(new FestivalDate() { Date = parsedDate1 }); } //Parse Festivals with more than one Date var splitDates = date.Split("-"); for (int i = 0; i < splitDates.Length; i++) { splitDates[i] = RemoveCharacters.RemoveWhitespaces(splitDates[i]); } if (splitDates.Length > 1) { if (DateTime.TryParse(splitDates[1], out parsedDate1)) { splitDates[0] += parsedDate1.Date.Year; festival.Dates.Add(new FestivalDate() { Date = parsedDate1 }); } if (DateTime.TryParse(splitDates[0], out parsedDate1)) { festival.Dates.Add(new FestivalDate() { Date = parsedDate1 }); } } }
private void ExtractEmailAndTelephone(List <Festival_Unformatted> festivalsWithSameTitle, Festival festival) { var hotlineKontaktString = festivalsWithSameTitle .First(f => f.TableColOne == "Info-Hotline:" || f.TableColOne == "Kontakt") .TableColTwo; if (!string.IsNullOrWhiteSpace(hotlineKontaktString)) { //Extract Email festival.Email = EmailRegex.MatchEmail(hotlineKontaktString); //Extract Phone Number hotlineKontaktString = RemoveCharacters.RemoveWhitespaces(hotlineKontaktString); hotlineKontaktString = RemoveCharacters.RemoveSpecialCharacters(hotlineKontaktString, new [] { '+' }); festival.PhoneNumber = TelephoneRegex.MatchTelephone(hotlineKontaktString); } }