Esempio n. 1
0
        public async Task FriendRequest(string fromUser, string toUser)
        {
            using (_friendRepo = new FriendRepo(_ctx))
            {
                var friends = new List <Friend>()
                {
                    new Friend()
                    {
                        UserId = fromUser, FriendId = toUser, Waiting = true, Accepted = false
                    },
                    new Friend()
                    {
                        UserId = toUser, FriendId = fromUser, Waiting = true, Accepted = false
                    }
                };

                _friendRepo.AddRange(friends);

                await _friendRepo.SaveChangesAsync();

                if (_connectedUsers[toUser] != null)
                {
                    Clients.Client(_connectedUsers[toUser].ConnectionId).newFriendRequest(fromUser);
                }
            }
        }
Esempio n. 2
0
        public override Task OnConnected()
        {
            using (_userRepo = new UserRepo(_ctx))
            {
                using (_friendRepo = new FriendRepo(_ctx))
                {
                    var username = Context.Request.QueryString["username"];
                    var dbUser   = _userRepo.Users.FirstOrDefault(x => x.UserName == username);
                    var newUser  = dbUser;
                    newUser.IsOnline = true;

                    _userRepo.Edit(dbUser, newUser);

                    _userRepo.SaveChanges();

                    var userFriends = _friendRepo.UserFriends(username);

                    var user = new UserSignalR()
                    {
                        ConnectionId = Context.ConnectionId,
                        Username     = username,
                        Friends      = userFriends.ToList()
                    };


                    _connectedUsers.TryAdd(username, user);

                    Clients.AllExcept(Context.ConnectionId).clientConnected(username);
                    return(Clients.Caller.connected(userFriends));
                }
            }
        }
 public HomePageController(ICommentLikeRepo CommentLike, ICommentRepo PostComments, IPostRepo Post, IFriendRepo Friends, IPostLikeRepo PostLikes)
 {
     _Post         = Post;
     _Friends      = Friends;
     _PostLikes    = PostLikes;
     _PostComments = PostComments;
     _CommentLike  = CommentLike;
 }
 public ProfileController(ICommentLikeRepo CommentLike, IUserRepo User, ICommentRepo PostComments, IPostRepo Post, IFriendRepo Friends, IPostLikeRepo PostLikes)
 {
     _Post         = Post;
     _Friends      = Friends;
     _PostLikes    = PostLikes;
     _PostComments = PostComments;
     _CommentLike  = CommentLike;
     _User         = User;
 }
 public ProfileController(ApplicationDbContext db, ICommentLikeRepo CommentLike, IUserRepo User, ICommentRepo PostComments, IPostRepo Post, IFriendRepo Friends, IPostLikeRepo PostLikes)
 {
     _Post         = Post;
     _Friends      = Friends;
     _PostLikes    = PostLikes;
     _PostComments = PostComments;
     _CommentLike  = CommentLike;
     _User         = User;
     this.db       = db;
 }
Esempio n. 6
0
        public async Task FriendRequestAccepted(string fromUser, string toUser)
        {
            using (_friendRepo = new FriendRepo(_ctx))
            {
                var friends = _friendRepo.Friends.Where(x => (x.UserId == fromUser && x.FriendId == toUser) || (x.UserId == toUser && x.FriendId == fromUser)).ToList();

                if (friends != null)
                {
                    foreach (var friend in friends)
                    {
                        var newFriend = friend;
                        newFriend.Waiting  = false;
                        newFriend.Accepted = true;

                        _friendRepo.Edit(friend, newFriend);
                    }

                    await _friendRepo.SaveChangesAsync();

                    if (_connectedUsers[toUser] != null)
                    {
                        var user = new Domain.DTO.UserFriendsDTO()
                        {
                            FriendName = fromUser,
                            IsOnline   = _connectedUsers[fromUser] != null ? true : false
                        };

                        _connectedUsers[toUser].Friends.Add(user);

                        Clients.Client(_connectedUsers[toUser].ConnectionId).toUserAccepted(user);
                    }

                    if (_connectedUsers[fromUser] != null)
                    {
                        var user = new Domain.DTO.UserFriendsDTO()
                        {
                            FriendName = toUser,
                            IsOnline   = _connectedUsers[toUser] != null ? true : false
                        };

                        _connectedUsers[fromUser].Friends.Add(user);

                        Clients.Client(_connectedUsers[fromUser].ConnectionId).fromUserAccepted(user);
                    }
                }
            }
        }
Esempio n. 7
0
 public FriendsController(UserManager <User> userManager, IFriendRepo repository, IMapper mapper)
 {
     _userManager = userManager;
     _repository  = repository;
     _mapper      = mapper;
 }
Esempio n. 8
0
 public ChatController(IUserRepo userRepo, IConversationReplyRepo conversationReplyRepo, IFriendRepo friendRepo)
 {
     _userRepo = userRepo;
     _conversationReplyRepo = conversationReplyRepo;
     _friendRepo            = friendRepo;
 }