//public ObservableCollection<DozentNames> DozentList { get; private set; } #endregion #region Ctor // Initializes a new instance of the AddStudentViewModel class. public AddPraktikaViewModel(IFirmenDB firmenDB, IDozentDB dozentDB) { try { _firmenDB = firmenDB; _dozentDB = dozentDB; NewPraktika = new Praktika(); NewPraktika.Antrag = DateTime.Today; NewPraktika.Genehmigung = DateTime.Today; NewPraktika.Beginn = DateTime.Today; NewPraktika.Ende = DateTime.Today; FirmaList = _firmenDB.GetAllFirmen(); DozentList = _dozentDB.GetAllDozents(); AddCommand = new RelayCommand(AddPraktika, CanAddStudent); CancelCommand = new RelayCommand(Cancel); } catch (Exception e) { throw e; } }
public Student AddPraktika(Praktika praktika) { var student = (from s in _db.Students where s.StudentId == praktika.StudentId select s).Single(); student.Praktikas.Add(praktika); _db.SaveChanges(); return(student); }
private void SavePraktikaExecute() { try { Praktika updatedPraktika = _praktikaDB.UpdatePraktika(CurrentPraktika); CurrentPraktika = updatedPraktika; } catch (Exception e) { MessageBox.Show("Praktikum wurde nicht speichert. Error: " + e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }
private void OnNewPraktikaReceived(Praktika NewPraktika) { try { NewPraktika.StudentId = SelectedStudent.StudentId; Student newPraktikaAdded = _studentDB.AddPraktika(NewPraktika); MessageBox.Show("Praktikum wurde erfolgreich hinzufügt!", "Erfolg", MessageBoxButton.OK, MessageBoxImage.None); Messenger.Default.Send(new NotificationMessage("CloseAddPraktikaView")); SelectedStudent = newPraktikaAdded; } catch (Exception e) { MessageBox.Show("Praktika wurde nicht hinzufügt. Error: " + e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }
private void CheckPraktikaExists() { if (SelectedStudent.Praktikas.Any()) { PraktikaExists = true; PraktikaCount = SelectedStudent.Praktikas.Count; SelectedPraktikaIndex = 0; SelectedStudent.Praktikas.ElementAt(SelectedPraktikaIndex).CopyTo(CurrentPraktika); SelectedOrtItem = FirmaList.FirstOrDefault(f => f.FirmenId == CurrentPraktika.FirmenNr); } else { PraktikaExists = false; CurrentPraktika = new Praktika(); } }
public Praktika UpdatePraktika(Praktika editedPraktika) { var updatedPraktika = (from p in _db.Praktikas where p.PraktikaId == editedPraktika.PraktikaId select p).Single(); updatedPraktika.TeilPraktikumNr = editedPraktika.TeilPraktikumNr; updatedPraktika.Antrag = editedPraktika.Antrag; updatedPraktika.Genehmigung = editedPraktika.Genehmigung; updatedPraktika.FirmenNr = editedPraktika.FirmenNr; updatedPraktika.FirmaName = editedPraktika.FirmaName; updatedPraktika.OrtName = editedPraktika.OrtName; updatedPraktika.Dozent = editedPraktika.Dozent; updatedPraktika.Beginn = editedPraktika.Beginn; updatedPraktika.Ende = editedPraktika.Ende; updatedPraktika.Bemerkungen = editedPraktika.Bemerkungen; updatedPraktika.Dozentchk = editedPraktika.Dozentchk; updatedPraktika.Unternehmenchk = editedPraktika.Unternehmenchk; updatedPraktika.Berichtchk = editedPraktika.Berichtchk; updatedPraktika.Auslandsprak = editedPraktika.Auslandsprak; updatedPraktika.PraktikumAbsolvt = editedPraktika.PraktikumAbsolvt; updatedPraktika.BetreuerVorname = editedPraktika.BetreuerVorname; updatedPraktika.BetreuerNachname = editedPraktika.BetreuerNachname; updatedPraktika.BetreuerEmail = editedPraktika.BetreuerEmail; try { _db.Entry(updatedPraktika.Student).State = EntityState.Modified; _db.Entry(updatedPraktika).State = EntityState.Modified; _db.SaveChanges(); MessageBox.Show("Praktikum wurde erfolgreich speichert!", "Erfolg", MessageBoxButton.OK, MessageBoxImage.None); } catch (DbUpdateConcurrencyException ex) { // Update the values of the entity that failed to save from the database ex.Entries.Single().Reload(); MessageBox.Show("Der Datensatz, an dem Sie arbeiten, wurde von einem anderen Benutzer geändert." + Environment.NewLine + "Änderungen, die Sie vorgenommen haben, wurden nicht gespeichert. Bitte aktualisieren und erneut einreichen.", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } return(updatedPraktika); }