public EmotionMessageMetadata(INicoEmotion item, ICommentOptions options, INicoSiteOptions siteOptions, IUser user, ICommentProvider cp)
     : base(options, siteOptions)
 {
     _item           = item;
     User            = user;
     CommentProvider = cp;
 }
Exemplo n.º 2
0
 public AuthorsController(IAuthorDataWriter dataWriter, IAuthorProvider provider, ICommentDataWriter commentDataWriter, ICommentProvider commentProvider)
 {
     _dataWriter        = dataWriter;
     _provider          = provider;
     _commentDataWriter = commentDataWriter;
     _commentProvider   = commentProvider;
 }
Exemplo n.º 3
0
        public TwitchCommentViewModel(ICommentOptions options, ITwitchSiteOptions siteOptions,
                                      ICommentData commentData, bool isFirstComment, ICommentProvider commentProvider, IUser user)
            : base(options, user, commentProvider, isFirstComment)
        {
            MessageType  = MessageType.Comment;
            _siteOptions = siteOptions;
            Id           = commentData.Id;
            UserId       = commentData.UserId;
            DisplayName  = commentData.DisplayName;
            PostTime     = commentData.SentAt.ToString("HH:mm:ss");

            var name = commentData.Username;

            user.Name = new List <IMessagePart> {
                MessagePartFactory.CreateMessageText(name)
            };
            var message = commentData.Message;

            if (siteOptions.NeedAutoSubNickname)
            {
                var nick = ExtractNickname(message);
                if (!string.IsNullOrEmpty(nick))
                {
                    user.Nickname = nick;
                }
            }
            NameItemsInternal = new List <IMessagePart> {
                MessagePartFactory.CreateMessageText(name)
            };
            MessageItems = Tools.GetMessageItems(commentData.Message, commentData.Emotes);

            Init();
        }
Exemplo n.º 4
0
 public DeleteController(IPostProvider postProvider, ICategoryProvider categoryProvider, ITagProvider tagProvider,
                         ICommentProvider commentProvider)
 {
     _postProvider     = postProvider;
     _categoryProvider = categoryProvider;
     _tagProvider      = tagProvider;
     _commentProvider  = commentProvider;
 }
Exemplo n.º 5
0
 public PostController(
     IMapper mapper,
     IPostProvider postProvider,
     ICommentProvider commentProvider)
 {
     _mapper          = mapper;
     _postProvider    = postProvider;
     _commentProvider = commentProvider;
 }
Exemplo n.º 6
0
 public BooksController(IBookDataWriter dataWriter, IBookProvider provider, ICommentDataWriter commentDataWriter, ICommentProvider commentProvider, IRateDataWriter rateDataWriter, IRateProvider rateProvider)
 {
     _dataWriter        = dataWriter;
     _provider          = provider;
     _commentDataWriter = commentDataWriter;
     _commentProvider   = commentProvider;
     _rateDataWriter    = rateDataWriter;
     _rateProvider      = rateProvider;
 }
Exemplo n.º 7
0
        public CommentMessageMetadata(IMirrativComment comment, ICommentOptions options, IMirrativSiteOptions siteOptions, IUser user, ICommentProvider cp, bool isFirstComment)
            : base(options, siteOptions)
        {
            User            = user;
            CommentProvider = cp;
            _isFirstComment = isFirstComment;

            user.PropertyChanged += User_PropertyChanged;
        }
Exemplo n.º 8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="message"></param>
        /// <param name="options"></param>
        /// <param name="siteOptions"></param>
        /// <param name="user">null可</param>
        /// <param name="cp"></param>
        /// <param name="isFirstComment"></param>
        public MessageMetadataBase(ICommentOptions options, IWhowatchSiteOptions siteOptions, ICommentProvider cp)
        {
            _options        = options;
            _siteOptions    = siteOptions;
            CommentProvider = cp;

            options.PropertyChanged     += Options_PropertyChanged;
            siteOptions.PropertyChanged += SiteOptions_PropertyChanged;
        }
Exemplo n.º 9
0
 protected virtual EachConnection CreateConnection(ILogger logger, CookieContainer cc, ICommentOptions options, IYouTubeLibeServer server,
                                                   YouTubeLiveSiteOptions siteOptions, Dictionary <string, int> userCommentCountDict, SynchronizedCollection <string> receivedCommentIds,
                                                   ICommentProvider cp, IUserStoreManager userStoreManager, Guid siteContextGuid)
 {
     return(new EachConnection(logger, cc, options, server, siteOptions, userCommentCountDict, receivedCommentIds, cp, userStoreManager)
     {
         SiteContextGuid = siteContextGuid,
     });
 }
