private void button4_Click(object sender, EventArgs e) { // PROVERAVA PO IMENU AKO IME NIJE UNIQUE NECE MOCI DVA SA ISTIM IMENOM U SASTAV /*if (this.LvIgraci.SelectedItems.Count != 0) * { * if(this.LVSastav.Items.Count == 30) * { * MessageBox.Show("Sastav popunjen."); * return; * } * bool postoji = false; * var test = this.LvIgraci.SelectedItems[0]; * foreach(ListViewItem item in LVSastav.Items) * { * if(item.Text == test.Text) * { * postoji = true; * } * } * if(!postoji) * { * var klon = test.Clone(); * this.LVSastav.Items.Add((ListViewItem)klon); * } * }*/ // Multiple select if (this.LvIgraci.SelectedItems.Count > 0) { foreach (ListViewItem ListItem in this.LvIgraci.Items) { if (ListItem.Selected == true) { var klon = ListItem.Clone();; /* if (!LVSastav.Items.Contains((ListViewItem)klon)) * { * this.LVSastav.Items.Add((ListViewItem)klon); * }*/ ListViewItem duplikat = LVSastav.FindItemWithText(ListItem.Text); if (duplikat == null) { this.LVSastav.Items.Add((ListViewItem)klon); } } } } }
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); } }