client/src/Iri.Modernisation.Controls/ViewModel/ProductionView/ProductionViewVM.cs
changeset 35 43bb1b8ed555
parent 34 4d9ebc6fbbe8
child 36 b6df6fce6e5d
equal deleted inserted replaced
34:4d9ebc6fbbe8 35:43bb1b8ed555
    12 using Iri.Modernisation.BaseMVVM.ViewModel;
    12 using Iri.Modernisation.BaseMVVM.ViewModel;
    13 using Iri.Modernisation.Controls.View;
    13 using Iri.Modernisation.Controls.View;
    14 using Iri.Modernisation.Data.Models;
    14 using Iri.Modernisation.Data.Models;
    15 using System.Collections.ObjectModel;
    15 using System.Collections.ObjectModel;
    16 using System.Collections.Generic;
    16 using System.Collections.Generic;
       
    17 using Iri.Modernisation.Data.LDTClass;
    17 namespace Iri.Modernisation.Controls.ViewModel
    18 namespace Iri.Modernisation.Controls.ViewModel
    18 {
    19 {
    19     /// <summary>
    20     /// <summary>
    20     /// ViewModel de ProductionView
    21     /// ViewModel de ProductionView
    21     /// </summary>
    22     /// </summary>
   124             {
   125             {
   125                 _masterVideoViewerVM = value;
   126                 _masterVideoViewerVM = value;
   126                 OnPropertyChanged("ViewModelMasterVideoViewer");
   127                 OnPropertyChanged("ViewModelMasterVideoViewer");
   127             }
   128             }
   128         }
   129         }
   129         
   130 
       
   131 
   130        private void InitializeCommands()
   132        private void InitializeCommands()
   131        {
   133        {
   132             Commands.ProductionView.ClickAddSelectedRecord.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickAddSelectedRecord_Executed);
   134             Commands.ProductionView.ClickAddSelectedRecord.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickAddSelectedRecord_Executed);
   133             ViewModelProductionTimeLine.SwitchVideo += new EventHandler<ProductionTimeLineVMEventArgs>(ViewModelProductionTimeLine_SwitchVideo);
   135             ViewModelProductionTimeLine.SwitchVideo += new EventHandler<ProductionTimeLineVMEventArgs>(ViewModelProductionTimeLine_SwitchVideo);
   134             ViewModelMasterVideoViewer.Tick += new EventHandler<VideoViewerVMEventArgs>(ViewModelMasterVideoViewer_Tick);
   136             ViewModelMasterVideoViewer.Tick += new EventHandler<VideoViewerVMEventArgs>(ViewModelMasterVideoViewer_Tick);
   135             ViewModelHeaderProduction.Change += new EventHandler<HeaderProductionVMArgs>(ViewModelHeaderProduction_Change);
   137             ViewModelHeaderProduction.Change += new EventHandler<HeaderProductionVMArgs>(ViewModelHeaderProduction_Change);
       
   138             Commands.HeaderProduction.PublishClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(PublishClick_Executed);    
       
   139            
   136        }
   140        }
   137         public ProductionViewVM()
   141         public ProductionViewVM()
   138         {
   142         {
   139             RecordedVideoSequences = new ObservableCollection<VideoSequence>();
   143             RecordedVideoSequences = new ObservableCollection<VideoSequence>();
   140             ViewModelHeaderProduction = new HeaderProductionVM();
   144             ViewModelHeaderProduction = new HeaderProductionVM();
   141             ViewModelProductionTimeLine = new ProductionTimeLineVM();
   145             ViewModelProductionTimeLine = new ProductionTimeLineVM();
   142             ViewModelProductionEditor = new ProductionEditorVM();
   146             ViewModelProductionEditor = new ProductionEditorVM();
   143             ViewModelMasterVideoViewer = new VideoViewerVM(true, false);
   147             ViewModelMasterVideoViewer = new VideoViewerVM(true, false);
   144             
   148       
   145             ViewModelProductionTimeLine.ViewModelVideoViewer = ViewModelMasterVideoViewer;
   149             ViewModelProductionTimeLine.ViewModelVideoViewer = ViewModelMasterVideoViewer;
   146             Random rndNumbers = new Random();
   150             Random rndNumbers = new Random();
   147             _recordedVideoSequences.Add(new VideoSequence()
   151             _recordedVideoSequences.Add(new VideoSequence()
   148             {
   152             {
   149                 Path = Application.Current.Host.Source.Host.ToString() + "/test.wmv",
   153                 Path = Application.Current.Host.Source.Host.ToString() + "/test.wmv",
   153             });
   157             });
   154            
   158            
   155          
   159          
   156                 _recordedVideoSequences.Add(new VideoSequence()
   160                 _recordedVideoSequences.Add(new VideoSequence()
   157                 {
   161                 {
   158                     Path = "http://localhost:1942/video.mp4",
   162                     Path = "/video.mp4",
   159                     RunTime = new TimeSpan(0, rndNumbers.Next(10, 60), 0),
   163                     RunTime = new TimeSpan(0, rndNumbers.Next(10, 60), 0),
   160                     BeginTrim = new TimeSpan(0, 0, 0),
   164                     BeginTrim = new TimeSpan(0, 0, 0),
   161                     EndTrim = new TimeSpan(0, 0, 0),
   165                     EndTrim = new TimeSpan(0, 0, 0),
   162                 });
   166                 });
   163             
   167             
   164            
   168            
   165             InitializeCommands();
   169             InitializeCommands();
   166             OnPropertyChanged(String.Empty);
   170             OnPropertyChanged(String.Empty);
   167            
   171            
   168         }
   172         }
   169 
   173         void PublishClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   174         {
       
   175             IRIFile newFile = new IRIFile();
       
   176             IRIDecoupage decoupage = new IRIDecoupage()
       
   177             {
       
   178                 Author = "this author",
       
   179                 Id = "Index"
       
   180 
       
   181             };
       
   182             foreach (ObservableCollection<SegmentIndex> Ocsi in this.ViewModelProductionTimeLine.ListIndex)
       
   183             {
       
   184                 foreach (SegmentIndex si in Ocsi)
       
   185                 {
       
   186                     IRIElement temp = new IRIElement()
       
   187                     {
       
   188                         
       
   189                         Chapter = si.Chapter.IdChap,
       
   190                         Begin = si.TimerIn,
       
   191                         Dur = si.Duration,
       
   192                         Title = si.Description,
       
   193                         Abstract = si.Description,
       
   194                         Tags = si.Tags
       
   195                     };
       
   196                     decoupage.Elements.Add(temp);
       
   197                 }
       
   198 
       
   199             }
       
   200             IRIMedia videoMedia = new IRIMedia() { Id = "video" };
       
   201 
       
   202 
       
   203             foreach (VideoSequence vs in this.ViewModelProductionTimeLine.TimeLine)
       
   204             {
       
   205                 videoMedia.Videos.Add(new IRIVideo()
       
   206                 {
       
   207                     Begin = vs.TimerIn,
       
   208                     Dur = vs.Duration,
       
   209                     Src = vs.Path,
       
   210 
       
   211                 }
       
   212                 );
       
   213             }
       
   214             IRIEnsemble ensemble = new IRIEnsemble()
       
   215             {
       
   216                 Id = "VideoBookIndex"
       
   217             };
       
   218             ensemble.Decoupages.Add(decoupage);
       
   219             newFile.Body.Ensembles.Add(ensemble);
       
   220             newFile.Body.Medias.Add(videoMedia);
       
   221 
       
   222             MessageBox.Show(newFile.ToString());
       
   223         }
   170         void ViewModelHeaderProduction_Change(object sender, HeaderProductionVMArgs e)
   224         void ViewModelHeaderProduction_Change(object sender, HeaderProductionVMArgs e)
   171         {
   225         {
   172             ViewModelProductionTimeLine.IsIndexing = e.ChapterHeader.Editing;
   226             if (e.ChapterHeader.Indexing == false && e.ChapterHeader.Editing == true)
       
   227             {
       
   228                 ViewModelProductionTimeLine.IsIndexing = true;
       
   229             }
       
   230             else
       
   231             {
       
   232                 ViewModelProductionTimeLine.IsIndexing = false;
       
   233             }       
   173             ViewModelProductionTimeLine.SelectedChapter = e.ChapterHeader.ChapterDescription.Id ;
   234             ViewModelProductionTimeLine.SelectedChapter = e.ChapterHeader.ChapterDescription.Id ;
   174         }
   235         }
   175 
   236 
   176         private void ViewModelProductionTimeLine_SwitchVideo(object sender, ProductionTimeLineVMEventArgs e)
   237         private void ViewModelProductionTimeLine_SwitchVideo(object sender, ProductionTimeLineVMEventArgs e)
   177         {
   238         {