Exemplo n.º 10
0
        public ItemMessageMetadata(IMirrativItem item, ICommentOptions options, IMirrativSiteOptions siteOptions, IUser user, ICommentProvider cp)
            : base(options, siteOptions)
        {
            _item           = item;
            User            = user;
            CommentProvider = cp;

            user.PropertyChanged += User_PropertyChanged;
        }
        public YouTubeLiveMessageMetadata(IYouTubeLiveMessage message, ICommentOptions options, IYouTubeLiveSiteOptions siteOptions, IUser user, ICommentProvider cp, bool isFirstComment)
        {
            _options        = options;
            _siteOptions    = siteOptions;
            User            = user;
            CommentProvider = cp;
            _isFirstComment = isFirstComment;

            options.PropertyChanged += Options_PropertyChanged;
        }
Exemplo n.º 12
0
 public MessageProvider(IDataServer server, ITwicasSiteOptions siteOptions, CookieContainer cc, IUserStoreManager userStoreManager, ICommentOptions options, ICommentProvider cp, ILogger logger)
 {
     _server           = server;
     _siteOptions      = siteOptions;
     _cc               = cc;
     _userStoreManager = userStoreManager;
     _options          = options;
     _cp               = cp;
     _logger           = logger;
 }
 public MessageMetadata(IMixchMessage message, ICommentOptions options, IMixchSiteOptions siteOptions, IUser user, ICommentProvider cp, bool isFirstComment)
 {
     _message                 = message;
     _options                 = options;
     _siteOptions             = siteOptions;
     IsFirstComment           = isFirstComment;
     User                     = user;
     CommentProvider          = cp;
     options.PropertyChanged += Options_PropertyChanged;
     user.PropertyChanged    += User_PropertyChanged;
 }
        public CommentMessageMetadata(INicoComment comment, ICommentOptions options, INicoSiteOptions siteOptions, IUser user, ICommentProvider cp, bool isFirstComment)
            : base(options, siteOptions)
        {
            Debug.Assert(user != null);
            User            = user;
            CommentProvider = cp;
            _comment        = comment;
            _isFirstComment = isFirstComment;

            user.PropertyChanged += User_PropertyChanged;
        }
Exemplo n.º 15
0
 public EditController(IPostProvider postProvider, ICategoryProvider categoryProvider, ITagProvider tagProvider,
                       ICommentProvider commentProvider, TagAdminMapper tagMapper, CategoryAdminMapper categoryMapper,
                       PostAdminMapper postMapper)
 {
     _postProvider     = postProvider;
     _categoryProvider = categoryProvider;
     _tagProvider      = tagProvider;
     _commentProvider  = commentProvider;
     _tagMapper        = tagMapper;
     _categoryMapper   = categoryMapper;
     _postMapper       = postMapper;
 }
        private Mock <EachConnection> CreateConnection(ILogger logger, CookieContainer cc, ICommentOptions options, IYouTubeLibeServer server,
                                                       YouTubeLiveSiteOptions siteOptions, Dictionary <string, int> userCommentCountDict, SynchronizedCollection <string> receivedCommentIds,
                                                       ICommentProvider cp, IUserStoreManager userStoreManager, Guid siteContextGuid)
        {
            var cpMock = new Mock <EachConnection>(logger, cc, options, server, siteOptions, userCommentCountDict, receivedCommentIds, cp, userStoreManager)
            {
                CallBase = true
            };

            cpMock.Object.SiteContextGuid = siteContextGuid;
            return(cpMock);
        }
        private void ShowUserInfo()
        {
            var current = SelectedComment;

            try
            {
                Debug.Assert(current != null);

                var userId = current.UserId;
                if (string.IsNullOrEmpty(userId))
                {
                    Debug.WriteLine("UserIdがnull");
                    return;
                }
                var view = new CollectionViewSource {
                    Source = _comments
                }.View;
                view.Filter = obj =>
                {
                    if (!(obj is YouTubeLiveCommentViewModel cvm))
                    {
                        return(false);
                    }
                    return(cvm.UserId == userId);
                };
                //ICommentProviderが必要。。。ConnectionViewModel経由で取れないだろうか。
                //Connectionを切断したり、サイトを変更してもコメントは残る。残ったコメントのユーザ情報を見ようとした時にConnectionViewModel経由で取るのは無理だろう。
                //やっぱりCommentViewModelにICommentProviderを持たせるしかなさそう。
                ICommentProvider commentProvider = current.CommentProvider;
                //var s = commentProvider.GetUserComments(current.User) as ObservableCollection<ICommentViewModel>;
                //var collection = new ObservableCollection<McvCommentViewModel>(s.Select(m => new McvCommentViewModel(m, current.ConnectionName));

                //s.CollectionChanged += (sender, e) =>
                //{
                //    switch (e.Action)
                //    {
                //        case System.Collections.Specialized.NotifyCollectionChangedAction.Add:
                //            break;
                //    }
                //};
                var user = current.User;
                var uvm  = new UserViewModel(user, _options, view);
                MessengerInstance.Send(new ShowUserViewMessage(uvm));
            }

            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                _logger.LogException(ex);
            }
        }
