/// <summary> /// PErmet d'inserez des livres dans la liseuse /// </summary> /// <param name="livres"></param> /// <returns>Renvoie les livres qui ne sont pas entré dans la liseuse</returns> public string[] ExportLivre(Livres[] livres) { FRM_LoadingLiseuse ll = new FRM_LoadingLiseuse(livres.Length); ll.Phrase = "Envoie des livres vers la liseuse"; List <string> tmp = new List <string>(); try { ll.Show(); foreach (Livres livre in livres) { _isbusy = true; try { File.Copy(livre.full_chemin_livre, Lecteur.ToString() + @":\" + livre.FileName); MessageBox.Show("fait"); } catch (Exception e) { tmp.Add(livre.titre); ExceptionHandler.ExeptionCatch(e); } ll.pas(); } ll.Close(); _isbusy = false; } catch (Exception e) { _isbusy = false; ExceptionHandler.ExeptionCatch(e); } return(tmp.ToArray()); }
private void comparaisonComplete(object sender, RunWorkerCompletedEventArgs e) { //a finir DialogResult result = fRM_DialogueTransfert.ShowDialog(); List <Liseuse.Livre> livres = new List <Liseuse.Livre>(); switch (result) { case DialogResult.OK: foreach (object obj in fRM_DialogueTransfert.LB_Livres.SelectedItems) { livres.Add((Liseuse.Livre)obj); } break; case DialogResult.Yes: foreach (object obj in fRM_DialogueTransfert.LB_Livres.Items) { livres.Add((Liseuse.Livre)obj); } break; case DialogResult.Abort: break; case DialogResult.Cancel: break; default: break; } if (livres.Count > 0) { FRM_LoadingLiseuse ll = new FRM_LoadingLiseuse(livres.Count); ll.Phrase = "Importation des livres dans la bibliothèque"; ll.Show(); foreach (Liseuse.Livre livre in livres) { try { ClassAjout.AjoutEpub(livre.PATH, livre.FileName, biblio); } catch (Exception exc) { ExceptionHandler.ExeptionCatch(exc); } ll.pas(); } ll.Close(); AfficheLesEnregistrementsEpub(); } }
/// <summary> /// Transforme les données livres de la base de données en données de la liseuse en objet livre dans la collection de Bibliothèque /// </summary> private void GetLivres() { Livre tmp; try { if (connexionLiseuse.OuvrirBDD()) { _isbusy = true; //Declaration et initialisation FRM_LoadingLiseuse loading = new FRM_LoadingLiseuse(); SQLiteDataReader SQLDrLivre; //Affiche la fenetre de chargement loading.Show(); //Obtient tout les livres de la liseuse SQLiteDataReader SQLDr = connexionLiseuse.Extraction( "SELECT BookTitle FROM content WHERE MimeType = 'application/epub+zip' AND BookTitle IS NOT NULL GROUP BY BookTitle"); //Obtient le nombre de livre dans la liseuse SQLDrLivre = connexionLiseuse.Extraction("SELECT COUNT(*) FROM (SELECT BookTitle FROM content WHERE MimeType = 'application/epub+zip' AND BookTitle IS NOT NULL GROUP BY BookTitle) AS LIVRE"); //Modifie le maximum de la progress bar if (SQLDrLivre.Read()) { loading.PB_bar.Maximum = SQLDrLivre.GetInt32(0) + 1; } //Retourne une erreure si la donnée n'est pas lisible else { throw new Exception("Erreur BDD nombre de livre"); } SQLDrLivre.Close(); if (SQLDr != null) { //Boucle d'ajout des livres while (SQLDr.Read()) { loading.pas(); SQLDrLivre = connexionLiseuse.Extraction("SELECT ContentID FROM content WHERE BookTitle LIKE '" + Apostrophe((string)SQLDr[0]) + "'"); SQLDrLivre.Read(); try { tmp = new Livre((string)SQLDr["BookTitle"], PathLivreFromID((string)SQLDrLivre["ContentID"]), Lecteur); //Ajout d'un livre dans la bibliothèque Biblioteque.Add(tmp); } catch (Exception e) { ExceptionHandler.Message("Erreur sur le livre : " + (string)SQLDr[0]); ExceptionHandler.ExeptionCatch(e); } SQLDrLivre.Close(); } SQLDr.Close(); } loading.Close(); connexionLiseuse.FermerBDD(); _isbusy = false; } } catch (Exception e) { ExceptionHandler.ExeptionCatch(e); } }