private void SendAlert(ColdSpellEnteredNotification message)
        {
            var enteredAtLocal = _timeZone.ToLocalTime(message.EnteredAt);

            _smsClient.Send(_configuration.SmsFrom, _configuration.SmsTo,
                            string.Format(
                                "{0}: Entered cold spell. (Temp: {1}C).",
                                enteredAtLocal.ToString("HH:mm"),
                                message.CurrentTemp.ToString("f1")));

            Trace.TraceInformation("{0}: INFO: Sent SMS for ColdSpellEnteredNotification.", message.DeviceId);
        }
예제 #2
0
        public Task HandleAsync(ColdSpellLeftNotification message)
        {
            Trace.TraceInformation("{0}: HANDLE: {1} {{Temp: {2}, LeftAt: {3}, Duration: {4}}}.", message.DeviceId, message.GetType().Name, message.CurrentTemp, message.LeftAt, message.Duration);

            var leftAtLocal = _timeZone.ToLocalTime(message.LeftAt);

            _smsClient.Send(
                _configuration.SmsFrom,
                _configuration.SmsTo,
                string.Format("{0}: Cold spell over. (Temp: {1}C, Min: {2}C, Duration: {3}).",
                              leftAtLocal.ToString("HH:mm"),
                              message.CurrentTemp.ToString("f1"),
                              message.MinTemp.ToString("f1"),
                              message.Duration.ToString(@"h\h\ m\m")));

            Trace.TraceInformation("{0}: INFO: Sent SMS for ColdSpellLeftNotification.", message.DeviceId);

            return(Task.FromResult(0));
        }