private Task SendNotificationInternal(UserNotification request, CancellationToken cancellationToken) { var options = GetOptions(request.User); var mail = new MailMessage(options.EmailFrom, options.EmailTo) { Subject = "Media Browser: " + request.Name, Body = request.Description }; var client = new SmtpClient { Host = options.Server, Port = options.Port, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false }; if (options.SSL) client.EnableSsl = true; _logger.Debug("Emailing {0} with subject {1}", options.EmailTo, mail.Subject); if (options.UseCredentials) { var pw = _encryption.DecryptString(options.PwData); client.Credentials = new NetworkCredential(options.Username, pw); } return client.SendMailAsync(mail); }
public Task SendNotification(UserNotification request, CancellationToken cancellationToken) { var options = GetOptions(request.User); var parameters = new Dictionary<string, string> { {"apikey", options.Token}, {"application", "Media Browser"} }; if (string.IsNullOrEmpty(request.Description)) { parameters.Add("event", request.Name); parameters.Add("description", "-"); } else { parameters.Add("event", request.Name); parameters.Add("description", request.Description); } _logger.Debug("NotifyMyAndroid to {0} - {1} - {2}", options.Token, request.Name, request.Description); return _httpClient.Post("https://www.notifymyandroid.com/publicapi/notify", parameters, cancellationToken); }
public Task SendNotification(UserNotification request, CancellationToken cancellationToken) { var options = GetOptions(request.User); var parameters = new Dictionary<string, string> { {"token", options.Token}, {"user", options.UserKey}, }; if (!string.IsNullOrEmpty(options.DeviceName)) parameters.Add("device", options.DeviceName); if (string.IsNullOrEmpty(request.Description)) parameters.Add("message", request.Name); else { parameters.Add("title", request.Name); parameters.Add("message", request.Description); } _logger.Debug("PushOver to Token : {0} - {1} - {2}", options.Token, options.UserKey, request.Description); return _httpClient.Post("https://api.pushover.net/1/messages.json", parameters, cancellationToken); }
public Task SendNotification(UserNotification request, CancellationToken cancellationToken) { return _repo.AddNotification(new Notification { Date = request.Date, Description = request.Description, Level = request.Level, Name = request.Name, Url = request.Url, UserId = request.User.Id.ToString("N") }, cancellationToken); }
public async Task SendNotification(UserNotification request, CancellationToken cancellationToken) { await _resourcePool.WaitAsync(cancellationToken).ConfigureAwait(false); try { await SendNotificationInternal(request, cancellationToken).ConfigureAwait(false); } finally { _resourcePool.Release(); } }
public Task SendNotification(UserNotification request, CancellationToken cancellationToken) { var options = GetOptions(request.User); var parameters = new Dictionary<string, string> { {"AuthorizationToken", options.Token}, }; if (string.IsNullOrEmpty(request.Description)) { parameters.Add("Body", request.Name); } else { parameters.Add("Title", request.Name); parameters.Add("Body", request.Description); } _logger.Debug("PushAlot to {0}", options.Token); return _httpClient.Post("https://pushalot.com/api/sendmessage", parameters, cancellationToken); }
public Task SendNotification(UserNotification request, CancellationToken cancellationToken) { var options = GetOptions(request.User); var parameters = new Dictionary<string, string> { // {"device_iden", options.DeviceId}, {"type", "note"}, {"title", request.Name}, {"body", request.Description} }; _logger.Debug("PushBullet to Token : {0} - {1} - {2}", options.Token, options.DeviceId, request.Description); var _httpRequest = new HttpRequestOptions(); string authInfo = options.Token; authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo)); _httpRequest.RequestHeaders["Authorization"] = "Basic " + authInfo; _httpRequest.Url = "https://api.pushbullet.com/v2/pushes"; return _httpClient.Post(_httpRequest, parameters); }
public Task SendNotification(UserNotification request, CancellationToken cancellationToken) { var options = GetOptions(request.User); var parameters = new Dictionary<string, string> { {"apikey", options.Token}, {"application", "Emby"} }; if (string.IsNullOrEmpty(request.Description)) { parameters.Add("event", request.Name); } else { parameters.Add("event", request.Name); parameters.Add("description", request.Description); } _logger.Debug("Prowl to {0} - {1} - {2}", options.Token, request.Name, request.Description); return _httpClient.Post("https://api.prowlapp.com/publicapi/add", parameters, cancellationToken); }
private async Task SendNotification(NotificationRequest request, INotificationService service, string title, string description, User user, CancellationToken cancellationToken) { var notification = new UserNotification { Date = request.Date, Description = description, Level = request.Level, Name = title, Url = request.Url, User = user }; _logger.Debug("Sending notification via {0} to user {1}", service.Name, user.Name); try { await service.SendNotification(notification, cancellationToken).ConfigureAwait(false); } catch (Exception ex) { _logger.ErrorException("Error sending notification to {0}", ex, service.Name); } }