//fire event when select or change user group private void dgdUserGroup_SelectionChanged(object sender, EventArgs e) { if (!switchEvent) { return; } if (dgdUserGroup.Focused) { //if (dgdUserGroup.CurrentRow == null) //{ // return; //} //prevent alert box when state that we don't need to show if (selectedGroupID != null) { //check whether have any data change from user if (isDataChanged(SaveChangeState.ExcludeUserGroup)) { //alert save changes box for yes/no answer if (AlertSaveChanges(SaveChangeState.ExcludeUserGroup)) { //START ADD NEW 01/12/2017 foreach (UGM_UserModel modifiedUser in changeUserList) { UGM_UserModel originalUser = firstUserList.Find(x => x.UserName == modifiedUser.UserName); if (originalUser.Member) { if (!modifiedUser.Member) { MessageBox.Show(MessageConstants.Usermusthaveagroup, MessageConstants.TitleWarning, MessageBoxButtons.OK, MessageBoxIcon.Warning); selectedGroupID = dgdUserGroup.CurrentRow.Cells["GroupID"].Value.ToString(); SetupUserView(); SetupScreenView(); SetupPermissionView(); return; } } } //END ADD NEW 01/12/2017 if (!SaveAction(SaveChangeState.ExcludeUserGroup)) { return; } } } } //normally process when user change selected group and no any data change selectedGroupID = dgdUserGroup.CurrentRow.Cells["GroupID"].Value.ToString(); SetupUserView(); SetupScreenView(); SetupPermissionView(); } }
private void btnSave_Click(object sender, EventArgs e) { try { if (selectedGroupID != null) { if (isDataChanged(0)) { //START ADD NEW 01/12/2017 foreach (UGM_UserModel modifiedUser in changeUserList) { UGM_UserModel originalUser = firstUserList.Find(x => x.UserName == modifiedUser.UserName); if (originalUser.Member) { if (!modifiedUser.Member) { MessageBox.Show(MessageConstants.Usermusthaveagroup, MessageConstants.TitleWarning, MessageBoxButtons.OK, MessageBoxIcon.Warning); BackToOriginalState(); return; } } } //END ADD NEW 01/12/2017 SaveAction(SaveChangeState.All); } else { editGroupNameList.Clear(); changeGroupNameList.Clear(); editUserList.Clear(); changeUserList.Clear(); editScreenList.Clear(); changeScreenList.Clear(); editPermissionList.Clear(); changePermissionList.Clear(); MessageBox.Show(MessageConstants.Nodatachangedsaveactionisnothappened, MessageConstants.TitleInfomation, MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { log.Error(String.Format("Exception : {0}", ex.StackTrace)); } }