public void Start() { while (true) { if (DateTime.Now.Hour != 0) { continue; } _transactionLogic.ExecuteScheduledTransactions(DateTime.Now); Thread.Sleep(3601000); //1 hour and a second just to be sure :) } }