Пример #1
0
        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);
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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);
                    }
                }
            }
        }
Пример #6
0
 public bool HasNode([NotNull] KanbanItem item)
 {
     return(Document.OfType <KanbanItem>().Any(x => x == item));
 }
Пример #7
0
 public void RemoveNode([NotNull] KanbanItem node)
 {
     Document.Remove(node);
 }
Пример #8
0
 public void AddNode([NotNull] KanbanItem node)
 {
     Document.Add(node);
 }