Пример #1
0
 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);
     }
 }
Пример #2
0
        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);
        }