Beispiel #1
0
        public async Task <NicoVideoOwner> GetUserInfoAsync(UserId userId)
        {
            var userRes = await _niconicoSession.ToolkitContext.User.GetUserInfoAsync(userId);

            var owner = _nicoVideoOwnerRepository.Get(userId);

            if (userRes.IsOK)
            {
                var user = userRes.User;
                if (owner == null)
                {
                    owner = new NicoVideoOwner()
                    {
                        OwnerId  = userId,
                        UserType = OwnerType.User
                    };
                }
                owner.ScreenName = user.Nickname;
                owner.IconUrl    = user.ThumbnailUrl.OriginalString;

                _nicoVideoOwnerRepository.UpdateItem(owner);
            }

            return(owner);
        }
Beispiel #2
0
        public async Task <UserDetailResponse> GetUserDetailAsync(UserId userId)
        {
            var detail = await _niconicoSession.ToolkitContext.User.GetUserDetailAsync(userId);

            var owner = _nicoVideoOwnerRepository.Get(userId);

            if (detail.IsSuccess)
            {
                if (owner == null)
                {
                    owner = new NicoVideoOwner()
                    {
                        OwnerId  = userId,
                        UserType = OwnerType.User
                    };
                }
                var ownerData = detail.Data;
                owner.ScreenName = ownerData.User.Nickname;
                owner.IconUrl    = ownerData.User.Icons.Small.OriginalString;


                _nicoVideoOwnerRepository.UpdateItem(owner);
            }

            return(detail);
        }
Beispiel #3
0
        public override async Task OnNavigatedToAsync(INavigationParameters parameters)
        {
            if (parameters.TryGetValue("id", out string seriesId))
            {
                _seriesDetails = await _seriesProvider.GetSeriesVideosAsync(seriesId);

                Series = new UserSeriesItemViewModel(_seriesDetails);
                User   = new NicoVideoOwner()
                {
                    OwnerId    = _seriesDetails.Owner.Id,
                    UserType   = _seriesDetails.Owner.OwnerType,
                    ScreenName = _seriesDetails.Owner.Nickname,
                    IconUrl    = _seriesDetails.Owner.IconUrl,
                };

                SeriesVideoPlaylist = new SeriesVideoPlaylist(new PlaylistId()
                {
                    Id = seriesId, Origin = PlaylistItemsSourceOrigin.Series
                }, _seriesDetails);
                SelectedSortOption = SeriesVideoPlaylist.DefaultSortOption;

                this.ObserveProperty(x => x.SelectedSortOption).Subscribe(_ =>
                {
                    ResetList();
                })
                .AddTo(_navigationDisposables);
            }

            await base.OnNavigatedToAsync(parameters);
        }
Beispiel #4
0
        public async Task <string> GetUserNameAsync(UserId userId)
        {
            try
            {
                var userName = await _niconicoSession.ToolkitContext.User.GetUserNicknameAsync(userId);

                if (userName != null)
                {
                    var owner = _nicoVideoOwnerRepository.Get(userId);
                    if (owner == null)
                    {
                        owner = new NicoVideoOwner()
                        {
                            OwnerId  = userId,
                            UserType = OwnerType.User
                        };
                    }
                    owner.ScreenName = userName.Nickname;
                    _nicoVideoOwnerRepository.UpdateItem(owner);
                }

                return(userName.Nickname);
            }
            catch
            {
                throw;
            }
        }
Beispiel #5
0
        public async Task <UserDetail> GetUserDetail(string userId)
        {
            var detail = await ContextActionWithPageAccessWaitAsync(async context =>
            {
                return(await context.User.GetUserDetail(userId));
            });

            var owner = NicoVideoOwnerDb.Get(userId);

            if (detail != null)
            {
                if (owner == null)
                {
                    owner = new NicoVideoOwner()
                    {
                        OwnerId  = userId,
                        UserType = UserType.User
                    };
                }
                owner.ScreenName = detail.Nickname;
                owner.IconUrl    = detail.ThumbnailUri;


                NicoVideoOwnerDb.AddOrUpdate(owner);
            }

            return(detail);
        }
Beispiel #6
0
        public async Task <NicoVideoOwner> GetUser(string userId)
        {
            var userRes = await ContextActionWithPageAccessWaitAsync(async context =>
            {
                return(await context.User.GetUserAsync(userId));
            });

            var owner = NicoVideoOwnerDb.Get(userId);

            if (userRes.Status == "ok")
            {
                var user = userRes.User;
                if (owner == null)
                {
                    owner = new NicoVideoOwner()
                    {
                        OwnerId  = userId,
                        UserType = UserType.User
                    };
                }
                owner.ScreenName = user.Nickname;
                owner.IconUrl    = user.ThumbnailUrl;

                NicoVideoOwnerDb.AddOrUpdate(owner);
            }

            return(owner);
        }
Beispiel #7
0
        public async Task <NicoVideoOwner> GetUser(string userId)
        {
            using (var releaser = await _NicoPageAccessLock.LockAsync())
            {
                var userRes = await ConnectionRetryUtil.TaskWithRetry(() =>
                {
                    return(Context.User.GetUserAsync(userId));
                });

                var owner = NicoVideoOwnerDb.Get(userId);
                if (userRes.Status == "ok")
                {
                    var user = userRes.User;
                    if (owner == null)
                    {
                        owner = new NicoVideoOwner()
                        {
                            OwnerId  = userId,
                            UserType = UserType.User
                        };
                    }
                    owner.ScreenName = user.Nickname;
                    owner.IconUrl    = user.ThumbnailUrl;

                    NicoVideoOwnerDb.AddOrUpdate(owner);
                }

                return(owner);
            }
        }
Beispiel #8
0
        public async Task <UserDetail> GetUserDetail(string userId)
        {
            var userDetail = await ConnectionRetryUtil.TaskWithRetry(() =>
            {
                return(Context.User.GetUserDetail(userId));
            });

            if (userDetail != null)
            {
                var owner = NicoVideoOwnerDb.Get(userId);
                if (owner == null)
                {
                    owner = new NicoVideoOwner()
                    {
                        OwnerId  = userId,
                        UserType = UserType.User
                    };
                }
                owner.ScreenName = userDetail.Nickname;
                owner.IconUrl    = userDetail.ThumbnailUri;

                NicoVideoOwnerDb.AddOrUpdate(owner);
            }

            return(userDetail);
        }
Beispiel #9
0
 public SeriesOwnerViewModel(NicoVideoOwner userDetail)
 {
     _userDetail = userDetail;
 }