I want to send notifications and emails to event participants one hour before an event. All data about events are stored in sql server database. It must work when for example some data in database will change - start time of event will change. One hour before event I want to send a reminder about the event. Information about event start also is only in database.
I have webapi in .net core 2.1 and I going to send emails and notification from there
You could use Hangfire to periodically go over your events and the send email if the event starts within the next hour. This would be a relatively easy thing to implement, but depending on the interval you choose might not send the email exactly one hour before an event.
Alternatively you could implement a service that will handle all creating, updating and deleting of events and then manage delayed jobs using Hangfire for sending email one hour before the event.