public List <FateEntity> GetFate(IStory story) { List <FateEntity> rl = new List <FateEntity>(); var l = story.GetFate(this); //if(filterType== FilterType.Type) //{ // l = l.Where(v => v.Item1.GetType().Name == filter).ToList(); //} //if(filterType== FilterType.Name) //{ // l = l.Where(v => v.Item1.Name == filter).ToList(); //} l.ForEach(v => { var fateEntity = new FateEntity() { Name = v.Item1.Name, FateEntityType = GetEntityType(v.Item1), Description = v.Item2.Memo, BeginTime = CommonProc.GetMaxTime(v.Item2.BeginTime, v.Item1.BeginTime), EndTime = CommonProc.GetMinTime(v.Item2.EndTime, v.Item1.EndTime), RelationType = v.Item2.RelationType, RelationDescription = v.Item2.Memo }; //fateEntity.KeywordList.AddRange(v.Item1.KeyWordList); rl.Add(fateEntity); }); return(rl); }
void RefreshTrack(List <ISubject> l, List <Tuple <IRelation, IStoryEntityObject, IStoryEntityObject> > fl) { TrackList.Clear(); foreach (var s in l) { var t = new Track() { Name = s.Name }; var sl = fl.Where(v => v.Item2.ObjectID == s.ObjectID || v.Item3.ObjectID == s.ObjectID); foreach (var r in sl) { var e = new FateEntity() { Name = s.Name, RelationDescription = r.Item1.Memo, BeginTime = r.Item1.BeginTime, EndTime = r.Item1.EndTime, RelationType = r.Item1.RelationType }; if (s.ObjectID == r.Item1.SourceID) { e.Description = "To " + r.Item3.Name; } if (s.ObjectID == r.Item1.TargetID) { e.Description = "From " + r.Item2.Name; } t.EntityList.Add(e); } TrackList.Add(t); } }
void DrawEntity(FateEntity entity, double y, double h) { var x1 = GetPosition(entity.BeginTime); var x2 = GetPosition(entity.EndTime); var b = new Border() { BorderThickness = new Windows.UI.Xaml.Thickness() { Left = 1, Right = 1, Top = 2, Bottom = 2 }, Background = new SolidColorBrush() { Color = Colors.LightGray, Opacity = 0.3 }, Height = h, Width = x2 - x1, VerticalAlignment = VerticalAlignment.Center }; Canvas.SetLeft(b, x1); Canvas.SetTop(b, y); TargetCanvas.Children.Add(b); }