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;
            }
        }
Example #2
0
 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;
                }
            }
        }
Example #4
0
 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;
             }
         }
     }
 }