public RecordRemoved ( IDataRecord record ) : void | ||
record | IDataRecord | |
return | void |
public void RecordRemoved(IDataRecord record)
{
if (record == GraphData)
{
return;
}
List<GraphItemViewModel> removeList = new List<GraphItemViewModel>();
var filterItem = record as FilterItem;
if (filterItem != null)
{
var node = filterItem.Node;
if (node != null)
{
foreach (var item in GraphItems)
{
if (item.DataObject == node)
{
removeList.Add(item);
removeList.AddRange(item.Connectors.OfType<GraphItemViewModel>());
}
}
}
if (FilterItems.ContainsKey(filterItem.NodeId))
{
FilterItems.Remove(filterItem.NodeId);
}
}
else
{
for (int index = 0; index < GraphItems.Count; index++)
{
var item = GraphItems[index];
if (item.DataObject == record)
{
removeList.Add(item);
removeList.AddRange(item.Connectors.OfType<GraphItemViewModel>());
}
item.RecordRemoved(record);
}
}
foreach (var remove in removeList)
GraphItems.Remove(remove);
if (removeList.Count > 0)
RefreshConnectors();
}
public void RecordRemoved(IDataRecord record) { if (DiagramDrawer == null || DiagramDrawer.DiagramViewModel == null || DiagramDrawer.DiagramViewModel.IsLoading) { return; } if (record is FilterStackItem || record is WorkspaceGraph) { refresh = true; } DiagramViewModel.RecordRemoved(record); //if (record is IDiagramNode) //{ // refresh = true; //} //else //{ // RefreshByData(record); //} }