Exemplo n.º 18
0
        public MessageMetadata(ILineLiveMessage message, ICommentOptions options, ILineLiveSiteOptions siteOptions, IUser user, ICommentProvider cp, bool isFirstComment)
        {
            _message        = message;
            _options        = options;
            _siteOptions    = siteOptions;
            IsFirstComment  = isFirstComment;
            User            = user;
            CommentProvider = cp;
            //TODO:siteOptionsのpropertyChangedが発生したら関係するプロパティの変更通知を出したい

            options.PropertyChanged     += Options_PropertyChanged;
            siteOptions.PropertyChanged += SiteOptions_PropertyChanged;
            user.PropertyChanged        += User_PropertyChanged;
        }
Exemplo n.º 19
0
        public void SetUp()
        {
            _comments = new List <Domain.Comment>();
            var mockCommentRepository = MockHelper.GetMockRepository(_comments);

            var mockShopUnitOfWork = new Mock <IShopDbContext>();

            mockShopUnitOfWork.Setup(x => x.CommentRepository).Returns(mockCommentRepository.Object);

            var mapperConfig = new MapperConfiguration(cfg => cfg.AddProfile(new MappingProfile()));
            var mapper       = new Mapper(mapperConfig);

            _commentProvider = new CommentProvider(mockShopUnitOfWork.Object, mapper);
        }
Exemplo n.º 20
0
 public EachConnection(ILogger logger, CookieContainer cc, ICommentOptions options, IYouTubeLibeServer server,
                       YouTubeLiveSiteOptions siteOptions, Dictionary <string, int> userCommentCountDict, SynchronizedCollection <string> receivedCommentIds,
                       ICommentProvider cp, IUserStoreManager userStoreManager)
 {
     _logger               = logger;
     _cc                   = cc;
     _options              = options;
     _server               = server;
     _siteOptions          = siteOptions;
     _userCommentCountDict = userCommentCountDict;
     _receivedCommentIds   = receivedCommentIds;
     _cp                   = cp;
     _userStoreManager     = userStoreManager;
 }
Exemplo n.º 21
0
 public RecentsController(ICategoryProvider categoryProvider, ICommentProvider commentProvider,
                          IPostProvider postProvider, ITagProvider tagProvider, TagMapper tagMapper,
                          CommentMapper commentMapper, CategoryMapper categoryMapper,
                          PostMapper postMapper, RecentContentMapper recentContentMapper)
 {
     _categoryProvider    = categoryProvider;
     _commentProvider     = commentProvider;
     _postProvider        = postProvider;
     _tagProvider         = tagProvider;
     _postMapper          = postMapper;
     _categoryMapper      = categoryMapper;
     _commentMapper       = commentMapper;
     _tagMapper           = tagMapper;
     _recentContentMapper = recentContentMapper;
 }
        public BigoMessageMetadata(IBigoMessage message, ICommentOptions options, IBigoSiteOptions siteOptions, IUser user, ICommentProvider cp, bool isFirstComment)
        {
            _message        = message;
            _options        = options;
            _siteOptions    = siteOptions;
            User            = user;
            CommentProvider = cp;
            IsFirstComment  = isFirstComment;

            options.PropertyChanged += Options_PropertyChanged;
            if (user != null)
            {
                user.PropertyChanged += User_PropertyChanged;
            }
        }
