Пример #1
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;
            }
        }
Пример #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (this.tbIme.Text == "")
            {
                MessageBox.Show("Ime reprezentacije je obavezno!");
                return;
            }
            if (this.tbSkracenica.Text == "")
            {
                MessageBox.Show("Skracenica je obavezna!(3 slova)");
                return;
            }
            if (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;
            }
            try
            {
                //database access
                var _client    = new MongoClient();
                var _database  = _client.GetDatabase("test");
                var collection = _database.GetCollection <BsonDocument>("reprezentacije");
                //filters
                var filterAllCount       = new BsonDocument();
                var filterForUniqueCheck = Builders <BsonDocument> .Filter.Eq("Ime", this.tbIme.Text);


                //test if reprezentacija exists
                var test = collection.Find(filterForUniqueCheck).Count();
                //if(test != 0)
                //{
                //    var reprez = collection.Find(filterForUniqueCheck).First();
                //    var jsonWriterSettings = new JsonWriterSettings { OutputMode = JsonOutputMode.Strict };

                //    Reprezentacija rep = Newtonsoft.Json.JsonConvert.DeserializeObject<Reprezentacija>(reprez.ToJson(jsonWriterSettings));

                //}
                var countForID = collection.Count(filterAllCount);

                // model creating
                Reprezentacija forSave = new Reprezentacija();
                forSave.FifaRang = Convert.ToInt32(numFifaRang.Value);
                if (test == 0)
                {
                    forSave.id = countForID;
                }

                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.tbNadimak.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.Sastav             = forSave.Sastav.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 = BsonDocument.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(forSave));

                // insert or update check.
                if (test == 0)
                {
                    collection.InsertOne(document);
                    MessageBox.Show("Reprezentacija :" + forSave.Ime + " uspesno dodata.");
                }
                else
                {
                    //var filter = Builders<BsonDocument>.Filter.Eq("name", "Juni");
                    //var update = Builders<BsonDocument>.Update
                    //    .Set("Ime", "American (New)")
                    //    .CurrentDate("lastModified")
                    //    .Set("","");
                    //var result = await collection.UpdateOneAsync(filter, update);

                    //collection.UpdateOne(filterForUniqueCheck, document);
                    collection.ReplaceOne(filterForUniqueCheck, document);
                    MessageBox.Show("Reprezentacija :" + forSave.Ime + " uspesno azurirana.");
                }
                if (slikaReprezentacije != null)
                {
                    AuxLib.AddImageToGridFS(slikaReprezentacije, imeSlike, format);
                }
                else
                {
                    MessageBox.Show("Slika nije selektovana zato nije ubacena.");
                }
                //reset kapetana na null
                elKapetano = null;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #3
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);
            }
        }
Пример #4
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());
            }
        }
