public FormMember() { InitializeComponent(); dbContext = new MitgliederverwaltungTestdatenDbContext(); memberBindingSource.DataSource = dbContext.Members.ToList <Member>(); genderBindingSource.DataSource = dbContext.Genders.ToList <Gender>(); cityBindingSource.DataSource = dbContext.Cities.ToList <City>(); classBindingSource.DataSource = dbContext.Classes.ToList <Class>(); functionBindingSource.DataSource = dbContext.Functions.ToList <Function>(); memberFunctionBindingSource.DataSource = dbContext.MemberFunctions.ToList <MemberFunction>(); List <LookUpColumnInfo> leInfos = new List <LookUpColumnInfo>(); leInfos.Add(leCities.Columns.GetVisibleColumn(0)); leInfos.Add(leGenders.Columns.GetVisibleColumn(0)); leInfos.Add(leClasses.Columns.GetVisibleColumn(0)); foreach (LookUpColumnInfo leInfo in leInfos) { leInfo.Caption = "Leeren mit Strg + Entf"; } foreach (Member member in dbContext.Members.Local.ToList <Member>()) { StringBuilder functions; GetMemberFunctionIds(member, out functions); colFunctionsCellValues.Add(functions as object); } }
private void ribbon_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (e.Item == btnSaveChanges) { SaveAllData(); ShowSaveDialog(); } else if (e.Item == btnCancelEdit) { dbContext = new MitgliederverwaltungTestdatenDbContext(); memberBindingSource.DataSource = dbContext.Members.ToList <Member>(); } else if (e.Item == btnAddMember) { if (dbContext.Members.Local.Count == dbContext.Members.Count()) { colFunctionsCellValues.Add("" as object); dbContext.Members.Local.Add(new Member()); memberBindingSource.DataSource = dbContext.Members.Local.ToList <Member>(); } } else if (e.Item == btnAddCity) { string userInput; if (GetStringFromUser(out userInput, FormInput.InputType.City)) { dbContext.Cities.Local.Add(new City() { Name = userInput }); dbContext.SaveChanges(); cityBindingSource.DataSource = dbContext.Cities.Local.ToList <City>(); } } else if (e.Item == btnAddClass) { string userInput; if (GetStringFromUser(out userInput, FormInput.InputType.Class)) { dbContext.Classes.Local.Add(new Class() { Description = userInput }); dbContext.SaveChanges(); classBindingSource.DataSource = dbContext.Classes.Local.ToList <Class>(); } } else if (e.Item == btnAddFunction) { string userInput; if (GetStringFromUser(out userInput, FormInput.InputType.Function)) { dbContext.Functions.Local.Add(new Function() { Description = userInput }); functionBindingSource.DataSource = dbContext.Functions.Local.ToList <Function>(); dbContext.SaveChanges(); } } else if (e.Item == btnDeleteMember) { DialogResult result = XtraMessageBox.Show("Möchten Sie das Mitglied endgültig löschen?", "Bestätigung", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == System.Windows.Forms.DialogResult.OK) { Member member; if (GetMemberFromFocusedRow(out member)) { colFunctionsCellValues.RemoveAt(dbContext.Members.Local.IndexOf(member)); RemoveMemberFunctionsFromLocalDbContext(member); dbContext.Members.Local.Remove(member); memberBindingSource.DataSource = dbContext.Members.Local.ToList <Member>(); SaveAllData(); } } } else if (e.Item == btnDeleteCity) { DialogResult result = XtraMessageBox.Show("Möchten Sie die Stadt endgültig löschen?", "Bestätigung", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == System.Windows.Forms.DialogResult.OK) { City city; if (GetCityFromFocusedRow(out city)) { dbContext.Cities.Local.Remove(city); dbContext.SaveChanges(); cityBindingSource.DataSource = dbContext.Cities.Local.ToList <City>(); } } } else if (e.Item == btnDeleteClass) { DialogResult result = XtraMessageBox.Show("Möchten Sie die Klasse endgültig löschen?", "Bestätigung", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == System.Windows.Forms.DialogResult.OK) { Class classs; if (GetClassFromFocusedRow(out classs)) { dbContext.Classes.Local.Remove(classs); dbContext.SaveChanges(); classBindingSource.DataSource = dbContext.Classes.Local.ToList <Class>(); } } } else if (e.Item == btnDeleteFunction) { DialogResult result = XtraMessageBox.Show("Möchten Sie die Funktion endgültig löschen?", "Bestätigung", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == System.Windows.Forms.DialogResult.OK) { Function function; if (GetFunctionFromFocusedRow(out function)) { List <MemberFunction> invalidFunctions = (from a in dbContext.MemberFunctions.Local where a.FunctionID == function.ID select a).ToList <MemberFunction>(); foreach (MemberFunction func in invalidFunctions) { dbContext.MemberFunctions.Local.Remove(func); } dbContext.Functions.Local.Remove(function); dbContext.SaveChanges(); functionBindingSource.DataSource = dbContext.Functions.Local.ToList <Function>(); } } } }