Exemplo n.º 23
0
        public MessageMetadata(IShowRoomMessage message, ICommentOptions options, IShowRoomSiteOptions siteOptions, IUser user, ICommentProvider cp, bool isFirstComment)
        {
            Debug.Assert(user != null);
            _message        = message;
            _options        = options;
            _siteOptions    = siteOptions;
            IsFirstComment  = isFirstComment;
            User            = user;
            CommentProvider = cp;

            //TODO:siteOptionsのpropertyChangedが発生したら関係するプロパティの変更通知を出したい

            options.PropertyChanged     += Options_PropertyChanged;
            siteOptions.PropertyChanged += SiteOptions_PropertyChanged;
            user.PropertyChanged        += User_PropertyChanged;
        }
Exemplo n.º 24
0
        public System.Windows.Controls.UserControl GetCommentPostPanel(ICommentProvider commentProvider)
        {
            var testCommentProvider = commentProvider as TestCommentProvider;

            Debug.Assert(testCommentProvider != null);
            if (testCommentProvider == null)
            {
                return(null);
            }

            var vm    = new CommentPostPanelViewModel(testCommentProvider);
            var panel = new CommentPostPanel
            {
                DataContext = vm
            };

            return(panel);
        }
Exemplo n.º 25
0
        public override UserControl GetCommentPostPanel(ICommentProvider commentProvider)
        {
            var lCommentProvider = commentProvider as CommentProvider;

            Debug.Assert(lCommentProvider != null);
            if (lCommentProvider == null)
            {
                return(null);
            }

            var vm    = new CommentPostPanelViewModel(lCommentProvider, _logger);
            var panel = new CommentPostPanel
            {
                DataContext = vm
            };

            return(panel);
        }
Exemplo n.º 26
0
        public override System.Windows.Controls.UserControl GetCommentPostPanel(ICommentProvider commentProvider)
        {
            var cp = commentProvider as WhowatchCommentProvider;

            Debug.Assert(cp != null);
            if (cp == null)
            {
                return(null);
            }

            var vm    = new CommentPostPanelViewModel(cp, _logger);
            var panel = new CommentPostPanel
            {
                //IsEnabled = false,
                DataContext = vm
            };

            return(panel);
        }
Exemplo n.º 27
0
        public override UserControl GetCommentPostPanel(ICommentProvider commentProvider)
        {
            var nicoCommentProvider = commentProvider as INicoCommentProvider;

            Debug.Assert(nicoCommentProvider != null);
            if (nicoCommentProvider == null)
            {
                return(null);
            }

            var vm    = new CommentPostPanelViewModel(nicoCommentProvider, _logger);
            var panel = new CommentPostPanel
            {
                //IsEnabled = false,
                DataContext = vm
            };

            return(panel);
        }
Exemplo n.º 28
0
        public CommentViewModelBase(ICommentOptions options, IUser user, ICommentProvider commentProvider, bool isFirstComment)
        {
            _options = options;
            _options.PropertyChanged += Options_PropertyChanged;
            User = user;
            user.PropertyChanged += (s, e) =>
            {
                switch (e.PropertyName)
                {
                case nameof(user.IsNgUser):
                    SetVisibility();
                    break;

                case nameof(user.BackColorArgb):
                    RaisePropertyChanged(nameof(Background));
                    break;

                case nameof(user.ForeColorArgb):
                    RaisePropertyChanged(nameof(Foreground));
                    break;

                case nameof(user.Nickname):
                    NicknameChanged();
                    RaisePropertyChanged(nameof(NameItems));
                    RaisePropertyChanged(nameof(HasNickname));
                    break;
                }
            };
            IsFirstComment  = isFirstComment;
            CommentProvider = commentProvider;

            OpenUrlCommand      = new RelayCommand(OpenUrl);
            CommentCopyCommand  = new RelayCommand(CopyComment);
            UsernameCopyCommand = new RelayCommand(CopyUsername);
            NicknameCopyCommand = new RelayCommand(CopyNickname);
        }
 public MildomRawMessagePostPanelViewModel(ICommentProvider cp)
 {
     _cp         = cp;
     PostCommand = new RelayCommand(Post);
 }
Exemplo n.º 30
0
 public override UserControl GetCommentPostPanel(ICommentProvider commentProvider)
 {
     return(null);
 }
Exemplo n.º 31
0
 public Journal comments(ICommentProvider provider)
 {
     Comments_ = provider;
     return this;
 }