/// <summary> /// Metoda która zwraca zdjêcia nale¿ace do albumu który w³aœnie klikneliœmy /// </summary> /// <param name="Node">wêz³ drzewa z którego wy³usamy nazwe albumu</param> /// <returns>lista zdjêæ która zosta³a utworzona przez przeszukanie bazy</returns> private List<Zdjecie> ZwrocZdjeciaZAlbumu(TreeNode Node) { Db baza = new Db(); Dictionary<Int64, string> nieOdnalezione = new Dictionary<long,string>(); //List<Int64> nieOdnalezione = new List<Int64>(); List<Zdjecie> lista = new List<Zdjecie>(); DataSet ds = null; string pelna_sciezka; baza.Polacz(); try { if (Node.FullPath.IndexOf("Albumy") == 0 && Node.FullPath.Length > "Albumy".Length) { ds = baza.Select("select sciezka,nazwa_pliku,id_zdjecia from zdjecie where id_zdjecia in (select id_zdjecia from TagZdjecia where id_tagu in (select id_tagu from Tag where album=1 and nazwa=\'" + Node.FullPath.Substring("Albumy".Length + 1, Node.FullPath.Length - ("Albumy".Length + 1)) + "\'))"); } else if (Node.FullPath.IndexOf("Albumy") == 0) { ds = baza.Select("select sciezka,nazwa_pliku,id_zdjecia from zdjecie where id_zdjecia in (select id_zdjecia from TagZdjecia where id_tagu in (select id_tagu from Tag where album=1))"); } pelna_sciezka = ""; foreach (DataTable t in ds.Tables) { foreach (DataRow r in t.Rows) { if (!(r[0] is DBNull)) { pelna_sciezka = r[0] + "\\" + r[1]; if (System.IO.File.Exists(pelna_sciezka) == true) { Zdjecie z = new Zdjecie(pelna_sciezka); lista.Add(z); } else { nieOdnalezione.Add((Int64)r[2], pelna_sciezka); } } } } } catch (SqlException) { MessageBox.Show("blad bazy"); } baza.Rozlacz(); if (nieOdnalezione.Count > 0) { Dictionary<long, string>.Enumerator enu = nieOdnalezione.GetEnumerator(); KeyValuePair<long, string> kv; enu.MoveNext(); while (true) { kv = enu.Current; ZnajdzPliki zp = new ZnajdzPliki(kv); DialogResult dr = zp.ShowDialog(); if (dr == DialogResult.OK) { if (zp.czyOdnaleziono()) { Zdjecie odnalezioneZdjecie = new Zdjecie(zp.OdnalezionyPlik); odnalezioneZdjecie.ZweryfikujZdjecie(); lista.Add(odnalezioneZdjecie); if (!enu.MoveNext()) break; } } else if (dr == DialogResult.Cancel) { if (!enu.MoveNext()) break; } else if (dr == DialogResult.Abort) { break; } } } return lista; }
/// <summary> /// Metoda która zwraca zdjêcia nale¿ace do albumu który w³aœnie klikneliœmy /// </summary> /// <param name="Node">wêz³ drzewa z którego wy³usamy nazwe albumu</param> /// <returns>lista zdjêæ która zosta³a utworzona przez przeszukanie bazy</returns> private List <Zdjecie> ZwrocZdjeciaZAlbumu(TreeNode Node) { Db baza = new Db(); Dictionary <Int64, string> nieOdnalezione = new Dictionary <long, string>(); //List<Int64> nieOdnalezione = new List<Int64>(); List <Zdjecie> lista = new List <Zdjecie>(); DataSet ds = null; string pelna_sciezka; baza.Polacz(); try { if (Node.FullPath.IndexOf("Albumy") == 0 && Node.FullPath.Length > "Albumy".Length) { ds = baza.Select("select sciezka,nazwa_pliku,id_zdjecia from zdjecie where id_zdjecia in (select id_zdjecia from TagZdjecia where id_tagu in (select id_tagu from Tag where album=1 and nazwa=\'" + Node.FullPath.Substring("Albumy".Length + 1, Node.FullPath.Length - ("Albumy".Length + 1)) + "\'))"); } else if (Node.FullPath.IndexOf("Albumy") == 0) { ds = baza.Select("select sciezka,nazwa_pliku,id_zdjecia from zdjecie where id_zdjecia in (select id_zdjecia from TagZdjecia where id_tagu in (select id_tagu from Tag where album=1))"); } pelna_sciezka = ""; foreach (DataTable t in ds.Tables) { foreach (DataRow r in t.Rows) { if (!(r[0] is DBNull)) { pelna_sciezka = r[0] + "\\" + r[1]; if (System.IO.File.Exists(pelna_sciezka) == true) { Zdjecie z = new Zdjecie(pelna_sciezka); lista.Add(z); } else { nieOdnalezione.Add((Int64)r[2], pelna_sciezka); } } } } } catch (SqlException) { MessageBox.Show("blad bazy"); } baza.Rozlacz(); if (nieOdnalezione.Count > 0) { Dictionary <long, string> .Enumerator enu = nieOdnalezione.GetEnumerator(); KeyValuePair <long, string> kv; enu.MoveNext(); while (true) { kv = enu.Current; ZnajdzPliki zp = new ZnajdzPliki(kv); DialogResult dr = zp.ShowDialog(); if (dr == DialogResult.OK) { if (zp.czyOdnaleziono()) { Zdjecie odnalezioneZdjecie = new Zdjecie(zp.OdnalezionyPlik); odnalezioneZdjecie.ZweryfikujZdjecie(); lista.Add(odnalezioneZdjecie); if (!enu.MoveNext()) { break; } } } else if (dr == DialogResult.Cancel) { if (!enu.MoveNext()) { break; } } else if (dr == DialogResult.Abort) { break; } } } return(lista); }