Пример #1
0
        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();
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        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;
 }