client/src/Iri.Modernisation.Controls/ViewModel/ConsultationView/ConsultationViewVM.cs
changeset 35 43bb1b8ed555
parent 30 644e3cd48034
child 36 b6df6fce6e5d
--- a/client/src/Iri.Modernisation.Controls/ViewModel/ConsultationView/ConsultationViewVM.cs	Tue Jan 19 09:49:56 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/ConsultationView/ConsultationViewVM.cs	Mon Jan 25 09:30:22 2010 +0100
@@ -21,6 +21,7 @@
     /// </summary>
     public class ConsultationViewVM : BaseMVVM.ViewModel.ViewModel
     {
+        
         private PolemicElement _selectedElement;
         /// <summary>
         /// PolemicElement sélectionné
@@ -38,8 +39,6 @@
             }
         }
 
-
-
         private ObservableCollection<BookTimeLineVM> _selectedVideoBooks;
         /// <summary>
         /// Liste des Livres Sélectionnés
@@ -93,35 +92,11 @@
                 OnPropertyChanged(null);
             }
         }
-
-        private void InitializeCommands()
-        {
-            Commands.ConsultMenu.ClickBook.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickBook_Executed);
-            Commands.PolemicElement.SelectPolemicElement.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(SelectPolemicElement_Executed);
-       
-            Commands.ClickMenu.CreateNewTextualAnnotation.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(CreateNewTextualAnnotation_Executed);
-        }
+        /// <summary>
+        /// Loader pour chargement à la volée des VideoLivres selectionnés
+        /// </summary>
+        private Loader<VideoBook> _loaderVideoBook { get; set; }
 
-        private void ClickBook_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
-        {
-            BookTimeLineVM temp = new BookTimeLineVM((VideoBook)e.Parameter);
-            temp.ViewModelVideoViewer = ConsultationBookViewContextMenu.ActualVideoSourceVM;
-            bool CanAdd = true;
-           foreach(BookTimeLineVM BookTLVM in SelectedVideoBooks)
-           {
-               if (BookTLVM.SelectedBook == (VideoBook)e.Parameter)
-               {
-                   CanAdd = false;
-               }
-           }
-            if(CanAdd)
-            {
-                SelectedVideoBooks.Add(temp);
-            }
-
-        }
-
-      
         private AnnotationMakerVM _annotationMakerVM;
         /// <summary>
         /// ViewModel de AnnotationMaker
@@ -138,6 +113,60 @@
                 OnPropertyChanged("ViewModelAnnotationMaker");
             }
         }
+
+        private void InitializeCommands()
+        {
+            Commands.ConsultMenu.ClickBook.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickBook_Executed);
+            Commands.PolemicElement.SelectPolemicElement.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(SelectPolemicElement_Executed);
+            Commands.ClickMenu.CreateNewTextualAnnotation.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(CreateNewTextualAnnotation_Executed);
+        }
+       
+        /// <summary>
+        /// Evenement lors d'un click sur un livre de la liste
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ClickBook_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
+        {
+
+            bool CanAdd = true;
+            //On regarde si le VideoLivre qu'on à choisis n'est pas déjà dans la liste des VideoLivres sélectionné
+            foreach (BookTimeLineVM BookTLVM in SelectedVideoBooks)
+            {
+                if (BookTLVM.SelectedBook.LdtPath == ((VideoBook)e.Parameter).LdtPath)
+                {
+                    CanAdd = false;
+                }
+            }
+            if (CanAdd)
+            {
+                //Préparation du loader
+                _loaderVideoBook = new Loader<VideoBook>(LDTFileReader.ConvertToVideoBook);
+                _loaderVideoBook.LoaderFinished += new EventHandler<LoaderEventArgs<VideoBook>>(LoaderVideoBook_LoaderFinished);
+                _loaderVideoBook.Load(((VideoBook)e.Parameter).LdtPath);
+            }
+            
+
+        }
+
+        /// <summary>
+        /// Fonction une fois que le fichier .ldt à été chargé
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void LoaderVideoBook_LoaderFinished(object sender, LoaderEventArgs<VideoBook> e)
+        {
+            VideoBook addedVideoBook = e.CreatedObject;
+            ///------- ///
+            addedVideoBook.LdtPath = _loaderVideoBook.Path;
+            ///-----------------///
+            BookTimeLineVM temp = new BookTimeLineVM(addedVideoBook);
+            temp.ViewModelVideoViewer = ConsultationBookViewContextMenu.ActualVideoSourceVM;
+            SelectedVideoBooks.Add(temp);
+            
+        }
+
+        
         private void CreateNewTextualAnnotation_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
         {
             ViewModelAnnotationMaker.RefElement=SelectedElement;
@@ -160,9 +189,6 @@
             catch
             {
             }
-            
-
-
         }
     }
 }