internal static FanPrfileViewModel GetFanProfileAsAnonymousUser(User fan, int?seasonId) { var fpvm = new FanPrfileViewModel { Id = fan.UserId, UserName = fan.UserName, Image = fan.Image, FriendshipStatus = FriendshipStatus.No, Teams = TeamsService.GetFanTeamsWithStatistics(fan, seasonId), Friends = null }; return(fpvm); }
internal static FanPrfileViewModel GetFanProfileAsLoggedInUser(User user, User fan, int?seasonId) { var Friends = FriendsService.GetAllFanFriends(fan.UserId, user.UserId); var fpvm = new FanPrfileViewModel { Id = fan.UserId, UserName = fan.UserName, Image = fan.Image, FriendshipStatus = FriendsService.AreFriends(user.UserId, fan.UserId), Teams = TeamsService.GetFanTeamsWithStatistics(fan, seasonId), Friends = Friends, NumberOfFriends = Friends.Count, NumberOfCommonFriends = Friends.Count(f => f.FriendshipStatus == FriendshipStatus.Yes) }; return(fpvm); }
public IHttpActionResult GetFan(int id, int?unionId = null) { User fan = db.Users.FirstOrDefault(u => u.UserId == id && u.IsArchive == false && u.UsersType.TypeRole == AppRole.Fans); if (fan == null) { return(NotFound()); } User user = CurrentUser; int?seasonId = unionId != null?_seasonsRepo.GetLastSeasonByCurrentUnionId(unionId.Value) : (int?)null; FanPrfileViewModel vm = user == null? FansService.GetFanProfileAsAnonymousUser(fan, seasonId) : FansService.GetFanProfileAsLoggedInUser(user, fan, seasonId); return(Ok(vm)); }