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)); }
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(); }
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(); }
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(); }
//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)); }
/// <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); }