/// <summary> /// Inserts the item. /// </summary> /// <param name="vm">The vm.</param> private void InsertItem(INavigationItemViewModel vm) { var index = Convert.ToInt32(vm.Model.Sequence); if (index >= NavigationItems.Count) { NavigationItems.Add(vm); return; } NavigationItems.Insert(index, vm); }
/// <summary> /// Moves the item down. /// </summary> /// <param name="item">The item.</param> public void MoveItemDown(INavigationItemViewModel item) { var index = NavigationItems.IndexOf(item); if (index >= NavigationItems.Count - 1) { item.CanMoveDown = false; return; } var nextItem = NavigationItems[index + 1]; var sequence = nextItem.Model.Sequence; nextItem.Model.Sequence = item.Model.Sequence; item.Model.Sequence = sequence; NavigationItems[index] = nextItem; NavigationItems[index + 1] = item; UpdateItemsCanMove(); }
/// <summary> /// Removes the item. /// </summary> /// <param name="item">The item.</param> public void RemoveItem(INavigationItemViewModel item) { Model.NavigationItems.Remove(item.Model); NavigationItems.Remove(item); if (NavigationItems.Count == 0) IsExpanded = false; UpdateItemsCanMove(); Parent.RemoveItem(item.Model.PublishedProcessId); }
/// <summary> /// Moves the item up. /// </summary> /// <param name="item">The item.</param> public void MoveItemUp(INavigationItemViewModel item) { var index = NavigationItems.IndexOf(item); if (index <= 0) { item.CanMoveUp = false; return; } var prevItem = NavigationItems[index - 1]; var sequence = prevItem.Model.Sequence; prevItem.Model.Sequence = item.Model.Sequence; item.Model.Sequence = sequence; NavigationItems[index - 1] = item; NavigationItems[index] = prevItem; UpdateItemsCanMove(); }