Example #1
0
        public virtual ActionResult UserWidgetHover(int userid)
        {
            User user = _aService.GetUser(userid, "Profile");
            UserHoverViewModel model = new UserHoverViewModel();

            model = Mapper.Map <User, UserHoverViewModel>(user);
            model.FollowStatus = user.Followers.Count(t => t.Id == User.Identity.GetUserId <int>()) > 0;
            UserFriendship friendship1 = user.PassiveRelationship.Where(r => r.UserId == User.Identity.GetUserId <int>()).FirstOrDefault();
            UserFriendship friendship2 = user.ActiveRelationships.Where(r => r.TargetUserId == User.Identity.GetUserId <int>()).FirstOrDefault();

            if (friendship1 != default(UserFriendship))
            {
                switch (friendship1.Status)
                {
                case RelationshipEnum.Requesting:
                    model.RequestStatus = FriendStatusEnum.ActiveRequesting;
                    break;

                case RelationshipEnum.Friend:
                    model.RequestStatus = FriendStatusEnum.Friend;
                    break;

                case RelationshipEnum.Blocked:
                    model.RequestStatus = FriendStatusEnum.Blocked;
                    break;

                default:
                    model.RequestStatus = FriendStatusEnum.Stranger;
                    break;
                }
            }
            else if (friendship2 != default(UserFriendship))
            {
                switch (friendship2.Status)
                {
                case RelationshipEnum.Requesting:
                    model.RequestStatus = FriendStatusEnum.PasssiveRequesting;
                    break;

                case RelationshipEnum.Friend:
                    model.RequestStatus = FriendStatusEnum.Friend;
                    break;

                case RelationshipEnum.Blocked:
                    model.RequestStatus = FriendStatusEnum.Blocked;
                    break;

                default:
                    model.RequestStatus = FriendStatusEnum.Stranger;
                    break;
                }
            }
            else
            {
                model.RequestStatus = FriendStatusEnum.Stranger;
            }
            return(PartialView("Widgets/_UserHoverWidget", model));
        }
Example #2
0
        public void CancelFriend(int userId, int targetUserId)
        {
            UserFriendship friendship = new UserFriendship();

            friendship = _dal.Repository <UserFriendship>().Table.Where(
                (u => (u.TargetUserId == targetUserId || u.TargetUserId == userId) && (u.UserId == targetUserId || u.UserId == userId) && (u.Status == RelationshipEnum.Requesting || u.Status == RelationshipEnum.Friend))).FirstOrDefault();
            _dal.Repository <UserFriendship>().Delete(friendship);
            _dal.Save();
        }
Example #3
0
        public void AcceptFriendRequest(int userId, int targetUserId)
        {
            UserFriendship friendship = new UserFriendship();

            friendship = _dal.Repository <UserFriendship>().Table.Where(
                (u => (u.TargetUserId == userId) && (u.UserId == targetUserId))).FirstOrDefault();
            friendship.Status = RelationshipEnum.Friend;
            _dal.Repository <UserFriendship>().Update(friendship);
            _dal.Save();
        }
Example #4
0
        public void SendFriendRequest(int userId, int targetUserId)
        {
            UserFriendship friendship = new UserFriendship();

            friendship.CreatedDate      = DateTime.Now;
            friendship.LastChangeStatus = DateTime.Now;
            friendship.Status           = RelationshipEnum.Requesting;
            friendship.TargetUserId     = targetUserId;
            friendship.UserId           = userId;
            _dal.Repository <UserFriendship>().Insert(friendship);
            _dal.Save();
        }
Example #5
0
        //Get: /Account/UserProfile
        public ActionResult UserProfile(int userId)
        {
            if (userId == _currentUserId)
            {
                return(RedirectToAction("MyProfile"));
            }
            Entity.User user = new User();
            user = aService.GetUser(userId, "Profile");
            ProfileViewModel model = Mapper.Map <User, ProfileViewModel>(user);

            ViewBag.System     = Constant.String.ProfileSystem;
            model.FollowStatus = user.Followers.Count(t => t.Id == User.Identity.GetUserId <int>()) > 0;
            UserFriendship friendship1 = user.PassiveRelationship.Where(r => r.UserId == User.Identity.GetUserId <int>()).FirstOrDefault();
            UserFriendship friendship2 = user.ActiveRelationships.Where(r => r.TargetUserId == User.Identity.GetUserId <int>()).FirstOrDefault();

            if (friendship1 != default(UserFriendship))
            {
                switch (friendship1.Status)
                {
                case RelationshipEnum.Requesting:
                    model.RequestStatus = FriendStatusEnum.ActiveRequesting;
                    break;

                case RelationshipEnum.Friend:
                    model.RequestStatus = FriendStatusEnum.Friend;
                    break;

                case RelationshipEnum.Blocked:
                    model.RequestStatus = FriendStatusEnum.Blocked;
                    break;

                default:
                    model.RequestStatus = FriendStatusEnum.Stranger;
                    break;
                }
            }
            else if (friendship2 != default(UserFriendship))
            {
                switch (friendship2.Status)
                {
                case RelationshipEnum.Requesting:
                    model.RequestStatus = FriendStatusEnum.PasssiveRequesting;
                    break;

                case RelationshipEnum.Friend:
                    model.RequestStatus = FriendStatusEnum.Friend;
                    break;

                case RelationshipEnum.Blocked:
                    model.RequestStatus = FriendStatusEnum.Blocked;
                    break;

                default:
                    model.RequestStatus = FriendStatusEnum.Stranger;
                    break;
                }
            }
            else
            {
                model.RequestStatus = FriendStatusEnum.Stranger;
            }
            return(View("Views/UserProfileView", model));
        }
Example #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="users"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public static List <UserItemViewModel> ListUserToListUserItem(List <User> users, int userId)
        {
            List <UserItemViewModel> result = new List <UserItemViewModel>();

            foreach (User u in users)
            {
                UserItemViewModel model = new UserItemViewModel();
                model.User         = u;
                model.FollowStatus = u.Followers.Count(t => t.Id == userId) > 0;
                UserFriendship friendship1 = u.PassiveRelationship.Where(r => r.UserId == userId).FirstOrDefault();
                UserFriendship friendship2 = u.ActiveRelationships.Where(r => r.TargetUserId == userId).FirstOrDefault();
                if (friendship1 != default(UserFriendship))
                {
                    switch (friendship1.Status)
                    {
                    case RelationshipEnum.Requesting:
                        model.RequestStatus = FriendStatusEnum.ActiveRequesting;
                        break;

                    case RelationshipEnum.Friend:
                        model.RequestStatus = FriendStatusEnum.Friend;
                        break;

                    case RelationshipEnum.Blocked:
                        model.RequestStatus = FriendStatusEnum.Blocked;
                        break;

                    default:
                        model.RequestStatus = FriendStatusEnum.Stranger;
                        break;
                    }
                }
                else if (friendship2 != default(UserFriendship))
                {
                    switch (friendship2.Status)
                    {
                    case RelationshipEnum.Requesting:
                        model.RequestStatus = FriendStatusEnum.PasssiveRequesting;
                        break;

                    case RelationshipEnum.Friend:
                        model.RequestStatus = FriendStatusEnum.Friend;
                        break;

                    case RelationshipEnum.Blocked:
                        model.RequestStatus = FriendStatusEnum.Blocked;
                        break;

                    default:
                        model.RequestStatus = FriendStatusEnum.Stranger;
                        break;
                    }
                }
                else
                {
                    model.RequestStatus = FriendStatusEnum.Stranger;
                }
                result.Add(model);
            }
            return(result);
        }