Exemple #1
0
 private void SetUserWithRoles()
 {
     UsersRolesSetted = false;
     if (SelectedUser == null)
     {
         return;
     }
     if (SelectedUsersRoles == null)
     {
         return;
     }
     try
     {
         foreach (CheckBox checkBox in flowLayoutPanel1.Controls)
         {
             Role role = checkBox.Tag as Role;
             checkBox.Checked = role != null && SelectedUsersRoles.Any(ur => ur.RoleId == role.Id);
         }
     }
     catch (Exception ex)
     {
         ex = new Exception("设置用户关联的角失败!", ex);
         Log.Error(ex);
         MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Stop);
     }
     UsersRolesSetted = true;
 }
Exemple #2
0
        void checkBox_CheckedChanged(object sender, EventArgs e)
        {
            if (!UsersRolesSetted)
            {
                return;
            }
            if (SelectedUsersRoles == null)
            {
                return;
            }
            CheckBox checkBox = sender as CheckBox;
            string   message  = string.Empty;

            if (checkBox != null)
            {
                Role role = checkBox.Tag as Role;
                if (checkBox.Checked)
                {
                    //选中了
                    if (!SelectedUsersRoles.Any(ur => ur.RoleId == role.Id && ur.Id == SelectedUser.Id))
                    {
                        //原来没有则添加
                        RoleWithUser rwu = new RoleWithUser();
                        rwu.Id     = Guid.NewGuid();
                        rwu.RoleId = role.Id;
                        rwu.UserId = SelectedUser.Id;
                        PharmacyDatabaseService.AddRoleWithUser(out message, rwu);
                        this.PharmacyDatabaseService.WriteLog(AppClientContext.CurrentUser.Id, "员工岗位信息设置成功!");
                    }
                }
                else
                {
                    //没选
                    RoleWithUser rwu = SelectedUsersRoles.FirstOrDefault(ur => ur.RoleId == role.Id && ur.UserId == SelectedUser.Id);
                    if (rwu != null)
                    {
                        PharmacyDatabaseService.DeleteRoleWithUser(out message, rwu.Id);
                    }
                }
                LoadSelectedUsersRoles();
            }
        }