private void button2_Click(object sender, EventArgs e)
        {
            if (LVTreneri.SelectedItems.Count != 0)
            {
                try
                {
                    var      _client    = new MongoClient();
                    var      _database  = _client.GetDatabase("test");
                    ObjectId dbID       = new ObjectId(LVTreneri.SelectedItems[0].Text);
                    var      collection = _database.GetCollection <BsonDocument>("treneri");
                    var      filter     = new BsonDocument()
                    {
                        { "_id", dbID }
                    };
                    collection.DeleteOne(filter);

                    // Brisanje slike
                    string imeSlike = LVTreneri.SelectedItems[0].SubItems[1].Text;
                    AuxLib.deleteFromGridFS(imeSlike + "trener");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                // ---- Izbaci igraca iz listView ----
                LVTreneri.SelectedItems[0].Remove();
            }
            else
            {
                MessageBox.Show("Selektuj trenera kog hoces da izbrises!");
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (LVStadioni.SelectedItems.Count != 0)
            {
                try
                {
                    var _client   = new MongoClient();
                    var _database = _client.GetDatabase("test");

                    var collection = _database.GetCollection <BsonDocument>("stadioni");
                    var filter     = new BsonDocument()
                    {
                        { "Ime", LVStadioni.SelectedItems[0].Text }
                    };
                    collection.DeleteOne(filter);

                    // Brisanje slike
                    string imeStadiona = LVStadioni.SelectedItems[0].Text;
                    AuxLib.deleteFromGridFS(imeStadiona + "stadion");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                // ---- Izbaci igraca iz listView ----
                LVStadioni.SelectedItems[0].Remove();
            }
            else
            {
                MessageBox.Show("Selektuj stadion koji hoces da izbrises!");
            }
        }
        private void BtnIzbrisiReprezentaciju_Click(object sender, EventArgs e)
        {
            if (LvReprezentacije.SelectedItems.Count != 0)
            {
                try
                {
                    var _client   = new MongoClient();
                    var _database = _client.GetDatabase("test");

                    var collection        = _database.GetCollection <Reprezentacija>("reprezentacije");
                    var treneriCollection = _database.GetCollection <Trener>("treneri");

                    //---filter za reperzentaciju ----
                    var filter = new BsonDocument()
                    {
                        { "Ime", LvReprezentacije.SelectedItems[0].Text }
                    };
                    //---Reprezentacija za brisanje ---
                    var zaBrisanje = collection.Find(filter).FirstOrDefault();
                    //update trenera (pointer na reprezentaciju treba da se anulira)
                    var filterZaTrenera = new BsonDocument()
                    {
                        { "TrenutniKlub", zaBrisanje.Ime }
                    };

                    var filterz = Builders <Trener> .Filter.Eq("TrenutniKlub", zaBrisanje.Ime);

                    var update = Builders <Trener> .Update
                                 .Set("TrenutniKlub", "");

                    treneriCollection.UpdateOne(filterz, update);
                    //-------------------------------------------
                    //update statusa igraca ( igraci vise ne pripadaju reprezentaciji
                    //posto se brise

                    AuxLib.UpdateIgracStatus(zaBrisanje.SastavIDs.Split(','), false);
                    collection.DeleteOne(filter);
                    //---------------------------------------------
                    string imeFajla = LvReprezentacije.SelectedItems[0].Text;
                    // Brisanje zastave
                    AuxLib.deleteFromGridFS(imeFajla + "zastava");
                    // Brisanje himne
                    AuxLib.deleteFromGridFS(imeFajla + "himna");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                // ---- Izbaci igraca iz listView ----
                LvReprezentacije.SelectedItems[0].Remove();
            }
            else
            {
                MessageBox.Show("Selektuj reprezentaciju koju hoces da izbrises!");
            }
        }
        private void BtnIzbrisiIgraca_Click(object sender, EventArgs e)
        {
            if (LvIgraci.SelectedItems.Count != 0)
            {
                //db removal
                try
                {
                    var _client   = new MongoClient();
                    var _database = _client.GetDatabase("test");

                    var      collection = _database.GetCollection <BsonDocument>("igraci");
                    ObjectId dbID       = new  ObjectId(LvIgraci.SelectedItems[0].Text);
                    var      filter     = new BsonDocument()
                    {
                        { "_id", dbID }
                    };
                    collection.DeleteOne(filter);

                    // ---- Brisanje slike igraca iz baze ----
                    string imeSlike = LvIgraci.SelectedItems[0].SubItems[0].Text + "igrac";
                    AuxLib.deleteFromGridFS(imeSlike);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

                //string LvIgraci.SelectedItems[0].Text;

                // ---- Izbaci igraca iz listView ----
                LvIgraci.SelectedItems[0].Remove();
            }
            else
            {
                MessageBox.Show("Selektuj igraca kog hoces da izbrises!");
            }
        }
Example #5
0
        private void BtnSubmitData_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.TbDrzava.BackColor == Color.Red)
                {
                    MessageBox.Show("Uneta reprezentacija ne postoji u bazi.Unesite reprezentaciju prvo.");
                    return;
                }
                if (String.IsNullOrWhiteSpace(TbIme.Text))
                {
                    MessageBox.Show("Ubacite ime stadiona!");
                    return;
                }
                else if (String.IsNullOrWhiteSpace(TbDrzava.Text) || String.IsNullOrWhiteSpace(TbGrad.Text))
                {
                    MessageBox.Show("Unesite lokaciju stadiona (Drzavu i grad)!");
                    return;
                }
                else if (String.IsNullOrWhiteSpace(TbKapacitet.Text))
                {
                    MessageBox.Show("Unesite kapacitet stadiona!");
                    return;
                }
                else if (String.IsNullOrWhiteSpace(TbVlasnik.Text))
                {
                    MessageBox.Show("Unesite vlasnika stadiona!");
                    return;
                }
                Stadion forSave = new Stadion();
                forSave.Ime       = StringCleaner.checkString(TbIme.Text);
                forSave.Istorija  = StringCleaner.checkString(RtbIstorija.Text);
                forSave.Kapacitet = StringCleaner.checkString(TbKapacitet.Text);
                forSave.Lokacija  = StringCleaner.checkString(TbDrzava.Text) + "," + StringCleaner.checkString(TbGrad.Text);
                forSave.Vlasnik   = StringCleaner.checkString(TbVlasnik.Text);


                var _client   = new MongoClient();
                var _database = _client.GetDatabase("test");

                var collection = _database.GetCollection <Stadion>("stadioni");

                var collection2 = _database.GetCollection <Reprezentacija>("reprezentacije");
                var filter2     = new BsonDocument()
                {
                    { "Ime", this.TbDrzava.Text }
                };

                var filter = new BsonDocument()
                {
                    { "Ime", TbIme.Text }
                };

                Reprezentacija reprezentacija = collection2.Find <Reprezentacija>(filter2).First();
                forSave.ReprezentacijaID = StringCleaner.checkString(reprezentacija._id.ToString());
                var document = forSave.ToBsonDocument();

                var filterForUniqueCheck = Builders <BsonDocument> .Filter.Eq("Ime", TbIme.Text);


                //test if  exists
                var test = collection.Find(filter).Count();
                if (test == 0)
                {
                    if (slikaStadiona != null)
                    {
                        AuxLib.AddImageToGridFS(slikaStadiona, this.TbIme.Text + "stadion", format);
                    }
                    else
                    {
                        MessageBox.Show("Slika nije ubacena.");
                    }

                    collection.InsertOne(forSave);
                    MessageBox.Show("Uspesno dodat novi stadion!");
                }
                else
                {
                    //TO DO : Napraviti u AuxLib remove image i remove song za brisanje i ovde implementirati brisanje te slike i dodavanje nove. ( kao update )
                    AuxLib.deleteFromGridFS(this.TbIme.Text + "stadion");
                    if (slikaStadiona != null)
                    {
                        AuxLib.AddImageToGridFS(slikaStadiona, this.TbIme.Text + "stadion", format);
                    }
                    else
                    {
                        MessageBox.Show("Slika nije ubacena.");
                    }
                    collection.ReplaceOne(filter, forSave);
                    MessageBox.Show("Uspesno azuriran stadion!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
        }
Example #6
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrWhiteSpace(this.tbIme.Text))
            {
                MessageBox.Show("Ime reprezentacije je obavezno!");
                return;
            }
            if (String.IsNullOrWhiteSpace(this.tbSkracenica.Text))
            {
                MessageBox.Show("Skracenica je obavezna!(3 slova)");
                return;
            }
            if (String.IsNullOrWhiteSpace(this.tbSelektor.Text))
            {
                MessageBox.Show("Selektor je obavezan!");
                return;
            }
            if (this.LVSastav.Items.Count < 11)
            {
                MessageBox.Show("Sastav je nepotpun!");
                return;
            }
            if (elKapetano == null)
            {
                MessageBox.Show("Morate izabrati kapitena!");
                return;
            }
            if (elKapetano != null)
            {
                ListViewItem kapitenNijeUlistu = LVSastav.FindItemWithText(elKapetano._id.ToString());
                if (kapitenNijeUlistu == null)
                {
                    MessageBox.Show("Morate izabrati kapitena!");
                    return;
                }
            }
            string temp = this.CheckTeam();

            //provera pozicija tima
            if (temp != "Ok")
            {
                MessageBox.Show(temp);
                return;
            }
            ;

            try
            {
                //database access
                var _client    = new MongoClient();
                var _database  = _client.GetDatabase("test");
                var collection = _database.GetCollection <Reprezentacija>("reprezentacije");
                //filters
                var filterAllCount = new BsonDocument();
                //var filterForUniqueCheck = Builders<BsonDocument>.Filter.Eq("Ime", this.tbIme.Text);
                var filter = new BsonDocument()
                {
                    { "Ime", tbIme.Text }
                };

                //test if reprezentacija exists
                var test = collection.Find(filter).FirstOrDefault();

                var countForID = collection.Count(filterAllCount);

                // model creating
                Reprezentacija forSave = new Reprezentacija();
                forSave.FifaRang = Convert.ToInt32(numFifaRang.Value);

                forSave.id = 777;
                forSave.IgracSaNajviseNastupa = StringCleaner.checkString(this.tbIgracSaNajviseNastupa.Text);
                forSave.Ime                = StringCleaner.checkString(this.tbIme.Text);
                forSave.Kapiten            = StringCleaner.checkString(elKapetano.PunoIme);
                forSave.Nadimak            = StringCleaner.checkString(tbNadimak.Text);
                forSave.NajboljiStrelac    = StringCleaner.checkString(this.tbNajboljiStrelac.Text);
                forSave.NajvecaPobedaPoraz = StringCleaner.checkString(this.tbNajvecaPobedaPoraz.Text);
                forSave.OsvojeneMedalje    = StringCleaner.checkString(this.rtbOsvojeneMedalje.Text);
                foreach (ListViewItem item in this.LVSastav.Items)
                {
                    forSave.Sastav    += item.SubItems[1].Text;
                    forSave.Sastav    += ",";
                    forSave.SastavIDs += item.SubItems[0].Text;
                    forSave.SastavIDs += ",";
                }
                forSave.Sastav             = forSave.Sastav.TrimEnd(',');
                forSave.SastavIDs          = forSave.SastavIDs.TrimEnd(',');
                forSave.Selektor           = StringCleaner.checkString(tbSelektor.Text);
                forSave.Skracenica         = StringCleaner.checkString(tbSkracenica.Text);
                forSave.SportskaBiografija = StringCleaner.checkString(rtbSportskaBiografija.Text);


                //Serialization and BsonDocument creation


                //var document = forSave.ToBsonDocument();


                // insert or update check.
                if (test == null)
                {
                    collection.InsertOne(forSave);
                    AuxLib.UpdateIgracStatus(forSave.SastavIDs.Split(','), true);


                    MessageBox.Show("Reprezentacija :" + forSave.Ime + " uspesno dodata.");
                }
                else
                {
                    forSave._id = test._id;

                    //update za stare ugrace (stavljamo da ne pripadaju vise timu koji se azurira)
                    AuxLib.UpdateIgracStatus(test.SastavIDs.Split(','), false);

                    collection.ReplaceOne(filter, forSave);

                    //update nove igrace
                    AuxLib.UpdateIgracStatus(forSave.SastavIDs.Split(','), true);

                    MessageBox.Show("Reprezentacija :" + forSave.Ime + " uspesno azurirana.");
                }

                //ucitavanje slike iz strima u GridFS
                if (this.PBslikaReprezentacije.Image != null)
                {
                    AuxLib.deleteFromGridFS(forSave.Ime + "zastava");
                    if (!AuxLib.AddImageToGridFS(this.PBslikaReprezentacije.Image, forSave.Ime + "zastava", formatSlika))
                    {
                        MessageBox.Show("Slika nije ucitana uspesno.");
                    }
                    ;
                }
                else
                {
                    MessageBox.Show("Slika nije selektovana zato nije ubacena.");
                }

                //ucitavanje himne iz strima u GridFS
                if (himnaStream != null)
                {
                    AuxLib.deleteFromGridFS(forSave.Ime + "himna");
                    if (AuxLib.AddSoundToGridFS(himnaStream, this.tbIme.Text + "himna", formatHimna))
                    {
                        MessageBox.Show("Uspesno ste dodali mp3 sadrzaja kao himnu reprezentacije.");
                    }
                }
                else
                {
                    MessageBox.Show("Himna nije ubacena.");
                }
                //reset kapetana na null
                elKapetano = null;
                var filterForListView = new BsonDocument()
                {
                    { "PripadaReprezentaciji", false }
                };
                AuxLib.UpdateIgraciListView(this.LvIgraci, filterForListView);
                this.LVSastav.Items.Clear();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #7
0
        private void BtnDodajIgraca_Click(object sender, EventArgs e)
        {
            // ---- Provera ispravnosti licnih podataka ----
            if (String.IsNullOrWhiteSpace(TbPunoIme.Text))
            {
                MessageBox.Show("Unesite puno ime igraca!");
                return;
            }
            else if (String.IsNullOrWhiteSpace(TbMestoRodjenja.Text))
            {
                MessageBox.Show("Unesite mesto rodjenja igraca!");
                return;
            }
            else if (String.IsNullOrWhiteSpace(TbTrenutniKlub.Text))
            {
                MessageBox.Show("Unesite trenutni (ili poslednji) klub igraca!");
                return;
            }
            else if (String.IsNullOrWhiteSpace(TbVisina.Text) || TbVisina.Text.Length != 4)
            {
                MessageBox.Show("Unesite ispravno vrednost visine igraca! Na primer '1.92' ");
                return; /*AKO JE OBAVEZNO POLJE*/
            }
            else if (LvPozicijeIgraca.Items.Count == 0)
            {
                MessageBox.Show("Ubacite poziciju/je na kojoj igrac igra!");
                return;
            }


            // ---- Izvlacimo pozicije igraca ----
            string pozicije = "";

            foreach (ListViewItem lvi in LvPozicijeIgraca.Items)
            {
                pozicije += lvi.Text + ", ";
            }
            pozicije = pozicije.TrimEnd(' ');
            pozicije = pozicije.TrimEnd(',');

            // ---- Ubacujemo podatke u objekat ----
            Igrac noviIgrac = new Igrac();

            // ---- Licni podaci ----
            noviIgrac.PunoIme       = StringCleaner.checkString(TbPunoIme.Text);
            noviIgrac.MestoRodjenja = StringCleaner.checkString(TbMestoRodjenja.Text);
            noviIgrac.DatumRodjenja = DpDatumRodjenja.Text; /*Treba se ispravi*/
            noviIgrac.Visina        = StringCleaner.checkString(TbVisina.Text);
            noviIgrac.TrenutniKlub  = StringCleaner.checkString(TbTrenutniKlub.Text);
            noviIgrac.Pozicija      = StringCleaner.checkString(pozicije);
            // ---- Ostali podaci ----
            noviIgrac.PripadaReprezentaciji   = false;
            noviIgrac.SportskaBiografija      = StringCleaner.checkString(RtbSportksaBiografija.Text);
            noviIgrac.ReprezentativnaKarijera = StringCleaner.checkString(RtbReprezentativnaKarijera.Text);
            noviIgrac.Statistika = StringCleaner.checkString(RtbStatistika.Text);
            noviIgrac.Trofeji    = StringCleaner.checkString(RtbTrofeji.Text);

            // ------------------ID------------------------


            //noviIgrac.Id = new BsonObjectId("");

            //----------------------------------------------

            // ---- Rad sa bazom ----
            try
            {
                var _client   = new MongoClient();
                var _database = _client.GetDatabase("test");

                var collection = _database.GetCollection <Igrac>("igraci");
                var filter     = new BsonDocument();
                // var document = noviIgrac.ToBsonDocument();
                collection.InsertOne(noviIgrac);
                collection.ReplaceOne(filter, noviIgrac);
                if (slika != null)
                {
                    AuxLib.deleteFromGridFS(noviIgrac._id + "igrac");
                    AuxLib.AddImageToGridFS(slika, noviIgrac._id + "igrac", format);
                }
                //update status igraca

                MessageBox.Show("Uspesno dodat novi igrac!");

                // ---- Zatvaranje forme ----
                this.Dispose();
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.ToString());
            }
        }