private void btnSave_Click(object sender, RoutedEventArgs e) { if (txtPost.Text.Trim() == "") { MessageBox.Show("Please enter Post name."); return; } if (accbUsers.Text.Trim() == "") { MessageBox.Show("Please select user."); return; } List<EnumFunctions> selectedFunctions = new List<EnumFunctions>(); foreach (var pair in checkBoxes) { List<CheckBox> chkBoxes = pair.Value; for (int i = 1; i < pair.Value.Count; i++) if (chkBoxes[i].IsChecked == true) selectedFunctions.Add(((Tuple<EnumFunctions, string>)chkBoxes[i].Tag).Item1); } RoleHelper client = new RoleHelper(); try { if (lstRole.SelectedIndex == -1) client.AddRole(user, accbUsers.Text.Substring(accbUsers.Text.LastIndexOf('(') + 1).TrimEnd(')'), event_.EventID, txtPost.Text.Trim(), txtDescription.Text.Trim(), selectedFunctions.ToArray()); else client.EditRole(user, accbUsers.Text.Substring(accbUsers.Text.LastIndexOf('(') + 1).TrimEnd(')'), ((RoleWithUser)lstRole.SelectedItem).role.RoleID, txtPost.Text.Trim(), txtDescription.Text.Trim(), selectedFunctions.ToArray()); MessageBox.Show("Operation succeeded!"); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { client.Close(); } loadRoles(); }