public void MoveItemUp() { if (SelectedTreeViewItem is CategoryViewModel) { CategoryViewModel vm = SelectedTreeViewItem as CategoryViewModel; SubItems.MoveItemUp(vm); } else if (SelectedTreeViewItem is StoryViewModel) { StoryViewModel vm = SelectedTreeViewItem as StoryViewModel; if (vm.Model.CategoryId == null) { SubItems.MoveItemUp(vm); } else { CategoryViewModel category = Categories.Single(i => i.Model.id == vm.Model.CategoryId); category.Stories.MoveItemUp(vm); } } else if (SelectedTreeViewItem is ChapterViewModel) { ChapterViewModel vm = SelectedTreeViewItem as ChapterViewModel; vm.StoryVm.Chapters.MoveItemUp(vm); } else if (SelectedTreeViewItem is SceneViewModel) { SceneViewModel vm = SelectedTreeViewItem as SceneViewModel; vm.ChapterVm.Scenes.MoveItemUp(vm); } }