public NewSubscriberEvent(ListItem item, string user)
     : base(item)
 {
     User = user;
     Type = EventType.NewSubscriber;
 }
 public NewListItemEvent(ListItem item)
 {
     Type = EventType.NewListItem;
     Item = item;
 }
 public DuplicateListItemEvent(ListItem item)
 {
     Type = EventType.DuplicateListItem;
     Item = item;
 }
        internal static ListItem CreateFromStatus(string message)
        {
            ListItem item = new ListItem();
            item.User = "";
            item.UserVisibility = Visibility.Collapsed;
            item.UserColor = Brushes.Black;
            item.UserWeight = FontWeights.Normal;

            item.Message = message;
            item.MessageVisibility = Visibility.Visible;
            item.MessageColor = Brushes.Green;
            item.MessageWeight = FontWeights.Normal;

            item.SubscriberIcon = Visibility.Collapsed;
            item.Type = ListItemType.Status;
            return item;
        }
        internal static ListItem CreateFromQuestion(ChannelData info, string user, string text)
        {
            ListItem item = new ListItem();
            item.User = user + ":";
            item.UserVisibility = Visibility.Visible;
            item.UserColor = info.IsModerator(user) ? Brushes.Red : Brushes.Blue;
            item.UserWeight = FontWeights.Normal;

            item.Message = text;
            item.MessageVisibility = Visibility.Visible;
            item.MessageColor = Brushes.Black;
            item.MessageWeight = FontWeights.Normal;

            item.SubscriberIcon = info.IsSubscriber(user) ? Visibility.Visible : Visibility.Collapsed;
            item.Type = ListItemType.Question;

            return item;
        }
        internal static ListItem CreateFromNewSub(string user)
        {
            ListItem item = new ListItem();
            item.User = "";
            item.UserVisibility = Visibility.Collapsed;
            item.UserColor = Brushes.Black;
            item.UserWeight = FontWeights.Normal;

            item.Message = user + " has subscribed!";
            item.MessageVisibility = Visibility.Visible;
            item.MessageColor = Brushes.Red;
            item.MessageWeight = FontWeights.Bold;

            item.SubscriberIcon = Visibility.Collapsed;
            item.Type = ListItemType.Subscriber;

            return item;
        }