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!"); } }
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; } }
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); } }
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()); } }