public async Task <PagedList <FollowerDto> > GetUserFollowers(FollowerParams followerParams) { var users = _context.Users.OrderBy(u => u.UserName).AsQueryable(); var followers = _context.UserFollowings.AsQueryable(); if (followerParams.Predicate == "followed") { followers = followers.Where(follow => follow.ObserverId == followerParams.UserId); users = followers.Select(follow => follow.Observer); } if (followerParams.Predicate == "followedBy") { followers = followers.Where(follow => follow.TargetId == followerParams.UserId); users = followers.Select(follow => follow.Target); } var followedUsers = users.Select(user => new FollowerDto { Username = user.UserName, Age = user.DateOfBirth.CalculateAge(), PhotoUrl = user.Photos.FirstOrDefault(p => p.isMain).Url, City = user.City, Id = user.Id }); return(await PagedList <FollowerDto> .CreateAsync(followedUsers, followerParams.PageNumber, followerParams.PageSize)); }
public override void _Ready() { base._Ready(); _params = ID2Params[ObjectID.ToString()]; _sprite = GetNode <AnimatedSprite>("FollowCreature/AnimatedSprite"); _right_checker = GetNode <Area2D>("FollowCreature/RightChecker"); _left_checker = GetNode <Area2D>("FollowCreature/LeftChecker"); GetNode <Area2D>("FollowCreature/Area2D").Connect("body_entered", this, "_on_Area2D_body_entered"); GetNode <Area2D>("FollowCreature/Area2D").Connect("body_exited", this, "_on_Area2D_body_exited"); _sprite.Animation = _params.name; OrganicEnemy = _params.organic_enemy; }
static FollowerCreature() { ID2Params = new Dictionary <string, FollowerParams>(); ID2Params["(3, 5)"] = new FollowerParams(name: "YellowDog", speed: 45f, horizontal: true, organic_enemy: false, deadly: false); ID2Params["(4, 1)"] = new FollowerParams(name: "RedFollowBall", speed: 60f, horizontal: false, organic_enemy: true, deadly: true); }
public async Task <ActionResult <IEnumerable <FollowerDto> > > GetUserFollows([FromQuery] FollowerParams followerParams) { followerParams.UserId = User.GetUserId(); var users = await _unitOfWork.FollowRepository.GetUserFollowers(followerParams); Response.AddPaginationHeader(users.CurrentPage, users.PageSize, users.TotalCount, users.TotalPages); return(Ok(users)); }