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 ///