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