private ApiAvatarInfo GetApiAvatarInfoInternally()
        {
            _client.Executor.CheckApiServerVersion();

            IRestRequest  request       = _client.Builder.GetAvatar();
            ApiAvatarInfo apiAvatarInfo = _client.Executor.DoSyncApiCall <ApiAvatarInfo>(request, RequestType.GetUserAvatar);

            return(apiAvatarInfo);
        }
        public AvatarInfo ResetAvatar()
        {
            _client.Executor.CheckApiServerVersion();

            IRestRequest  request           = _client.Builder.DeleteAvatar();
            ApiAvatarInfo defaultAvatarInfo = _client.Executor.DoSyncApiCall <ApiAvatarInfo>(request, RequestType.DeleteUserAvatar);

            return(UserMapper.FromApiAvatarInfo(defaultAvatarInfo));
        }
Exemplo n.º 3
0
        internal static AvatarInfo FromApiAvatarInfo(ApiAvatarInfo apiInfo)
        {
            AvatarInfo info = new AvatarInfo {
                AvatarUUID     = apiInfo.AvatarUuid,
                IsCustomAvatar = apiInfo.IsCustomAvatar
            };

            return(info);
        }
        public Image GetAvatar()
        {
            ApiAvatarInfo apiAvatarInfo = GetApiAvatarInfoInternally();

            using (WebClient avatarClient = _client.Builder.ProvideAvatarDownloadWebClient()) {
                byte[] avatarImageBytes =
                    _client.Executor.ExecuteWebClientDownload(avatarClient, new Uri(apiAvatarInfo.AvatarUri), RequestType.GetUserAvatar);
                MemoryStream ms = new MemoryStream(avatarImageBytes);
                return(Image.FromStream(ms));
            }
        }
Exemplo n.º 5
0
        public void FromApiAvatarInfo()
        {
            // ARRANGE
            AvatarInfo expected = FactoryUser.AvatarInfo;

            ApiAvatarInfo param = new ApiAvatarInfo {
                AvatarUuid     = expected.AvatarUUID,
                IsCustomAvatar = expected.IsCustomAvatar,
                AvatarUri      = "https://www.dracoon.team"
            };

            // ACT
            AvatarInfo actual = UserMapper.FromApiAvatarInfo(param);

            // ASSERT
            Assert.Equal(expected, actual, new AvatarInfoComparer());
        }
Exemplo n.º 6
0
        public Image GetUserAvatar(long userId, string avatarUuid)
        {
            _client.Executor.CheckApiServerVersion();

            #region Parameter Validation

            userId.MustPositive(nameof(userId));
            avatarUuid.MustNotNullOrEmptyOrWhitespace(nameof(avatarUuid));

            #endregion

            IRestRequest  request       = _client.Builder.GetUserAvatar(userId, avatarUuid);
            ApiAvatarInfo apiAvatarInfo = _client.Executor.DoSyncApiCall <ApiAvatarInfo>(request, RequestType.GetResourcesAvatar);

            using (WebClient avatarClient = _client.Builder.ProvideAvatarDownloadWebClient()) {
                byte[] avatarImageBytes =
                    _client.Executor.ExecuteWebClientDownload(avatarClient, new Uri(apiAvatarInfo.AvatarUri), RequestType.GetResourcesAvatar);
                MemoryStream ms = new MemoryStream(avatarImageBytes);
                return(Image.FromStream(ms));
            }
        }
        public AvatarInfo GetAvatarInfo()
        {
            ApiAvatarInfo apiAvatarInfo = GetApiAvatarInfoInternally();

            return(UserMapper.FromApiAvatarInfo(apiAvatarInfo));
        }