public void RemoveItem(ConversationItem item) { Edges.RemoveAll(edge => edge.ToId == item.ID); if (Items.Contains(item)) { Items.Remove(item); } }
public List <ConversationItem> GetConnectedItems(ConversationItem item) { List <ConversationItem> result = new List <ConversationItem>(); foreach (var edge in Edges) { if (edge.FromId == item.ID) { result.Add(GetConversationItem(edge.ToId)); } } return(result); }
public ConversationItem GetFirstConnectedItem(ConversationItem item) { ConversationItem result = null; foreach (var edge in Edges) { if (edge.FromId == item.ID) { result = GetConversationItem(edge.ToId); break; } } return(result); }
public bool HasConnectedItem(ConversationItem item) { return(GetFirstConnectedItem(item) != null); }
public void InitByIds(Conversation conversation) { FromItem = conversation.GetConversationItem(FromId); ToItem = conversation.GetConversationItem(ToId); }
public Edge(ConversationItem from) { FromId = from.ID; FromItem = from; ToItem = null; }