diff -r 4d9ebc6fbbe8 -r 43bb1b8ed555 client/src/Iri.Modernisation.Data/Models/VideoBook.cs
--- a/client/src/Iri.Modernisation.Data/Models/VideoBook.cs Tue Jan 19 09:49:56 2010 +0100
+++ b/client/src/Iri.Modernisation.Data/Models/VideoBook.cs Mon Jan 25 09:30:22 2010 +0100
@@ -54,6 +54,8 @@
///
public String IriPath { get; set; }
+
+
///
/// Constructeur par défaut
///
@@ -71,61 +73,66 @@
}
-
-
+ ///
+ /// Méthode static pour le Loader de la list de videoBook
+ ///
+ /// XDoc du fichier pointant tous les chemin .ldt des videoLivre disponible
+ /// List des VideoLivre (non chargé)
+ public static List GetListVideoBook(XDocument XDoc)
+ {
+
+ List ListReturn = new List();
+
+ foreach (XElement XVideoBook in XDoc.Root.Elements())
+ {
+
+ VideoBook temp = new VideoBook();
+ temp.LdtPath = XVideoBook.Attribute("metafile").Value; ;
+ temp.Title = XVideoBook.Attribute("title").Value;
+ ListReturn.Add(temp);
+
+
+ }
+ return ListReturn;
+ }
}
- public class VideoBookLoaderHelper
+
+ public class VideoBookLoader
{
- private WebClient webclient;
- private List returnVideoBookList;
- private int nbOfBook;
- public VideoBookLoaderHelper(String path)
+ private Loader _iriFile;
+ private Loader _ldtFile;
+ private IRIFile _loadedIriFile;
+ private LDTFile _loadedLdtFile;
+ public VideoBookLoader()
{
- nbOfBook = 0;
- returnVideoBookList = new List();
- webclient = new WebClient();
- webclient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webclient_DownloadStringCompleted);
- webclient.DownloadStringAsync(new Uri(path,UriKind.RelativeOrAbsolute ));
+ _iriFile = new Loader(IRIFile.FromXML);
+ _ldtFile = new Loader(LDTFile.FromXML);
+ _ldtFile.LoaderFinished += new EventHandler>(_ldtFile_LoaderFinished);
+ _iriFile.LoaderFinished += new EventHandler>(_iriFile_LoaderFinished);
}
- void webclient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
+ void _iriFile_LoaderFinished(object sender, LoaderEventArgs e)
{
- XDocument XDoc = XDocument.Parse(e.Result);
- List ListReturn = new List();
-
- foreach (XElement XVideoBook in XDoc.Root.Elements())
- {
- Loader LoaderVideoBook = new Loader(LDTFileReader.ConvertToVideoBook);
- LoaderVideoBook.LoaderFinished += new EventHandler>(LoaderVideoBook_LoaderFinished);
+ _loadedIriFile = e.CreatedObject;
+ LoaderFinished(this,new LoaderEventArgs(LDTFileReader.ConvertToVideoBook(_loadedLdtFile,_loadedIriFile)));
+ }
- LoaderVideoBook.Load(XVideoBook.Attribute("metafile").Value);
+ void _ldtFile_LoaderFinished(object sender, LoaderEventArgs e)
+ {
+ _loadedLdtFile = e.CreatedObject;
+ _iriFile.Load(_loadedLdtFile.Medias[0].Src);
+
+ }
- nbOfBook++;
-
- }
+ public event EventHandler> LoaderFinished;
- }
+ }
- void LoaderVideoBook_LoaderFinished(object sender, LoaderEventArgs e)
- {
- e.CreatedObject.LdtPath = ((Loader)sender).Path ;
- returnVideoBookList.Add(e.CreatedObject);
- if(returnVideoBookList.Count == nbOfBook)
- {
- if(LoaderFinished!=null)
- {
- LoaderFinished(this,new LoaderEventArgs>(returnVideoBookList));
- }
- }
- }
- public event EventHandler>> LoaderFinished;
-
-
- }
+
///
/// Comparateur pour Trier les livres
///