void RefreshRelationTypeList()
 {
     if (EntityIsActor(CurrentSourceEntity))
     {
         if (EntityIsActor(CurrentTargetEntity))
         {
             ShowRelationTypeList.Clear();
             ShowRelationTypeList.Add(RelationBaseType.Kin);
             ShowRelationTypeList.Add(RelationBaseType.Mate);
             ShowRelationTypeList.Add(RelationBaseType.Friend);
             ShowRelationTypeList.Add(RelationBaseType.Others);
         }
         if (EntityIsEvent(CurrentTargetEntity))
         {
             ShowRelationTypeList.Clear();
             ShowRelationTypeList.Add(RelationBaseType.Attend);
             ShowRelationTypeList.Add(RelationBaseType.Others);
         }
         if (EntityIsTask(CurrentTargetEntity))
         {
             ShowRelationTypeList.Clear();
             ShowRelationTypeList.Add(RelationBaseType.Participate);
             ShowRelationTypeList.Add(RelationBaseType.Responsive);
             ShowRelationTypeList.Add(RelationBaseType.Others);
         }
         if (EntityIsLocation(CurrentTargetEntity))
         {
             ShowRelationTypeList.Clear();
             ShowRelationTypeList.Add(RelationBaseType.Appear);
             ShowRelationTypeList.Add(RelationBaseType.Others);
         }
         if (EntityIsStuff(CurrentTargetEntity))
         {
             ShowRelationTypeList.Clear();
             ShowRelationTypeList.Add(RelationBaseType.Own);
             ShowRelationTypeList.Add(RelationBaseType.Others);
         }
         if (EntityIsGroup(CurrentTargetEntity))
         {
             ShowRelationTypeList.Clear();
             ShowRelationTypeList.Add(RelationBaseType.Office);
             ShowRelationTypeList.Add(RelationBaseType.Others);
         }
     }
     if (EntityIsStuff(CurrentSourceEntity))
     {
         if (EntityIsEvent(CurrentTargetEntity))
         {
             ShowRelationTypeList.Clear();
             ShowRelationTypeList.Add(RelationBaseType.Attend);
             ShowRelationTypeList.Add(RelationBaseType.Others);
         }
         if (EntityIsTask(CurrentTargetEntity))
         {
             ShowRelationTypeList.Clear();
             ShowRelationTypeList.Add(RelationBaseType.Participate);
             ShowRelationTypeList.Add(RelationBaseType.Others);
         }
         if (EntityIsLocation(CurrentTargetEntity))
         {
             ShowRelationTypeList.Clear();
             ShowRelationTypeList.Add(RelationBaseType.Appear);
             ShowRelationTypeList.Add(RelationBaseType.Others);
         }
     }
     if (EntityIsEvent(CurrentSourceEntity))
     {
         ShowRelationTypeList.Clear();
         ShowRelationTypeList.Add(RelationBaseType.Others);
     }
     if (EntityIsGroup(CurrentSourceEntity))
     {
         ShowRelationTypeList.Clear();
         ShowRelationTypeList.Add(RelationBaseType.Others);
     }
     if (EntityIsLocation(CurrentSourceEntity))
     {
         ShowRelationTypeList.Clear();
         ShowRelationTypeList.Add(RelationBaseType.Others);
     }
     if (EntityIsTask(CurrentSourceEntity))
     {
         ShowRelationTypeList.Clear();
         ShowRelationTypeList.Add(RelationBaseType.Others);
     }
 }
 public void Init()
 {
     foreach (var v in MainViewModel.mainViewModel.ActorList)
     {
         var e = new EntityShow()
         {
             Target = v.TargetObject, IconImage = v.IconImage
         };
         AllEntityList.Add(e);
         ShowSourceEntityList.Add(e);
         ShowTargetEntityList.Add(e);
     }
     foreach (var v in MainViewModel.mainViewModel.EventList)
     {
         var e = new EntityShow()
         {
             Target = v.TargetObject, IconImage = v.IconImage
         };
         AllEntityList.Add(e);
         ShowSourceEntityList.Add(e);
         ShowTargetEntityList.Add(e);
     }
     foreach (var v in MainViewModel.mainViewModel.GroupList)
     {
         var e = new EntityShow()
         {
             Target = v.TargetObject, IconImage = v.IconImage
         };
         AllEntityList.Add(e);
         ShowSourceEntityList.Add(e);
         ShowTargetEntityList.Add(e);
     }
     foreach (var v in MainViewModel.mainViewModel.LocationList)
     {
         var e = new EntityShow()
         {
             Target = v.TargetObject, IconImage = v.IconImage
         };
         AllEntityList.Add(e);
         ShowSourceEntityList.Add(e);
         ShowTargetEntityList.Add(e);
     }
     foreach (var v in MainViewModel.mainViewModel.StuffList)
     {
         var e = new EntityShow()
         {
             Target = v.TargetObject, IconImage = v.IconImage
         };
         AllEntityList.Add(e);
         ShowSourceEntityList.Add(e);
         ShowTargetEntityList.Add(e);
     }
     foreach (var v in MainViewModel.mainViewModel.TaskList)
     {
         var e = new EntityShow()
         {
             Target = v.TargetObject, IconImage = v.IconImage
         };
         AllEntityList.Add(e);
         ShowSourceEntityList.Add(e);
         ShowTargetEntityList.Add(e);
     }
     RelationTypeList.ForEach(v => ShowRelationTypeList.Add(v));
 }