private (bool, List <string>) LeavePublicChat(PublicChatEventPayload e) { LeaveEvent leaveEvent = JsonSerializer.Deserialize <LeaveEvent>(e.EventData.ToString()); var res = _userController.LeavePublicChat(e.ChatId); if (res) { var sendedToUsers = _userController.SendMessageToChat(e.ChatId, new Message() { Id = ObjectId.GenerateNewId(), Sender = "System", Body = $"Member {_userController.User.FirstName + " " + _userController.User.LastName} left the chat" }); sendedToUsers.Add(_userController.User.Id.ToString()); return(true, sendedToUsers); } return(false, null); }
private (bool, List <string>) TranferAdminRightsToUser(PublicChatEventPayload e) { AdminRoleTransferEvent excludeEvent = JsonSerializer.Deserialize <AdminRoleTransferEvent>(e.EventData.ToString()); var res = _userController.TranferAdminRightsToUser(e.ChatId, excludeEvent.UserId); if (res.Item1) { var sendedToUsers = _userController.SendMessageToChat( e.ChatId, new Message() { Id = ObjectId.GenerateNewId(), Sender = "System", Body = $"Member {res.Item2} is admin now" }); return(true, sendedToUsers); } return(false, null); }
private (bool, List <string>) AddMemberToPublicChat(PublicChatEventPayload e) { ExcludeEvent excludeEvent = JsonSerializer.Deserialize <ExcludeEvent>(e.EventData.ToString()); var res = _userController.AddMemberToPublicChat(e.ChatId, excludeEvent.UserId); if (res.Item1) { var sendedToUsers = _userController.SendMessageToChat( e.ChatId, new Message() { Id = ObjectId.GenerateNewId(), Sender = "System", Body = $"Member {res.Item2} was added\n" + $"by {_userController.User.FirstName} {_userController.User.LastName}" }); return(true, sendedToUsers); } return(false, null); }
public (bool, List <string>) ProcessPublicChatEvents(PublicChatEventPayload eventPayload) { return(publicChatHandlers[eventPayload.EventType](eventPayload)); }
private delegate(bool, List <string>) HandleEvent(PublicChatEventPayload request);