Example #1
0
        public PublishViewModel(Topic topicRoot, List<FinishedVideo> videos)
        {
            Root = new TopicWrap[] { new TopicWrap(topicRoot) };
            UnassignedVideos = new ObservableCollection<VideoWrap>();
            foreach (var e in videos.Where(z => z.TopicGuid == Guid.Empty))
                UnassignedVideos.Add(new VideoWrap(e));
            foreach(var e in Root[0].Subtree.OfType<TopicWrap>())
                foreach (var v in videos.Where(z => z.TopicGuid == e.Topic.Guid).OrderBy(z => z.NumberInTopic))
                {
                    var vw = new VideoWrap(v);
                    e.Items.Add(vw);
                    vw.Parent = e;
                }

            AddCommand = new RelayCommand(Add, () => SelectedItem != null && SelectedItem is TopicWrap);
            RemoveCommand = new RelayCommand(Remove, () => SelectedItem != null && SelectedItem != Root[0]);
            DeleteCommand = new RelayCommand(DeleteFromList, () => SelectedItemInUnassignedList != null);
        }
Example #2
0
        public PublishViewModel(CourseTreeData globalData)
        {
            this.givenVideos = globalData.Videos;
            Root = new TopicWrap[] { new TopicWrap(globalData.Structure.RootTopic) };
            UnassignedVideos = new ObservableCollection<VideoWrap>();
            foreach (var e in globalData.Videos.Where(z=>!globalData.Structure.VideoToTopicRelations.Any(x=>x.VideoGuid==z.Guid)))
                UnassignedVideos.Add(new VideoWrap(e));
            foreach(var e in Root[0].Subtree.OfType<TopicWrap>())
                foreach (var v in globalData.Structure.VideoToTopicRelations.Where(z => z.TopicGuid == e.Topic.Guid).OrderBy(z => z.NumberInTopic))
                {
					var pv = globalData.Videos.Where(z=>z.Guid==v.VideoGuid).FirstOrDefault();
					if (pv==null) continue;
					var vw = new VideoWrap(pv);
                    e.Items.Add(vw);
                    vw.Parent = e;
                }


            AddCommand = new RelayCommand(Add, () => SelectedItem != null && SelectedItem is TopicWrap);
            RemoveCommand = new RelayCommand(Remove, () => SelectedItem != null && SelectedItem != Root[0]);
            DeleteCommand = new RelayCommand(DeleteFromList, () => SelectedItemInUnassignedList != null);
        }
Example #3
0
        public PublishViewModel(Topic topicRoot, List <FinishedVideo> videos)
        {
            Root             = new TopicWrap[] { new TopicWrap(topicRoot) };
            UnassignedVideos = new ObservableCollection <VideoWrap>();
            foreach (var e in videos.Where(z => z.TopicGuid == Guid.Empty))
            {
                UnassignedVideos.Add(new VideoWrap(e));
            }
            foreach (var e in Root[0].Subtree.OfType <TopicWrap>())
            {
                foreach (var v in videos.Where(z => z.TopicGuid == e.Topic.Guid).OrderBy(z => z.NumberInTopic))
                {
                    var vw = new VideoWrap(v);
                    e.Items.Add(vw);
                    vw.Parent = e;
                }
            }


            AddCommand    = new RelayCommand(Add, () => SelectedItem != null && SelectedItem is TopicWrap);
            RemoveCommand = new RelayCommand(Remove, () => SelectedItem != null && SelectedItem != Root[0]);
            DeleteCommand = new RelayCommand(DeleteFromList, () => SelectedItemInUnassignedList != null);
        }