コード例 #1
0
ファイル: FriendshipModel.cs プロジェクト: killpl/Zarlok
        public void AcceptInvitation(int userId, int invitedId)
        {
            var request = db.Request.FirstOrDefault(r => r.sender == invitedId && r.receiver == userId);

            if (request != null)
            {
                var friend = new Friendship();
                friend.sender = invitedId;
                friend.receiver = userId;

                db.Friendship.Add(friend);
                db.Request.Remove(request);

                db.SaveChanges();
            }
        }
コード例 #2
0
ファイル: FriendshipModel.cs プロジェクト: killpl/Zarlok
        public void SendInvitation(int senderId, int receiverId)
        {
            if(!db.Friendship.Any(f => (f.sender == senderId && f.receiver == receiverId) || (f.sender==receiverId && f.receiver==senderId)))
            {
                var request = db.Request.FirstOrDefault(r => r.sender == senderId && r.receiver == receiverId);

                if(request==null)
                {
                    var response = db.Request.FirstOrDefault(r => r.sender == receiverId && r.receiver == senderId);

                    if(response!=null)
                    {
                        var friend = new Friendship();
                        friend.sender = senderId;
                        friend.receiver = receiverId;

                        db.Friendship.Add(friend);
                        db.Request.Remove(response);

                        db.SaveChanges();
                    }
                    else
                    {
                        request = new Request();
                        request.receiver = receiverId;
                        request.sender = senderId;
                        request.sent = DateTime.Now;
                        db.Request.Add(request);

                        db.SaveChanges();
                    }
                }
            }
        }