private int GetPosition([NotNull] KanbanItem item) { int result = -1; if (_firstPalette.HasNode(item)) { result = 0; } else if (_secondPalette.HasNode(item)) { result = 1; } else if (_thirdPalette.HasNode(item)) { result = 2; } else if (_fourthPalette.HasNode(item)) { result = 3; } else if (_fifthPalette.HasNode(item)) { result = 4; } else if (_sixthPalette.HasNode(item)) { result = 5; } return(result); }
private void Remove([NotNull] KanbanItem item, [Positive] int index) { switch (index) { case 0: _firstPalette.RemoveNode(item); break; case 1: _secondPalette.RemoveNode(item); break; case 2: _thirdPalette.RemoveNode(item); break; case 3: _fourthPalette.RemoveNode(item); break; case 4: _fifthPalette.RemoveNode(item); break; case 5: _sixthPalette.RemoveNode(item); break; } }
private KanbanItem GetItem([NotNull] IMitigation mitigation, [Positive] int index) { KanbanItem result = null; var palette = GetPalette(index); if (palette != null) { result = palette.GetNode(mitigation); } return(result); }
protected void AddItem(IMitigation mitigation, WorkItemStatus status, string assignedTo) { var index = _captions.IndexOf(status.GetEnumLabel()); if (mitigation != null && index >= 0) { var item = new KanbanItem(mitigation, index); if (!string.IsNullOrWhiteSpace(assignedTo)) { item.SetInfo("Assigned To", assignedTo); } item.MoveRequired += ItemOnMoveRequired; Add(item, index); } }
private void ItemOnMoveRequired(KanbanItem item) { if (item?.Item is IMitigation mitigation) { var connector = DevOpsManager.GetConnector(_model); if (connector != null) { var indexInitial = GetPosition(item); var schemaManager = new DevOpsPropertySchemaManager(_model); var devOpsInfo = schemaManager.GetDevOpsInfo(mitigation, connector); if (devOpsInfo != null) { var indexFinal = _captions.IndexOf(devOpsInfo.Status.GetEnumLabel()); Remove(item, indexInitial); Add(item, indexFinal); RefreshPalette(indexInitial); RefreshPalette(indexFinal); } } } }
public bool HasNode([NotNull] KanbanItem item) { return(Document.OfType <KanbanItem>().Any(x => x == item)); }
public void RemoveNode([NotNull] KanbanItem node) { Document.Remove(node); }
public void AddNode([NotNull] KanbanItem node) { Document.Add(node); }