private void BtnAddStudSAVE_Click(object sender, RoutedEventArgs e) { bool missing = false; missing = IsMissing(TxtAddStudName, missing); missing = IsMissing(TxtAddStudSurname, missing); missing = IsMissing(TxtAddStudID, missing); missing = IsMissing(TxtAddStudID.Text, missing); missing = IsMissing(TxtAddStudFak, missing); missing = IsMissing(TxtAddStudRoc, missing); if (missing == true) { System.Media.SystemSounds.Exclamation.Play(); //hodí chyba zvuk return; } Studenti Novy = new Studenti() { Jmeno = TxtAddStudName.Text, Prijmeni = TxtAddStudSurname.Text, Fakulta = (short)((short)TxtAddStudFak.SelectedIndex + 1), Rocnik = Int16.Parse(TxtAddStudRoc.Text.Substring(0, 1)), StudentID = Int32.Parse(TxtAddStudID.Text) }; try { ((MainWindow)Application.Current.MainWindow).BtnAddStudent(Novy); } catch (Exception ex) { MessageBox.Show(ex.Message); return; } this.Close(); }
/// <summary> /// Funkce na přidání studenta do databáze. Kontroluje i, jestli tam už není se stejným ID. /// </summary> /// <param name="novy">Nový student,kterého přidám.</param> public void BtnAddStudent(Studenti novy) { var sel = from stud in db.Studentis where stud.StudentID == novy.StudentID select stud.StudentID; if (sel.ToList().Capacity > 0) { MessageBox.Show("Student se stejným ID už existuje!"); return; } db.Studentis.InsertOnSubmit(novy); db.SubmitChanges(); UpdateNahled(DataGridStud); }
private void BtnStudPredmDel_Click(object sender, RoutedEventArgs e) { if (DataGridStudDblClck.SelectedItems.Count > 0) { MessageBoxResult messageBoxResult = new MessageBoxResult(); switch (DataGridStud.SelectedItems.Count) { case 0: return; case 1: messageBoxResult = System.Windows.MessageBox.Show("Chcete odebrat vybrané hodnocení?", "Odebrat hodnocení", System.Windows.MessageBoxButton.YesNo); break; default: messageBoxResult = System.Windows.MessageBox.Show("Chcete odebrat vybraná hodnocení?", "Odebrat hodnocení", System.Windows.MessageBoxButton.YesNo); return; } if (messageBoxResult == MessageBoxResult.Yes) { dynamic zvoleni = DataGridStudDblClck.SelectedItems; // dám dynamic,protože var neumožňuje to ve foru zvoleni[i].Zkratka . Var se vyhodnocuje při překladu a tady se ještě neví co to bude, dynamicu je to jedno, kdyžtak hodí chybu až při tom řádku zvoleni[i].Zkratka string[] zkratky = new string[zvoleni.Count]; //array zkratek předmětů for (int i = 0; i < zvoleni.Count; i++) { zkratky[i] = zvoleni[i].Zkratka; } var zvol = from hodn in db.Hodnocenis //všechny hodnocení select hodn; var studentquery = from stud in db.Studentis //zvolím studenta where Int32.Parse(StudPredmId.Content.ToString()) == stud.StudentID select stud; var studarr = studentquery.Cast <Studenti>().ToArray(); //složitej proces jak z IQueryable<> udělat Studnenti Studenti student = studarr[0]; List <Hodnoceni> zvolene = new List <Hodnoceni>(); //vysledná kolekce kterou předám databázi na vymazání for (int i = 0; i < zkratky.Length; i++) { Hodnoceni[] temp = zvol.Where(predm => (predm.IdStud == student.Id) && (predm.IdPredm == zkratky[i])).ToArray(); //opět získání typu z IQueryable zvolene.Add(temp[0]); } db.Hodnocenis.DeleteAllOnSubmit(zvolene); db.SubmitChanges(); //update datagridu UpdateNahled(DataGridStudDblClck); UpdateNahled(DataGridPredm); } } }
partial void DeleteStudenti(Studenti instance);
partial void UpdateStudenti(Studenti instance);
partial void InsertStudenti(Studenti instance);
private void detach_Studentis(Studenti entity) { this.SendPropertyChanging(); entity.Fakulty = null; }
private void attach_Studentis(Studenti entity) { this.SendPropertyChanging(); entity.Fakulty = this; }