What is it?
At home I have some smart mirrors, and they display some form of a birthday calendar. The calendar I use is a simple google calendar, and not the google birthday calendar (as is uses the contacts information to get the birthdays).
As it is a simple calendar, the events I submit to it, are by default not recurring (yup I missed a birthday of a friend due to it).
What needs to be done?
A simple check, happening like every week, to see if al the events in this calendar are set to yearly recurring.
This can be done by downloading the ICS and checking its events.
The code
All the code can be found on my github: https://github.com/timdows/ICSBirthdayValidator
It downloads the ICS file to memory as a string and splits it by the ‘BEGIN:VEVENT’ text.
Every split section is then parsed into an object of the BirthdayInfromation class and simply outputted by an override of the ToString() method as shown below: