Example #1
0
        public static void RunCatalogWindow()
        {
            var globalData = CourseTreeData.Load(currentDirectory);
            var model      = new Tuto.TreeEditor.PublishViewModel(globalData);
            var wnd        = new Tuto.TreeEditor.PublishPanel();

            wnd.DataContext = model;
            wnd.Closed     += wnd_Closed;
            Application.MainWindow.Hide();
            wnd.Show();
        }
 static CourseTreeData Convert(GlobalData data)
 {
     var converted = new CourseTreeData();
     converted.Directory = data.GlobalDataFolder;
     converted.Videos = new List<VideoPublishSummary>();
     converted.Structure=new CourseStructure();
     foreach (var e in data.VideoData)
     {
         converted.Videos.Add(new VideoPublishSummary(e));
         if (e.TopicGuid != null)
             converted.Structure.VideoToTopicRelations.Add(new VideoToTopicRelation { VideoGuid = e.Guid, TopicGuid = e.TopicGuid, NumberInTopic = e.NumberInTopic });
     }
     converted.Structure.RootTopic = data.TopicsRoot;
     return converted;
 }
Example #3
0
        static CourseTreeData Convert(GlobalData data)
        {
            var converted = new CourseTreeData();

            converted.Directory = data.GlobalDataFolder;
            converted.Videos    = new List <VideoPublishSummary>();
            converted.Structure = new CourseStructure();
            foreach (var e in data.VideoData)
            {
                converted.Videos.Add(new VideoPublishSummary(e));
                if (e.TopicGuid != null)
                {
                    converted.Structure.VideoToTopicRelations.Add(new VideoToTopicRelation {
                        VideoGuid = e.Guid, TopicGuid = e.TopicGuid, NumberInTopic = e.NumberInTopic
                    });
                }
            }
            converted.Structure.RootTopic = data.TopicsRoot;
            return(converted);
        }
Example #4
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 #5
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);
        }