示例#1
0
 public List<FriendViewModel> FriendRequest(string userId)
 {
     var friends = db.Friends.Where(x => x.FriendId == userId && !x.FriendStatus);
     var friendRequest = new List<FriendViewModel>();
     foreach (var item in friends)
     {
         var request = new FriendViewModel
         {
             FriendId = item.FriendsListId,
             Name = item.FriendList.User.FirstName + " " + item.FriendList.User.LastName,
             ProfileImgUrl = UrlImage("avatar", item.FriendsListId),
             UserName = item.FriendList.User.UserName
         };
         friendRequest.Add(request);
     }
     return friendRequest;
 }
示例#2
0
        private void FriendToast(string receiverId)
        {
            try
            {
                var receiver =
                        db.Users.FirstOrDefault(x => x.UserID.Equals(receiverId, StringComparison.InvariantCultureIgnoreCase));
                var sender =
                        db.Users.FirstOrDefault(x => x.UserID.Equals(CurrentUserID, StringComparison.InvariantCultureIgnoreCase));
                if (sender != null && receiver != null)
                {
                    //create toast for notif
                    var toastUrl = Url.Action(sender.UserName, "profile");
                    var toastMessage = string.Format(NotificationMessage.NOTIF_ADD_FRIEND,
                        sender.FirstName + " " + sender.LastName, sender.Gender ? "his" : "her");

                    //create sub hub context
                    var hubContext = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();

                    var data = db.Friends.Where(x => x.FriendId == receiver.UserID && !x.FriendStatus).ToList();
                    var friendRequest = new List<FriendViewModel>();

                    foreach (var item in data)
                    {
                        var requester = db.Users.First(x => x.UserID == item.FriendsListId);
                        var request = new FriendViewModel
                        {
                            FriendId = item.FriendsListId,
                            Name = requester.FirstName + " " + requester.LastName,
                            ProfileImgUrl = UrlImage("avatar", item.FriendsListId),
                            UserName = requester.UserName
                        };

                        friendRequest.Add(request);
                    }

                    var html = RenderPartialViewToString("FriendRequest", friendRequest);
                    hubContext.Clients.All.updateRequest(receiver.UserID, html);
                    hubContext.Clients.All.toastNotif(receiver.UserID, toastUrl, toastMessage);
                }
            }
            catch (Exception exception)
            {
                Helper.WriteLog(exception);
            }
        }
示例#3
0
        public List<FriendViewModel> FriendList(string userId)
        {
            var list = db.FriendLists.FirstOrDefault(x => x.Id == userId).Friends.Where(x => x.FriendStatus);

            var friendList = new List<FriendViewModel>();
            foreach (var item in list)
            {
                var request = new FriendViewModel
                {
                    FriendId = item.FriendId,
                    Name = item.User.FirstName + " " + item.User.LastName,
                    ProfileImgUrl = UrlImage("avatar", item.FriendId)
                };
                friendList.Add(request);
            }

            return friendList;
        }