public async Task NewMessageEvent(KahlaUser receiver, Conversation conversation, string content, KahlaUser sender, bool alert) { var token = await _appsContainer.AccessToken(); var channel = receiver.CurrentChannel; var newMessageEvent = new NewMessageEvent { ConversationId = conversation.Id, Sender = sender, Content = content, AESKey = conversation.AESKey, Muted = !alert }; var pushTasks = new List <Task>(); if (channel != -1) { pushTasks.Add(_stargatePushService.PushMessageAsync(token, channel, _Serialize(newMessageEvent), true)); } if (alert && receiver.Id != sender.Id) { pushTasks.Add(_thirdPartyPushService.PushAsync(receiver.Id, sender.Email, _Serialize(newMessageEvent))); } await Task.WhenAll(pushTasks); }
public async Task NewMessageEvent(int stargateChannel, IEnumerable <Device> devices, Conversation conversation, Message message, bool pushAlert, bool mentioned) { var token = await _appsContainer.AccessToken(); var newMessageEvent = new NewMessageEvent { AESKey = conversation.AESKey, Muted = !pushAlert, Mentioned = mentioned, Message = message }; var pushTasks = new List <Task>(); if (stargateChannel != -1) { pushTasks.Add(_stargatePushService.PushMessageAsync(token, stargateChannel, JsonConvert.SerializeObject(newMessageEvent), true)); } if (pushAlert) { pushTasks.Add(_thirdPartyPushService.PushAsync(devices, message.Sender.Email, JsonConvert.SerializeObject(newMessageEvent))); } await Task.WhenAll(pushTasks); }