private async Task SendRequest(ObjectId friendId, Friendship friendship)
        {
            await dataBaseService.FriendshipCollection.InsertOneAsync(friendship);

            ClientCallback friendCallback = loginService.GetCallbackChannelByID(friendId);

            if (friendCallback != null)
            {
                friendCallback.OnFriendshipRequested(loginService.UserId);
            }
        }
Exemple #2
0
        public async Task SendMessage(JToken data)
        {
            ObjectId receiver = ObjectId.Parse(data["to"].ToString());
            string   message  = data["message"].ToString();

            Message msg = new Message {
                Sender = loginService.UserId, Receiver = receiver, Hour = String.Format("{0:00}", DateTime.Now.Hour), Minute = String.Format("{0:00}", DateTime.Now.Minute), Read = false, Text = message
            };
            await dataBaseService.MessageCollection.InsertOneAsync(msg);

            ClientCallback receiverCallback = loginService.GetCallbackChannelByID(msg.Receiver);

            if (receiverCallback != null)
            {
                receiverCallback.OnMessageReceived(msg);
            }
        }
        public async Task ChangeUsername(string username)
        {
            List <ObjectId> friends = await databaseService.GetFriendIdList(loginService.UserId);

            friends.ForEach(friendId =>
            {
                ClientCallback clientCallback = loginService.GetCallbackChannelByID(friendId);
                if (clientCallback != null)
                {
                    clientCallback.OnFriendsUsernameChanged(loginService.UserId, username);
                }
            });

            FilterDefinition <User> filter = Builders <User> .Filter.Eq("_id", loginService.UserId);

            UpdateDefinition <User> update = Builders <User> .Update.Set("username", username);

            await databaseService.UserCollection.UpdateOneAsync(filter, update);
        }