private void worker_DoWork(object sender, DoWorkEventArgs e) { int i = 0; foreach (String fajl in imena) { Thread.Sleep(100); int p = ((i + 1) * 100) / (imena.Length); worker.ReportProgress(p, i); Console.WriteLine("POSTO JE " + p); Console.WriteLine("STAVKA JE " + i); Thread.Sleep(100); int provjera = pomocna.postojiDokument(idKolekcije, fajl, konekcija); if (provjera == 2) { return; } if (provjera == 0) { if (pomocna.sacuvajDokument(idKolekcije, fajl, tip, velicine[i], konekcija) == 0) { radSaFajlovima.kopirajFajl(fajl + "." + tip, putanje[i], username, ime); } } else { if (provjera == 1) { if (pomocna.sacuvajDokument(idKolekcije, fajl, tip, velicine[i], konekcija) == 0) { radSaFajlovima.izbrisiFajl(fajl + "." + tip, username, ime); radSaFajlovima.kopirajFajl(fajl + "." + tip, putanje[i], username, ime); } } } i += 1; } }
private void btnNext_Click(object sender, EventArgs e) { if (paneli == Paneli.panel1) { if (textBoxImeKolekcije.Text == "") { MessageBox.Show("Potrebno je da unesete ime kolekcije"); return; } String jmbg = pomocna.GetJmbgKorisnika(this.user, this.konekcija); int postojiKolekcija = pomocna.postojiKolekcija(textBoxImeKolekcije.Text, jmbg, this.konekcija); if (postojiKolekcija != 0) { MessageBox.Show("Unesite drugo ime"); return; } SetIme(textBoxImeKolekcije.Text); paneli = Paneli.panel2; KUpanel2.Visible = true; KUpanel1.Visible = false; return; } if (paneli == Paneli.panel2) { if (izbor == Izbor.Greska) { MessageBox.Show("Potrebno je za izaberete kriterijum za kreiranje uzorka"); return; } if (izbor == Izbor.Slobodna) { radSaUzorcima.prikaziDokumenta(this.idKolekcije, -1, -1, dataGridViewSelekcija, this.konekcija); KUpanel3.Visible = true; radSaUzorcima.slobodnaSelekcija(dataGridViewSelekcija); } if (izbor == Izbor.Parna) { radSaUzorcima.prikaziDokumenta(this.idKolekcije, -1, -1, dataGridViewSelekcija, this.konekcija); KUpanel3.Visible = true; radSaUzorcima.parnaSelekcija(dataGridViewSelekcija); } if (izbor == Izbor.Neparna) { radSaUzorcima.prikaziDokumenta(this.idKolekcije, -1, -1, dataGridViewSelekcija, this.konekcija); KUpanel3.Visible = true; radSaUzorcima.neparnaSelekcija(dataGridViewSelekcija); } if (izbor == Izbor.Velicina) { if (textBoxODkb.Text == "" || textBoxDOkb.Text == "") { MessageBox.Show("Polja moraju biti popunjena"); return; } float odKB = float.Parse(textBoxODkb.Text); float doKB = float.Parse(textBoxDOkb.Text); if (odKB > doKB) { MessageBox.Show("Velicina OD mora biti manja od velicine DO"); return; } if (odKB < 0 || doKB < 0) { MessageBox.Show("Vrijednosti moraju biti pozitivne"); return; } bool provjera = radSaUzorcima.postojeDokumenta(this.idKolekcije, odKB, doKB, this.konekcija); if (provjera == false) { MessageBox.Show("Ne postoje dokumenta za prikazivanje"); return; } radSaUzorcima.prikaziDokumenta(this.idKolekcije, odKB, doKB, dataGridViewSelekcija, this.konekcija); KUpanel3.Visible = true; radSaUzorcima.velicinaSelekcija(dataGridViewSelekcija); } paneli = Paneli.panel3; KUpanel2.Visible = false; panelPoljaVelicine.Visible = false; return; } if (paneli == Paneli.panel3) { if (dataGridViewSelekcija.SelectedRows.Count < 1) { MessageBox.Show("Potrebno je da izaberete dokumenta"); return; } DialogResult dr = MessageBox.Show("Da li ste sigurni da zelite da kreirate uzorak kolekcije?", "Question", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { String naziv = GetIme(); String jmbg = pomocna.GetJmbgKorisnika(this.user, this.konekcija); if (pomocna.sacuvajKolekciju(naziv, jmbg, this.tip, this.konekcija)) { radSaFajlovima.KreirajKolekciju(this.user, naziv); int broj = dataGridViewSelekcija.SelectedRows.Count; for (int i = 0; i < broj; i++) { String nazivFajla = dataGridViewSelekcija.SelectedRows[i].Cells["Naziv"].Value.ToString(); String putanja = "../../sve_kolekcije/" + this.user + "/" + this.nazivKolekcije + "/" + nazivFajla + "." + this.tip; radSaFajlovima.kopirajFajl(nazivFajla + "." + this.tip, putanja, this.user, naziv); } String[] spisak = radSaFajlovima.spisakFajlova(naziv, this.user); int id = pomocna.GetIdKolekcije(jmbg, naziv, this.konekcija); for (int i = 0; i < spisak.Length; i++) { String putanja = "../../sve_kolekcije/" + this.user + "/" + naziv + "/" + spisak[i]; float velicina = radSaFajlovima.velicinaFajla(putanja); String imeBezEx = radSaFajlovima.imeFajla(spisak[i]); pomocna.sacuvajDokument(id, imeBezEx, this.tip, velicina, this.konekcija); } int brDok = pomocna.brojDokumenata(id, this.konekcija); float KB = pomocna.velicinaKolekcijeKB(id, this.konekcija); if (brDok == -1) { return; } if (KB == -1) { return; } pomocna.updateKolekcijeDokumentaIVelicina(id, brDok, KB, this.konekcija); MessageBox.Show("Uspjesno kreiranje uzorka kolekcije"); return; } else { MessageBox.Show("Greska pri cuvanju kolekcije uzorka"); return; } } if (dr == DialogResult.No) { this.Close(); return; } } }
private void btnNext_Click(object sender, EventArgs e) { if (paneli == Paneli.panel1) { if (textBoxPrvoIme.Text == "" || textBoxDrugoIme.Text == "") { MessageBox.Show("Polja moraju biti popunjena"); return; } String jmbg = pomocna.GetJmbgKorisnika(this.user, this.konekcija); String prvoIme = textBoxPrvoIme.Text; String drugoIme = textBoxDrugoIme.Text; int provjera = 0; provjera = pomocna.postojiKolekcija(prvoIme, jmbg, this.konekcija); if (provjera == 1) { MessageBox.Show("Postoji kolekcija sa imenom " + prvoIme); return; } provjera = pomocna.postojiKolekcija(drugoIme, jmbg, this.konekcija); if (provjera == 1) { MessageBox.Show("Postoji kolekcija sa imenom " + drugoIme); return; } SetIme1(prvoIme); SetIme2(drugoIme); paneli = Paneli.panel2; DKpanel2.Visible = true; DKpanel1.Visible = false; return; } if (paneli == Paneli.panel2) { if (izbor == Izbor.Greska) { MessageBox.Show("Potrebno je izabrati kriterijum"); return; } if (izbor == Izbor.ParNepar) { radSaDijeljenjem.prikaziDokumenta(this.idKolekcije, dataGridViewSpisak, this.konekcija); DKpanel3.Visible = true; radSaDijeljenjem.ParNepar(dataGridViewSpisak); } if (izbor == Izbor.Velicina) { if (textBoxVelicina.Text == "") { MessageBox.Show("Polje mora biti popunjeno"); return; } float podatak = float.Parse(textBoxVelicina.Text); if (podatak < 0) { MessageBox.Show("Vrijednost mora biti pozitivna"); return; } bool provjera1 = radSaDijeljenjem.postojeDokumentaManje(this.idKolekcije, podatak, this.konekcija); bool provjera2 = radSaDijeljenjem.postojeDokumentaVise(this.idKolekcije, podatak, this.konekcija); if (provjera1) { if (provjera2) { float vel = float.Parse(textBoxVelicina.Text); SetVelicina(vel); radSaDijeljenjem.prikaziDokumenta(this.idKolekcije, dataGridViewSpisak, this.konekcija); DKpanel3.Visible = true; radSaDijeljenjem.Velicina(dataGridViewSpisak, podatak); } else { MessageBox.Show("Ne postoje dokumenta sa vecom vrijednosti. Nije moguce kreirati kolekciju"); return; } } else { MessageBox.Show("Ne postoje dokumenta sa manjom vrijednosti. Nije moguce kreirati kolekciju"); return; } } paneli = Paneli.panel3; DKpanel2.Visible = false; panelVelicina.Visible = false; return; } if (paneli == Paneli.panel3) { DialogResult dr = MessageBox.Show("Da li ste sigurni da zelite da podijelite kolekciju?", "Question", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); String jmbg = pomocna.GetJmbgKorisnika(this.user, this.konekcija); if (dr == DialogResult.Yes) { if (izbor == Izbor.ParNepar) { String prvoIme = GetIme1(); String drugoIme = GetIme2(); if (pomocna.sacuvajKolekciju(prvoIme, jmbg, this.tip, this.konekcija)) { if (pomocna.sacuvajKolekciju(drugoIme, jmbg, this.tip, this.konekcija)) { radSaFajlovima.KreirajKolekciju(this.user, prvoIme); radSaFajlovima.KreirajKolekciju(this.user, drugoIme); for (int i = 0; i < dataGridViewSpisak.RowCount; i++) { String nazivFajla = dataGridViewSpisak.Rows[i].Cells["Naziv"].Value.ToString() + "." + this.tip; String putanja = "../../sve_kolekcije/" + this.user + "/" + this.nazivKolekcije + "/" + nazivFajla; if (i % 2 == 0) { radSaFajlovima.kopirajFajl(nazivFajla, putanja, this.user, prvoIme); } else { radSaFajlovima.kopirajFajl(nazivFajla, putanja, this.user, drugoIme); } } int id1 = pomocna.GetIdKolekcije(jmbg, prvoIme, this.konekcija); int id2 = pomocna.GetIdKolekcije(jmbg, drugoIme, this.konekcija); String[] spisakFajlova = radSaFajlovima.spisakFajlova(prvoIme, this.user); for (int i = 0; i < spisakFajlova.Length; i++) { String putanja = "../../sve_kolekcije/" + this.user + "/" + prvoIme + "/" + spisakFajlova[i]; float velicina = radSaFajlovima.velicinaFajla(putanja); String imeBezEx = radSaFajlovima.imeFajla(spisakFajlova[i]); pomocna.sacuvajDokument(id1, imeBezEx, this.tip, velicina, this.konekcija); } spisakFajlova = radSaFajlovima.spisakFajlova(drugoIme, this.user); for (int i = 0; i < spisakFajlova.Length; i++) { String putanja = "../../sve_kolekcije/" + this.user + "/" + drugoIme + "/" + spisakFajlova[i]; float velicina = radSaFajlovima.velicinaFajla(putanja); String imeBezEx = radSaFajlovima.imeFajla(spisakFajlova[i]); pomocna.sacuvajDokument(id2, imeBezEx, this.tip, velicina, this.konekcija); } int brDok = pomocna.brojDokumenata(id1, this.konekcija); float KB = pomocna.velicinaKolekcijeKB(id1, this.konekcija); if (brDok == -1) { return; } if (KB == -1) { return; } pomocna.updateKolekcijeDokumentaIVelicina(id1, brDok, KB, this.konekcija); brDok = pomocna.brojDokumenata(id2, this.konekcija); KB = pomocna.velicinaKolekcijeKB(id2, this.konekcija); if (brDok == -1) { return; } if (KB == -1) { return; } pomocna.updateKolekcijeDokumentaIVelicina(id2, brDok, KB, this.konekcija); MessageBox.Show("Uspjesno kreiranje dijaljenja kolekcije"); return; } } } if (izbor == Izbor.Velicina) { String prvoIme = GetIme1(); String drugoIme = GetIme2(); float velKB = GetVelicina(); if (pomocna.sacuvajKolekciju(prvoIme, jmbg, this.tip, this.konekcija)) { if (pomocna.sacuvajKolekciju(drugoIme, jmbg, this.tip, this.konekcija)) { /* * prekopirati dokumenta iz trenutnog foldera * prvo u prvu kolekciju * zatim u drugu kolekciju * ili naizmjenicno * pratiti uslove.. * nakon kopiranja u bazu sacuvati dokumenta da se zna kojoj kolekciji pripadaju * odraditi potrebne update-e */ //kreiranje foldera sa nazivima kolekcija radSaFajlovima.KreirajKolekciju(this.user, prvoIme); radSaFajlovima.KreirajKolekciju(this.user, drugoIme); //kopiranje fajlova u nove kolekcije..manji u prvu veci u drugu for (int i = 0; i < dataGridViewSpisak.RowCount; i++) { String nazivFajla = dataGridViewSpisak.Rows[i].Cells["Naziv"].Value.ToString() + "." + this.tip;//naziv sa ext String putanja = "../../sve_kolekcije/" + this.user + "/" + this.nazivKolekcije + "/" + nazivFajla; float podatak = float.Parse(dataGridViewSpisak.Rows[i].Cells["Velicina"].Value.ToString()); if (podatak < velKB) { //ako je velicina manja kopiramo u prvu novu kolekciju radSaFajlovima.kopirajFajl(nazivFajla, putanja, this.user, prvoIme); } else { //ako je velicina veca kopiramo u drugu if (podatak > velKB) { radSaFajlovima.kopirajFajl(nazivFajla, putanja, this.user, drugoIme); } } } //cuvanje dokumenata u bazu i upisivanje kojoj kolekciji pripada int id1 = pomocna.GetIdKolekcije(jmbg, prvoIme, this.konekcija); int id2 = pomocna.GetIdKolekcije(jmbg, drugoIme, this.konekcija); String[] spisakFajlova = radSaFajlovima.spisakFajlova(prvoIme, this.user);//imena sa ext for (int i = 0; i < spisakFajlova.Length; i++) { String putanja = "../../sve_kolekcije/" + this.user + "/" + prvoIme + "/" + spisakFajlova[i]; float velicina = radSaFajlovima.velicinaFajla(putanja); String imeBezEx = radSaFajlovima.imeFajla(spisakFajlova[i]); pomocna.sacuvajDokument(id1, imeBezEx, this.tip, velicina, this.konekcija); } spisakFajlova = radSaFajlovima.spisakFajlova(drugoIme, this.user); for (int i = 0; i < spisakFajlova.Length; i++) { String putanja = "../../sve_kolekcije/" + this.user + "/" + drugoIme + "/" + spisakFajlova[i]; float velicina = radSaFajlovima.velicinaFajla(putanja); String imeBezEx = radSaFajlovima.imeFajla(spisakFajlova[i]); pomocna.sacuvajDokument(id2, imeBezEx, this.tip, velicina, this.konekcija); } //update podataka u kolekciji int brDok = pomocna.brojDokumenata(id1, this.konekcija); float KB = pomocna.velicinaKolekcijeKB(id1, this.konekcija); if (brDok == -1) { return; } if (KB == -1) { return; } pomocna.updateKolekcijeDokumentaIVelicina(id1, brDok, KB, this.konekcija); brDok = pomocna.brojDokumenata(id2, this.konekcija); KB = pomocna.velicinaKolekcijeKB(id2, this.konekcija); if (brDok == -1) { return; } if (KB == -1) { return; } pomocna.updateKolekcijeDokumentaIVelicina(id2, brDok, KB, this.konekcija); MessageBox.Show("Uspjesno kreiranje dijaljenja kolekcije"); return; } } } } if (dr == DialogResult.No) { this.Close(); return; } } }
private void btnKreirajNovuKolekciju_Click(object sender, EventArgs e) { if (this.tip == "") { cuvanje(); } else { String nazivKolekcije = textBoxNovoImeKolekcije.Text; int vr = cuvanje(); if (vr == 0) { String[] spisakFajlova1 = radSaFajlovima.spisakFajlova(this.prvoIme, this.user); String[] spisakFajlova2 = radSaFajlovima.spisakFajlova(this.drugoIme, this.user); for (int i = 0; i < spisakFajlova1.Length; i++) { String putanja = "../../sve_kolekcije/" + this.user + "/" + this.prvoIme + "/" + spisakFajlova1[i]; radSaFajlovima.kopirajFajl(spisakFajlova1[i], putanja, this.user, nazivKolekcije); } for (int i = 0; i < spisakFajlova2.Length; i++) { String putanja = "../../sve_kolekcije/" + this.user + "/" + this.drugoIme + "/" + spisakFajlova2[i]; radSaFajlovima.kopirajFajl(spisakFajlova2[i], putanja, this.user, nazivKolekcije); } String[] spisakUnije = radSaFajlovima.spisakFajlova(nazivKolekcije, this.user); String jmbg = pomocna.GetJmbgKorisnika(this.user, this.conn); int idKolekcije = pomocna.GetIdKolekcije(jmbg, nazivKolekcije, conn); if (idKolekcije != -1) { for (int i = 0; i < spisakUnije.Length; i++) { String putanja = "../../sve_kolekcije/" + this.user + "/" + nazivKolekcije + "/" + spisakUnije[i]; float velicina = radSaFajlovima.velicinaFajla(putanja); String imeBezEx = radSaFajlovima.imeFajla(spisakUnije[i]); pomocna.sacuvajDokument(idKolekcije, imeBezEx, this.tip, velicina, this.conn); } int brDoc = pomocna.brojDokumenata(idKolekcije, conn); if (brDoc == -1) { return; } float velKB = pomocna.velicinaKolekcijeKB(idKolekcije, conn); if (velKB == -1) { return; } int konacno = pomocna.updateKolekcijeDokumentaIVelicina(idKolekcije, brDoc, velKB, conn); if (konacno == 0) { int datum = pomocna.updateDatumModifikovanja(idKolekcije, conn); if (datum == 0) { MessageBox.Show("Uspjesno ste kreirali uniju kolekcija"); } } } else { return; } } } }