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);
            }
        }