예제 #1
0
        public ProfileDto GetProfileByUserName(string userName)
        {
            if (userName.IsNullOrEmpty())
            {
                throw new ArgumentNullException(nameof(userName));
            }

            var profile = _profileProvider.GetProfileByUserName(userName);

            if (profile == null)
            {
                throw new BusinessLogicException($"Profile for user with userName = {userName} was not found.");
            }

            var following = _profileProvider.GetFollowingByUserName(userName);

            var result = _mapper.Map <ProfileDto>(profile);

            result.Followers = profile.Followers.Select(x => _mapper.Map <ProfileDto>(x)).ToList();
            result.Following = following.Select(x => _mapper.Map <ProfileDto>(x)).ToList();

            return(result);
        }