// Mia T private void buttonNatrag_Click(object sender, EventArgs e) { Forma5 forma = new Forma5(isvu_sifra, pretprethodnaForma); forma.Show(); this.Close(); }
private void Kolegiji_Click(object sender, EventArgs e) { //Prelazak u formu 5 Forma5 forma = new Forma5(dobiveno, this); forma.Show(); this.Hide(); }
private void buttonNatrag_Click(object sender, EventArgs e) { prethodnaForma.Show(); this.Close(); }
private void Spremi_btn_Click(object sender, EventArgs e) { // Ako nije pozvan konstruktor za izmjenu podataka o ispitu, onda imamo dodavanje novog ispita if (flag == "") { DateTime danasnjiDatum = DateTime.Now; DateTime datumOdrzavanja = DateTime.ParseExact(Datum_odrzavanja_textBox.Text, "yyyy-MM-dd", CultureInfo.InvariantCulture); //Ako je neki TextBox ostao prazan if (String.IsNullOrEmpty(Datum_odrzavanja_textBox.Text) || String.IsNullOrEmpty(Vrijeme_odrzavanja_textBox.Text) || String.IsNullOrEmpty(Prijava_ispita_do_textBox.Text) || String.IsNullOrEmpty(Odjava_do_textBox.Text) || String.IsNullOrEmpty(Nacin_polaganja_textBox.Text) || String.IsNullOrEmpty(Sadrzaj_textBox.Text) || String.IsNullOrEmpty(Trajanje_textBox.Text) || String.IsNullOrEmpty(Predavaonica_textBox.Text)) { MessageBox.Show("Potrebno je popuniti sva polja!"); } //Ako unosis datum prije danasnjeg else if (datumOdrzavanja < danasnjiDatum) { MessageBox.Show("Nije moguće unijeti datum ispita raniji od današnjeg!"); } else { //Generiranje novog id-a List <Kolegij> list = kolekcijaKolegij.AsQueryable().ToList <Kolegij>(); int novi_id = 0; foreach (Kolegij k in list) { if (k.Isvu_sifra == isvu_sifra) { int duljina = k.IspitiNaKolegiju.Count; novi_id = k.IspitiNaKolegiju[duljina - 1].Ispit_id; // Mia T label7.Text = k.Naziv; } } novi_id++; Console.WriteLine("Novi id: " + novi_id); IspitNaKolegiju novi_ispit_kolegij = new IspitNaKolegiju(novi_id, Datum_odrzavanja_textBox.Text, Vrijeme_odrzavanja_textBox.Text, Nacin_polaganja_textBox.Text, Prijava_ispita_do_textBox.Text, Odjava_do_textBox.Text, Sadrzaj_textBox.Text, double.Parse(Trajanje_textBox.Text), Predavaonica_textBox.Text); var updateDef_1 = Builders <Kolegij> .Update.AddToSet("ispiti", novi_ispit_kolegij); kolekcijaKolegij.UpdateOne(k => k.Isvu_sifra == isvu_sifra, updateDef_1); IspitStudenta novi_ispit_studenta = new IspitStudenta(novi_id, "neprijavljen", null); var updateDef_2 = Builders <Student> .Update.AddToSet("kolegiji.$[i].ispiti", novi_ispit_studenta); var arrayFilters = new List <ArrayFilterDefinition> { new JsonArrayFilterDefinition <Student>(@"{'i.isvu_sifra':" + isvu_sifra + "}") }; var updateOptions = new UpdateOptions { ArrayFilters = arrayFilters }; kolekcijaStudent.UpdateMany(s => s.KolegijiStudenta.Any(k => k.Isvu_sifra == isvu_sifra), updateDef_2, updateOptions); Forma5 forma5 = new Forma5(isvu_sifra, pretprethodnaForma); this.Hide(); forma5.Show(); } } //Inače, pozvan je konstruktor za izmjenu podataka o ispitu else { DateTime danasnjiDatum = DateTime.Now; DateTime datumOdrzavanja = DateTime.ParseExact(Datum_odrzavanja_textBox.Text, "yyyy-MM-dd", CultureInfo.InvariantCulture); //Ako je neki TextBox ostao prazan if (String.IsNullOrEmpty(Datum_odrzavanja_textBox.Text) || String.IsNullOrEmpty(Vrijeme_odrzavanja_textBox.Text) || String.IsNullOrEmpty(Prijava_ispita_do_textBox.Text) || String.IsNullOrEmpty(Odjava_do_textBox.Text) || String.IsNullOrEmpty(Nacin_polaganja_textBox.Text) || String.IsNullOrEmpty(Sadrzaj_textBox.Text) || String.IsNullOrEmpty(Trajanje_textBox.Text) || String.IsNullOrEmpty(Predavaonica_textBox.Text)) { MessageBox.Show("Potrebno je popuniti sva polja!"); } //Ako unosis datum prije danasnjeg else if (datumOdrzavanja < danasnjiDatum) { MessageBox.Show("Nije moguće unijeti datum ispita raniji od današnjeg!"); } else { List <Kolegij> list = kolekcijaKolegij.AsQueryable().ToList <Kolegij>(); foreach (Kolegij k in list) { if (k.Isvu_sifra == isvu_sifra) { // Mia T label7.Text = k.Naziv; } } var updateDef_1 = Builders <Kolegij> .Update.Set("ispiti.$[i].datum_odrzavanja", Datum_odrzavanja_textBox.Text) .Set("ispiti.$[i].vrijeme_odrzavanja", Vrijeme_odrzavanja_textBox.Text) .Set("ispiti.$[i].prijava_do", Prijava_ispita_do_textBox.Text) .Set("ispiti.$[i].odjava_do", Odjava_do_textBox.Text) .Set("ispiti.$[i].nacin_polaganja", Nacin_polaganja_textBox.Text) .Set("ispiti.$[i].sadrzaj", Sadrzaj_textBox.Text) .Set("ispiti.$[i].trajanje", double.Parse(Trajanje_textBox.Text)) .Set("ispiti.$[i].predavaonica", Predavaonica_textBox.Text); var arrayFilters_1 = new List <ArrayFilterDefinition> { new JsonArrayFilterDefinition <Kolegij>(@"{'i.ispit_id':" + ispit_id + "}") }; var updateOptions_1 = new UpdateOptions { ArrayFilters = arrayFilters_1 }; kolekcijaKolegij.UpdateOne(k => k.Isvu_sifra == isvu_sifra && k.IspitiNaKolegiju.Any(i => i.Ispit_id == ispit_id), updateDef_1, updateOptions_1); Forma5 forma5 = new Forma5(isvu_sifra, pretprethodnaForma); this.Hide(); forma5.Show(); } } }