Пример #5
0
        private void button1_Click(object sender, EventArgs e)
        {
            string ime         = TbIme.Text;
            string opis        = RtbOpis.Text;
            string sysIgranja  = RtbSysIgr.Text;
            string posPobednik = TbLstWin.Text;

            //ne smeju da budu null!
            if (String.IsNullOrWhiteSpace(ime))
            {
                MessageBox.Show("Unesite ime takmicenja!");
            }
            if (String.IsNullOrWhiteSpace(opis))
            {
                MessageBox.Show("unesite opis takmicenja!");
            }
            if (String.IsNullOrWhiteSpace(sysIgranja))
            {
                MessageBox.Show("Unesite Sistem igranja!");
            }
            if (String.IsNullOrWhiteSpace(posPobednik))
            {
                MessageBox.Show("Unesite ime one reprezentacije koja je poslednja pobedila!");
            }
            //---- ucitavanje sa Lv-a
            string spisakDrzava = "";

            foreach (ListViewItem lv1 in LvCntryList.SelectedItems)
            {
                spisakDrzava += lv1.Text;
                spisakDrzava += ",";
            }

            string statistika = "";

            foreach (ListViewItem lv2 in LvStatistics.Items)
            {
                statistika += lv2.Text;
                statistika += ",";
            }



            try
            {
                //pristup bazi
                var client     = new MongoClient();
                var database   = client.GetDatabase("test");
                var collection = database.GetCollection <BsonDocument>("takmicenja");
                //filtri
                var filter = new BsonDocument();
                var filterForUniquCheck = Builders <BsonDocument> .Filter.Eq("Ime", ime);

                //provera da li postoji takmicenje
                var test = collection.Find(filterForUniquCheck).Count();

                Takmicenje novoTakmicenje = new Takmicenje();
                novoTakmicenje.Ime               = StringCleaner.checkString(ime);
                novoTakmicenje.Opis              = StringCleaner.checkString(opis);
                novoTakmicenje.SpisakDrzava      = StringCleaner.checkString(spisakDrzava);
                novoTakmicenje.SistemIgranja     = StringCleaner.checkString(sysIgranja);
                novoTakmicenje.PoslednjiPobednik = StringCleaner.checkString(posPobednik);
                novoTakmicenje.Statistika        = StringCleaner.checkString(statistika);

                var document = novoTakmicenje.ToBsonDocument();

                if (test == 0)
                {
                    collection.InsertOne(document);
                    MessageBox.Show("Uspesno dodato takmicenje: " + novoTakmicenje.Ime + "!");
                }
                else
                {
                    collection.ReplaceOne(filterForUniquCheck, document);
                    MessageBox.Show("Takmicenje: " + novoTakmicenje.Ime + "je uspesno azurirano!");
                }
                this.Dispose();
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.ToString());
            }
        }
Пример #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            string ime         = TbIme.Text;
            string opis        = RtbOpis.Text;
            string sysIgranja  = RtbSysIgr.Text;
            string posPobednik = TbLstWin.Text;

            if (String.IsNullOrWhiteSpace(ime))
            {
                MessageBox.Show("Unesite ime takmicenja!");
            }
            if (String.IsNullOrWhiteSpace(opis))
            {
                MessageBox.Show("unesite opis takmicenja!");
            }
            if (String.IsNullOrWhiteSpace(sysIgranja))
            {
                MessageBox.Show("Unesite Sistem igranja!");
            }
            if (String.IsNullOrWhiteSpace(posPobednik))
            {
                MessageBox.Show("Unesite ime one reprezentacije koja je poslednja pobedila!");
            }

            string spisakDrzava = "";

            foreach (ListViewItem lv1 in LvCntryList.Items)
            {
                spisakDrzava += lv1.Text;
            }
            spisakDrzava = spisakDrzava.TrimEnd(',');

            string statistika = "";

            foreach (ListViewItem lv2 in LvStatistics.Items)
            {
                statistika += lv2.Text;
            }
            statistika = statistika.TrimEnd(',');

            //dodavanje podataka u pokusaju
            try
            {
                Takmicenje novoTakmicenje = new Takmicenje();
                novoTakmicenje.Ime               = StringCleaner.checkString(ime);
                novoTakmicenje.Opis              = StringCleaner.checkString(opis);
                novoTakmicenje.SpisakDrzava      = StringCleaner.checkString(spisakDrzava);
                novoTakmicenje.SistemIgranja     = StringCleaner.checkString(sysIgranja);
                novoTakmicenje.PoslednjiPobednik = StringCleaner.checkString(posPobednik);
                novoTakmicenje.Statistika        = StringCleaner.checkString(statistika);

                var client   = new MongoClient();
                var database = client.GetDatabase("test");

                var collection = database.GetCollection <BsonDocument>("takmicenja");
                var filter     = new BsonDocument();
                var document   = novoTakmicenje.ToBsonDocument();
                collection.InsertOne(document);
                MessageBox.Show("Uspesno dodato novo Takmicenje!");
                this.Dispose();
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.ToString());
            }
        }