public void LoadTargetObject(IStory story, bool AutoDelete = false) { NodeList.ForEach(v => { var o = story.GetEntityByID(v.TargetObjectID); if (o == null) { v.TargetObjectID = Guid.Empty; } }); if (AutoDelete) { NodeList.RemoveAll(v => v.TargetObjectID == Guid.Empty); } ConnectionList.ForEach(v => { var o = story.RelationList.FirstOrDefault(r => r.ObjectID == v.TargetObjectID); if (o == null) { v.TargetObjectID = Guid.Empty; } }); if (AutoDelete) { ConnectionList.RemoveAll(v => v.TargetObjectID == Guid.Empty); } }
public bool?IsValid(IStory story, DateTime time) { var entity = story.GetEntityByID(TargetObjectID); if (entity != null) { var timeentity = entity as ITimeSensitive; if (timeentity != null) { if (time >= timeentity.BeginTime && time <= timeentity.EndTime) { return(true); } else { return(false); } } else { return(true); } } return(null); }