예제 #1
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;
            }
        }
예제 #2
0
        protected override async void Execute(object parameter)
        {
            var currentMethod = System.Reflection.MethodBase.GetCurrentMethod();

            //Microsoft.AppCenter.Analytics.Analytics.TrackEvent($"{currentMethod.DeclaringType.Name}#{currentMethod.Name}");

            if (parameter is IVideoContentProvider provider)
            {
                string ownerName = null;
                if (string.IsNullOrEmpty(ownerName))
                {
                    if (provider.ProviderType == OwnerType.User)
                    {
                        var user = _nicoVideoOwnerRepository.Get(provider.ProviderId);
                        if (user?.ScreenName is not null)
                        {
                            ownerName = user.ScreenName;
                        }
                        else
                        {
                            ownerName = await UserProvider.GetUserNameAsync(provider.ProviderId);
                        }
                    }
                    else if (provider.ProviderType == OwnerType.Channel)
                    {
                        ownerName = await ChannelProvider.GetChannelNameWithCacheAsync(provider.ProviderId);
                    }
                }

                NgSettings.AddHiddenVideoOwnerId(provider.ProviderId.ToString(), ownerName);
            }
        }
예제 #3
0
        public SubscriptionSourceEntity AddSubscription(IVideoContentProvider video)
        {
            var owner = _nicoVideoOwnerRepository.Get(video.ProviderId);

            if (owner == null)
            {
                throw new Models.Infrastructure.HohoemaExpception("cannot resolve name for video provider from local DB.");
            }

            if (video.ProviderType == OwnerType.Channel)
            {
                return(AddSubscription_Internal(new SubscriptionSourceEntity()
                {
                    Label = owner.ScreenName, SourceParameter = video.ProviderId, SourceType = SubscriptionSourceType.Channel
                }));
            }
            else if (video.ProviderType == OwnerType.User)
            {
                return(AddSubscription_Internal(new SubscriptionSourceEntity()
                {
                    Label = owner.ScreenName, SourceParameter = video.ProviderId, SourceType = SubscriptionSourceType.User
                }));
            }
            else
            {
                throw new NotSupportedException(video.ProviderType.ToString());
            }
        }
        protected override void Execute(object parameter)
        {
            var userId     = parameter as string;
            var screenName = _nicoVideoOwnerRepository.Get(userId)?.ScreenName;

            _commentFiltering.AddFilteringCommentOwnerId(userId, screenName);
        }