示例#1
0
        public async Task <object> Post(UpdateStartupUser request)
        {
            var user = _userManager.Users.First();

            // TODO: This should be handled internally by xbmc metadata
            const string metadataKey = "xbmcmetadata";
            var          metadata    = _config.GetConfiguration <XbmcMetadataOptions>(metadataKey);

            metadata.UserId = user.Id.ToString("N");
            _config.SaveConfiguration(metadataKey, metadata);

            user.Name = request.Name;
            await _userManager.UpdateUser(user).ConfigureAwait(false);

            var result = new UpdateStartupUserResult();

            if (!string.IsNullOrWhiteSpace(user.ConnectUserName) &&
                string.IsNullOrWhiteSpace(request.ConnectUserName))
            {
                await _connectManager.RemoveConnect(user.Id.ToString("N")).ConfigureAwait(false);
            }
            else if (!string.Equals(user.ConnectUserName, request.ConnectUserName, StringComparison.OrdinalIgnoreCase))
            {
                result.UserLinkResult = await _connectManager.LinkUser(user.Id.ToString("N"), request.ConnectUserName).ConfigureAwait(false);
            }

            return(result);
        }
示例#2
0
        public async Task <object> Post(UpdateStartupUser request)
        {
            var user = _userManager.Users.First();

            user.Name = request.Name;
            _userManager.UpdateUser(user);

            var result = new UpdateStartupUserResult();

            if (!string.IsNullOrWhiteSpace(user.ConnectUserName) &&
                string.IsNullOrWhiteSpace(request.ConnectUserName))
            {
                await _connectManager.RemoveConnect(user.Id.ToString("N")).ConfigureAwait(false);
            }
            else if (!string.Equals(user.ConnectUserName, request.ConnectUserName, StringComparison.OrdinalIgnoreCase))
            {
                result.UserLinkResult = await _connectManager.LinkUser(user.Id.ToString("N"), request.ConnectUserName).ConfigureAwait(false);
            }

            return(result);
        }
示例#3
0
 public object Post(CreateConnectLink request)
 {
     return(_connectManager.LinkUser(request.Id, request.ConnectUsername));
 }