client/src/Iri.Modernisation.Controls/ViewModel/ProductionView/ProductionViewVM.cs
changeset 35 43bb1b8ed555
parent 34 4d9ebc6fbbe8
child 36 b6df6fce6e5d
--- a/client/src/Iri.Modernisation.Controls/ViewModel/ProductionView/ProductionViewVM.cs	Tue Jan 19 09:49:56 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/ProductionView/ProductionViewVM.cs	Mon Jan 25 09:30:22 2010 +0100
@@ -14,6 +14,7 @@
 using Iri.Modernisation.Data.Models;
 using System.Collections.ObjectModel;
 using System.Collections.Generic;
+using Iri.Modernisation.Data.LDTClass;
 namespace Iri.Modernisation.Controls.ViewModel
 {
     /// <summary>
@@ -126,13 +127,16 @@
                 OnPropertyChanged("ViewModelMasterVideoViewer");
             }
         }
-        
+
+
        private void InitializeCommands()
        {
             Commands.ProductionView.ClickAddSelectedRecord.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickAddSelectedRecord_Executed);
             ViewModelProductionTimeLine.SwitchVideo += new EventHandler<ProductionTimeLineVMEventArgs>(ViewModelProductionTimeLine_SwitchVideo);
             ViewModelMasterVideoViewer.Tick += new EventHandler<VideoViewerVMEventArgs>(ViewModelMasterVideoViewer_Tick);
             ViewModelHeaderProduction.Change += new EventHandler<HeaderProductionVMArgs>(ViewModelHeaderProduction_Change);
+            Commands.HeaderProduction.PublishClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(PublishClick_Executed);    
+           
        }
         public ProductionViewVM()
         {
@@ -141,7 +145,7 @@
             ViewModelProductionTimeLine = new ProductionTimeLineVM();
             ViewModelProductionEditor = new ProductionEditorVM();
             ViewModelMasterVideoViewer = new VideoViewerVM(true, false);
-            
+      
             ViewModelProductionTimeLine.ViewModelVideoViewer = ViewModelMasterVideoViewer;
             Random rndNumbers = new Random();
             _recordedVideoSequences.Add(new VideoSequence()
@@ -155,7 +159,7 @@
          
                 _recordedVideoSequences.Add(new VideoSequence()
                 {
-                    Path = "http://localhost:1942/video.mp4",
+                    Path = "/video.mp4",
                     RunTime = new TimeSpan(0, rndNumbers.Next(10, 60), 0),
                     BeginTrim = new TimeSpan(0, 0, 0),
                     EndTrim = new TimeSpan(0, 0, 0),
@@ -166,10 +170,67 @@
             OnPropertyChanged(String.Empty);
            
         }
+        void PublishClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
+        {
+            IRIFile newFile = new IRIFile();
+            IRIDecoupage decoupage = new IRIDecoupage()
+            {
+                Author = "this author",
+                Id = "Index"
 
+            };
+            foreach (ObservableCollection<SegmentIndex> Ocsi in this.ViewModelProductionTimeLine.ListIndex)
+            {
+                foreach (SegmentIndex si in Ocsi)
+                {
+                    IRIElement temp = new IRIElement()
+                    {
+                        
+                        Chapter = si.Chapter.IdChap,
+                        Begin = si.TimerIn,
+                        Dur = si.Duration,
+                        Title = si.Description,
+                        Abstract = si.Description,
+                        Tags = si.Tags
+                    };
+                    decoupage.Elements.Add(temp);
+                }
+
+            }
+            IRIMedia videoMedia = new IRIMedia() { Id = "video" };
+
+
+            foreach (VideoSequence vs in this.ViewModelProductionTimeLine.TimeLine)
+            {
+                videoMedia.Videos.Add(new IRIVideo()
+                {
+                    Begin = vs.TimerIn,
+                    Dur = vs.Duration,
+                    Src = vs.Path,
+
+                }
+                );
+            }
+            IRIEnsemble ensemble = new IRIEnsemble()
+            {
+                Id = "VideoBookIndex"
+            };
+            ensemble.Decoupages.Add(decoupage);
+            newFile.Body.Ensembles.Add(ensemble);
+            newFile.Body.Medias.Add(videoMedia);
+
+            MessageBox.Show(newFile.ToString());
+        }
         void ViewModelHeaderProduction_Change(object sender, HeaderProductionVMArgs e)
         {
-            ViewModelProductionTimeLine.IsIndexing = e.ChapterHeader.Editing;
+            if (e.ChapterHeader.Indexing == false && e.ChapterHeader.Editing == true)
+            {
+                ViewModelProductionTimeLine.IsIndexing = true;
+            }
+            else
+            {
+                ViewModelProductionTimeLine.IsIndexing = false;
+            }       
             ViewModelProductionTimeLine.SelectedChapter = e.ChapterHeader.ChapterDescription.Id ;
         }