/// <summary> /// Metoda tworz¹ca obiekty zdjêc i dodaj¹ca je do kontrolki wyœwietlaj¹cej /// </summary> /// <param name="Node">wêz³ dla którego tworzymy obiekty zdjêæ</param> /// <returns>zwraca tablice obiektów zdjêæ</returns> private Zdjecie[] WybierzPlikiZdjec(DirTreeNode Node) { List <Zdjecie> zdjecia = new List <Zdjecie>(); List <string> pliki = Przefiltruj(Node.Path); Zdjecie z; if (Node.Text != "Mój Komputer") { try { for (int i = 0; i < pliki.Count; i++) { try { if ((pliki[i].ToLower().LastIndexOf(".jpg") != -1 && pliki[i].ToLower().LastIndexOf(".jpg") == (pliki[i].Length - 4)) || (pliki[i].ToLower().LastIndexOf(".jpeg") != -1 && pliki[i].ToLower().LastIndexOf(".jpeg") == (pliki[i].Length - 5))) { z = new Zdjecie(pliki[i]); z.ZweryfikujZdjecie(); zdjecia.Add(z); } } catch (ArgumentException) { MessageBox.Show("Plik: \"" + pliki[i].Substring(pliki[i].LastIndexOf("\\") + 1) + "\" mimo poprawnego rozszezenie nie zawiera zdjêcia", pliki[i], MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } catch (Exception e) { MessageBox.Show(e.Message + " - Odmowa dostêpu", Node.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } } return(zdjecia.ToArray()); }
/// <summary> /// Metoda dodaje wpisy do bazy /// </summary> /// <param name="lista">lista plików o których nale¿y dodaæ wpisy do bazy</param> internal void dodaj_kolekcje_do_bazy(List <string> lista) { StringBuilder sb = new StringBuilder("Nie uda³o siê dodaæ do kolekcji nastepuj¹cych zdjêæ:\n"); bool nieUdaloSie = false; foreach (string n in lista) { try { Zdjecie z = new Zdjecie(n); z.ZweryfikujZdjecie(); if (z.DodajDoKolekcji() == false) { sb.Append(z.Path + "\n"); if (nieUdaloSie == false) { nieUdaloSie = true; } } } catch (Exception e) { MessageBox.Show(e.ToString()); } } if (nieUdaloSie) { MessageBox.Show(sb.ToString()); } }
/// <summary> /// Metoda dodaje tagi dla katalogu /// </summary> private void DodajTagiDlaKatalogu(object sender, EventArgs e) { ToolStripItem mn = (ToolStripItem)sender; List <string> lista_stringow = Przefiltruj(mn.ToolTipText); List <Zdjecie> lista_zdjec = new List <Zdjecie>(); foreach (string plik in lista_stringow) { Zdjecie z = new Zdjecie(plik); z.ZweryfikujZdjecie(); lista_zdjec.Add(z); } Dodaj_tagi_do_zdjecia dtdz = new Dodaj_tagi_do_zdjecia(lista_zdjec, true); dtdz.ZmienionoTagi += new ZmienionoTagiDelegate(this.ZmienionoTagi); dtdz.Show(); }
/// <summary> /// Metoda dodaje katalog do albumów /// </summary> internal void DodajDoAlbumu(object sender, EventArgs e) { ToolStripItem mn = (ToolStripItem)sender; List <string> lista_stringow = Przefiltruj(mn.ToolTipText); List <Zdjecie> lista_zdjec = new List <Zdjecie>(); foreach (string s in lista_stringow) { Zdjecie z = new Zdjecie(s); z.ZweryfikujZdjecie(); lista_zdjec.Add(z); } Dodaj_albumy_do_zdjecia dadz = new Dodaj_albumy_do_zdjecia(lista_zdjec, this, mn.ToolTipText); dadz.Show(); //Dodaj_katalog_do_bazy ddk = new Dodaj_katalog_do_bazy(mn.ToolTipText, this); //ddk.Show(); }
private void aktualizacjaBazyToolStripMenuItem_Click(object sender, EventArgs e) { Db baza = new Db(); baza.Polacz(); try { DataSet ds; string pelna_sciezka; ds = baza.Select("select sciezka,nazwa_pliku from Zdjecie"); 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); //tutaj musi byc wukorzystana funkcja do zczytania pol i do update bazy z.ZweryfikujZdjecie(); if (z.CzyUstawioneId() == true) { z.AktualizujBaze(); } } } } } } catch (SqlException ex) { MessageBox.Show("blad bazy: " + ex.Message); } }
/// <summary> /// Metoda usuwa tagi dla katalogu /// </summary> private void UsunTagiDlaKatalogu(object sender, EventArgs e) { ToolStripItem mn = (ToolStripItem)sender; List <string> lista_stringow = Przefiltruj(mn.ToolTipText); foreach (string plik in lista_stringow) { Zdjecie z = new Zdjecie(plik); z.ZweryfikujZdjecie(); if (z.CzyUstawioneId() == true) { z.UsunTagi(); } } if (ZmienionoTagi != null) { ZmienionoTagi(); } }
/// <summary> /// Metoda tworz�ca obiekty zdj�c i dodaj�ca je do kontrolki wy�wietlaj�cej /// </summary> /// <param name="Node">w�z� dla kt�rego tworzymy obiekty zdj��</param> /// <returns>zwraca tablice obiekt�w zdj��</returns> private Zdjecie[] WybierzPlikiZdjec(DirTreeNode Node) { List<Zdjecie> zdjecia = new List<Zdjecie>(); List<string> pliki = Przefiltruj(Node.Path); Zdjecie z; if (Node.Text != "M�j Komputer") { try { for (int i = 0; i < pliki.Count; i++) { try { if ((pliki[i].ToLower().LastIndexOf(".jpg") != -1 && pliki[i].ToLower().LastIndexOf(".jpg") == (pliki[i].Length - 4)) || (pliki[i].ToLower().LastIndexOf(".jpeg") != -1 && pliki[i].ToLower().LastIndexOf(".jpeg") == (pliki[i].Length - 5)) ) { z = new Zdjecie(pliki[i]); z.ZweryfikujZdjecie(); zdjecia.Add(z); } } catch (ArgumentException) { MessageBox.Show("Plik: \"" + pliki[i].Substring(pliki[i].LastIndexOf("\\") + 1) + "\" mimo poprawnego rozszezenie nie zawiera zdj�cia", pliki[i], MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } catch (Exception e) { MessageBox.Show(e.Message + " - Odmowa dost�pu", Node.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } } return zdjecia.ToArray(); }
/// <summary> /// Metoda usuwa katalog z bazy /// </summary> private void UsunZKolekcji(object sender, EventArgs e) { ToolStripItem mn = (ToolStripItem)sender; List<string> lista_stringow = Przefiltruj(mn.ToolTipText); foreach (string plik in lista_stringow) { Zdjecie z = new Zdjecie(plik); z.ZweryfikujZdjecie(); if (z.CzyUstawioneId() == true) { z.UsunZdjecieZBazy(); z.UsunId(); } } if (ZmienionoIds != null) ZmienionoIds(); }
/// <summary> /// Metoda dodaje tagi dla katalogu /// </summary> private void DodajTagiDlaKatalogu(object sender, EventArgs e) { ToolStripItem mn = (ToolStripItem)sender; List<string> lista_stringow = Przefiltruj(mn.ToolTipText); List<Zdjecie> lista_zdjec = new List<Zdjecie>(); foreach (string plik in lista_stringow) { Zdjecie z = new Zdjecie(plik); z.ZweryfikujZdjecie(); lista_zdjec.Add(z); } Dodaj_tagi_do_zdjecia dtdz = new Dodaj_tagi_do_zdjecia(lista_zdjec,true); dtdz.ZmienionoTagi += new ZmienionoTagiDelegate(this.ZmienionoTagi); dtdz.Show(); }
/// <summary> /// Metoda dodaje wpisy do bazy /// </summary> /// <param name="lista">lista plik�w o kt�rych nale�y doda� wpisy do bazy</param> internal void dodaj_kolekcje_do_bazy(List<string> lista) { StringBuilder sb = new StringBuilder("Nie uda�o si� doda� do kolekcji nastepuj�cych zdj��:\n"); bool nieUdaloSie = false; foreach (string n in lista) { try { Zdjecie z = new Zdjecie(n); z.ZweryfikujZdjecie(); if (z.DodajDoKolekcji() == false) { sb.Append(z.Path + "\n"); if (nieUdaloSie == false) { nieUdaloSie = true; } } } catch (Exception e) { MessageBox.Show(e.ToString()); } } if (nieUdaloSie) MessageBox.Show(sb.ToString()); }
/// <summary> /// Metoda dodaje katalog do album�w /// </summary> internal void DodajDoAlbumu(object sender, EventArgs e) { ToolStripItem mn = (ToolStripItem)sender; List<string> lista_stringow = Przefiltruj(mn.ToolTipText); List<Zdjecie> lista_zdjec = new List<Zdjecie>(); foreach (string s in lista_stringow) { Zdjecie z = new Zdjecie(s); z.ZweryfikujZdjecie(); lista_zdjec.Add(z); } Dodaj_albumy_do_zdjecia dadz = new Dodaj_albumy_do_zdjecia(lista_zdjec, this, mn.ToolTipText); dadz.Show(); //Dodaj_katalog_do_bazy ddk = new Dodaj_katalog_do_bazy(mn.ToolTipText, this); //ddk.Show(); }
/// <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); }