/// <summary> /// Gets the timeline entry model from an idividual timeline enrty. /// </summary> /// <param name="entry">The entry.</param> /// <returns></returns> private TimelineEntryModel GetTimelineEntryModel(ITimeLine entry) { TimelineEntryModel timelineEntryModel = new TimelineEntryModel(entry); timelineEntryModel.User = repository.GetUser(entry.UserId); // Get the meme referenced by the time line entry timelineEntryModel.Meme = new MemeLiteModel(repository, repository.GetMeme(entry.TimeLineRefId)); // Resolve the comment if (entry.EntryType == TimeLineEntry.Comment || entry.EntryType == TimeLineEntry.LikeComment || entry.EntryType == TimeLineEntry.DislikeComment) { IUserComment userComment = repository.GetUserComment(entry.TimeLineRefAlternateId); userComment.Comment = WebUtility.HtmlEncode(userComment.Comment); IUser user = userComment.UserId != null?repository.GetUser(userComment.UserId) : new Domain.User(); timelineEntryModel.UserComment = new TimeLineUserCommentModel(userComment, user); } // Resolve the alternative ref id (always a meme) if (entry.EntryType == TimeLineEntry.Reply) { timelineEntryModel.AlternateMeme = new MemeLiteModel(repository, repository.GetMeme(entry.TimeLineRefAlternateId)); } return(timelineEntryModel); }
/// <summary> /// 指定したタイムラインをコントロールに追加します。 /// </summary> /// <param name="timeline">追加するタイムライン。</param> private async Task AddTimeLine(ITimeLine timeline) { // 既に存在するタイムラインなら終了 if (timelines.Find(x => x.TimeLineName == timeline.TimeLineName) != null) { return; } Utilities.BeginUpdate(this); // 枠の大きさを調整 if (timelines.Count > 0) { tableLayoutPanel.ColumnCount++; tableLayoutPanel.ColumnStyles.Add(new ColumnStyle()); for (int i = 0; i < tableLayoutPanel.ColumnCount; i++) { tableLayoutPanel.ColumnStyles[i] = new ColumnStyle(SizeType.Percent, 100f / tableLayoutPanel.ColumnCount); } } // タイムラインの追加 var tlf = new TimeLineFrame(this, timeline); await tlf.StartStreaming(); timelines.Add(tlf); tlf.Size = Size; tlf.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom; tableLayoutPanel.Controls.Add(tlf, timelines.Count - 1, 0); Utilities.EndUpdate(this); }
/// <summary> /// コンストラクタです。 /// </summary> /// <param name="owner">タイムラインが描画されている親フォーム。</param> /// <param name="timeline">このインスタンスに紐付けるタイムライン。</param> public TimeLineFrame(MainForm owner, ITimeLine timeline) { InitializeComponent(); this.owner = owner; panel.MouseWheel += Panel_MouseWheel; // タイムラインにこの枠を紐付ける this.timeline = timeline; timeline.Panel = panel; labelTimeLineName.Text = timeline.TimeLineName; // ストリーミングイベントの設定、ストリーミングの開始 if (timeline is TimeLineMastodon) { var tl = timeline as TimeLineMastodon; tl.SetOnUpdate((_, e) => { tl.AddStatus(new TwitdonMastodonStatus(e.Status)); }); } else if (timeline is TimeLineTwitter) { var tl = timeline as TimeLineTwitter; tl.OnGetStatusMessage.Subscribe(x => tl.AddStatus(new TwitdonTwitterStatus(x.Status))); } // タイマーイベントの追加 var timer = new Timer.Timer(); timer.Elapsed += new Timer.ElapsedEventHandler(Timer_Update); timer.Interval = 1000; timer.AutoReset = true; timer.Enabled = true; }
public TwitterClient(TwitterCredential credential) { this.Credential = credential; this.m_tlHome = new TlHome(this); this.m_tlAboutMe = new TlAboutMe(this); this.m_tlDm = new TlDirectMessage(this); }
public static T ConvertTo <T>(this ITimeLine timeLine) where T : ITimeLine, new() => new T { Id = timeLine.Id, Descricao = timeLine.Descricao, Hora = timeLine.Hora, Titulo = timeLine.Titulo };
public OperationMetric(string className, ITimeLine timeLine, string methodName = "Undefined Operation", string tag = "Operation", string moduleName = "Undefned") : base(className, timeLine, methodName, tag, moduleName) { }
public TimelineEntryModel(ITimeLine timeLineEntry) { this.TimelineId = timeLineEntry.Id; this.DateOfEntry = timeLineEntry.DateOfEntry; this.UserId = timeLineEntry.UserId; this.EntryType = timeLineEntry.EntryType; this.TimeLineRefId = timeLineEntry.TimeLineRefId; this.TimeLineRefAlternateId = timeLineEntry.TimeLineRefAlternateId; this.Message = timeLineEntry.Message; }
/// <summary> /// Add a time line entry /// </summary> /// <returns></returns> public ITimeLine Save(ITimeLine timeLine) { if (timeLine.EntryType == TimeLineEntry.All) { throw new Exception("All not a valid type for time line entry. Only when reading!"); } timeLine.Id = NewLongId(); timeLineCollection.Save(timeLine.ToBsonDocument()); return(timeLine); }
public OperationMetricCall(string moduleName, string className, string methodName, string tag, ITimeLine timeLine) : base(moduleName, className, methodName, tag, timeLine) { }
public BaseMetric(string className, ITimeLine timeLine, string methodName = "Undefined", string tag = "", string moduleName = "Undefned") { BoundedTimeLine = timeLine; BoundedTimeLine.BoundMetric(this); Tag = tag; MethodName = methodName; ClassName = className; ModuleName = moduleName; SessionIdentifier = TaskSessionMetadata.CurrentSession.SessionIdentifier; }
public BaseMetricCall(string moduleName, string className, string methodName, string tag, ITimeLine timeLine) { _moduleName = moduleName; _boundedTimeLine = timeLine; _className = className; _methodName = methodName; _timePoint = DateTime.Now; _tag = tag; _metricResultStatus = (int)MetricResultStatus.Started; _callId = Guid.NewGuid(); //Collect Start Data _boundedTimeLine.CollectMetricResult(GetResult((int)MetricResultStatus.Started, _callId)); }
public void AggregatedTimeLine_ReturnsAggregatedTimeLine(ITimeLine timeline) { var user = new User ( "James", timeline, Mock.Of <IDictionary <string, ITimeLine> >() ); var result = user.AggregatedTimeLine ( new DateTimeOffset(2018, 11, 16, 16, 30, 0, TimeSpan.Zero), new TimeSpanDisplayFormatter() ); Assert.NotNull(result); Assert.Equal(98, result.Length); }
/// <summary> /// Create a TimeBar /// </summary> /// <param name="timeLine">TimeLine</param> public TimeBar(ITimeLine timeLine) { if (timeLine == null) { throw new System.ArgumentNullException("Invalid timeLine"); } this.TimeStyle = true; this._MouseButton = MouseButton.None; this._TimeLine = timeLine; this.WantsMouseEvents = true; this._StartTime = 0.0f; this._EndTime = 0.01f; this._IsChanged = true; this.SnapTime = 0; this.ShowTimePosition = true; this._SampleText = new GUIContent() { text = "00.000" }; this.ThumbWidth = 6.0f; this.ShowSelectionTime = true; this.ThumbColor = Resources.Colors.ThumbColor; this.SelectionTimeColor = new Color(1.0f, 0.1f, 0.0f, 0.3f); if (UnityEditor.EditorGUIUtility.isProSkin) { this.TimePositionBackColor = new Color(0.9f, 0.9f, 0.9f, 0.8f); } else { this.TimePositionBackColor = new Color(0.7f, 0.7f, 0.7f, 0.8f); } _ThickLinePoints = new List <Vector2>(); _ThinLinePoints = new List <Vector2>(); _ThickLineCount = 0; _ThinLineCount = 0; }
public static void Initialize() { _timeLine = new TimeLine.TimeLine(); _metricsResultRepository = new MetricsResultRepository(); }
public User(string name, ITimeLine timeline, IDictionary <string, ITimeLine> subscriptions) { Name = name; TimeLine = timeline; _subscriptions = subscriptions; }
/// <summary> /// Add the supplied time line activity to the time lien groups /// </summary> /// <param name="timelineGroupModel">timline group model updated</param> /// <param name="activityOnMeme"></param> /// <param name="maxCount"></param> private void AddActivitytoTimeLineGroups(ref TimelineGroupModel timelineGroupModel, ITimeLine activityOnMeme, int maxCount) { // Find a time line group has has activity on thie meme already TimelineGroup existingTimelineGroup = timelineGroupModel.TimelineGroups.FirstOrDefault(x => x.Meme.Id == activityOnMeme.TimeLineRefId); if (existingTimelineGroup != null) { // Don't add more than 10 if (existingTimelineGroup.TimelineEntries.Count < maxCount) { // Don't re-add an timeline entry that is already there if (existingTimelineGroup.TimelineEntries.Any(x => x.TimelineId == activityOnMeme.Id) == false) { existingTimelineGroup.TimelineEntries.Add(GetTimelineEntryModel(activityOnMeme)); } } else { // If more than 10 just flag as having more existingTimelineGroup.HasMore = true; } } else { var timeLineGroup = new TimelineGroup(); timeLineGroup.TimeStamp = activityOnMeme.DateOfEntry; timeLineGroup.Meme = new MemeLiteModel(repository, repository.GetMeme(activityOnMeme.TimeLineRefId)); timeLineGroup.TimelineEntries = new List <TimelineEntryModel> { GetTimelineEntryModel(activityOnMeme) }; timelineGroupModel.TimelineGroups.Add(timeLineGroup); } }
public MeteredClass(Type derivedClass) { _timeLine = FlashTuna.Core.Configuration.FlashTunaAnalyzer.CurrentTimeLine; _derivedClassName = derivedClass; }