Example #1
0
        private void button8_Click(object sender, EventArgs e)
        {
            if (this.tbIme.Text == "")
            {
                MessageBox.Show("Unesite ime reprezentacije za koju ucitavate himnu.");
                return;
            }
            try
            {
                FileStream     fs;
                OpenFileDialog ofd = new OpenFileDialog();
                if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    var    forSpliting = ofd.SafeFileName.Split('.');
                    string imePesme    = forSpliting[0];
                    string format      = forSpliting[1];
                    if (format != "mp3")
                    {
                        MessageBox.Show("Fajl mora biti u mp3 formatu.");
                        return;
                    }
                    fs = new System.IO.FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);


                    if (AuxLib.AddSoundToGridFS(fs, this.tbIme.Text + "himna", format))
                    {
                        MessageBox.Show("Uspesno ste dodali mp3 sadrzaja kao himnu reprezentacije.");
                    }


                    /*int duzina = Convert.ToInt32(fs.Length);
                     * byte[] bajtovi = new byte[duzina];
                     * fs.Seek(0, SeekOrigin.Begin);
                     * int bytesRead = fs.Read(bajtovi, 0, duzina);*/
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
        }
Example #2
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);
            }
        }