public void Provide() { if (!_Enabled || _CurrentDateTimeProvider.GetUtcNow().Day != _DayOfMonthToSend) { return; } try { IDictionary <string, int> values = Retrieve(); if (values == null) { return; } _SendService.PutValues(_AccountNumber, new ReadOnlyDictionary <string, int>(values)); _Notifier.Notify(BuildMessage(values)); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } }