public void OnClickAddGroupButton(object sender, EventArgs e)
        {
            NSApplication.SharedApplication.StopModal();
            var form = new ShowAllGroupsController();

            form.ServerDto  = ServerDto;
            form.TenantName = TenantName;
            form.DomainName = UserDto.Domain;
            var result = NSApplication.SharedApplication.RunModalForWindow(form.Window);

            if (result == VMIdentityConstants.DIALOGOK)
            {
                foreach (var group in form.SelectedGroups)
                {
                    var principalName = group.GroupName + "@" + group.GroupDomain;
                    if (!Groups.Exists(x => (x.GroupName + "@" + x.GroupDomain) == principalName))
                    {
                        Groups.Add(group);
                    }
                }
                var listView = new GroupsDataSource {
                    Entries = Groups
                };
                lstGroups.DataSource = listView;
                lstGroups.ReloadData();
            }
        }
        public void OnClickRemoveGroupButton(object sender, EventArgs e)
        {
            foreach (var row in lstGroups.SelectedRows)
            {
                Groups.RemoveAt((int)row);
            }
            var listView = new GroupsDataSource {
                Entries = Groups
            };

            lstGroups.DataSource = listView;
            lstGroups.ReloadData();
        }
        public override void AwakeFromNib()
        {
            base.AwakeFromNib();
            UserDto = UserDtoOriginal.DeepCopy();
            Groups  = new List <GroupDto> (GroupsOriginal);

            TxtUsername.StringValue    = UserDto.Name == null ? string.Empty : UserDto.Name;
            TxtFirstName.StringValue   = UserDto.PersonDetails.FirstName == null ? string.Empty : UserDto.PersonDetails.FirstName;
            TxtLastName.StringValue    = UserDto.PersonDetails.LastName == null ? string.Empty : UserDto.PersonDetails.LastName;
            TxtEmail.StringValue       = UserDto.PersonDetails.EmailAddress == null ? string.Empty : UserDto.PersonDetails.EmailAddress;
            TxtDescription.StringValue = UserDto.PersonDetails.Description == null ? string.Empty : UserDto.PersonDetails.Description;
            if (UserDto.PasswordDetails != null)
            {
                TxtPasswordLastChanged.StringValue     = DateTimeHelper.UnixToWindows((long)UserDto.PasswordDetails.LastSet).ToString("dd-MMM-yyyy hh:mm:ss");
                TxtPasswordDaysUntilExpiry.StringValue = SecondsToDaysAndHours(UserDto.PasswordDetails.Lifetime);
            }
            ChDisabled.StringValue = UserDto.Disabled ? "0" : "1";
            //Window.Title = UserDto.Name + "@" + UserDto.Domain + " Properties";
            ChActAsUser.StringValue = UserDto.ActAsUsers ? "1" : "0";
            ChIdpAdmin.StringValue  = UserDto.IsIdpAdmin ? "1" : "0";
            RdoRoleGroup.SelectCell(new NSCell(UserDto.Role.ToString()));

            lstGroups          = new NSTableView();
            lstGroups.Delegate = new TableDelegate();
            this.LstGroupMembershipView.AddSubview(lstGroups);
            var listView = new GroupsDataSource {
                Entries = Groups
            };
            var columnNames = new List <ColumnOptions> {
                new ColumnOptions {
                    Id = "Name", DisplayName = "Group Name", DisplayOrder = 1, Width = 300
                }
            };
            var columns = ListViewHelper.ToNSTableColumns(columnNames);

            foreach (var column in columns)
            {
                lstGroups.AddColumn(column);
            }
            lstGroups.DataSource = listView;
            lstGroups.ReloadData();

            //Events
            this.BtnSave.Activated        += OnClickSaveButton;
            this.BtnAddGroup.Activated    += OnClickAddGroupButton;
            this.BtnRemoveGroup.Activated += OnClickRemoveGroupButton;
//			this.BtnClose.Activated += (object sender, EventArgs e) => {
//				this.Close ();
//				NSApplication.SharedApplication.StopModalWithCode (0);
//			};
        }
 public void OnClickRemoveGroupButton(object sender, EventArgs e)
 {
     if (MemberTableView.SelectedRows.Count > 0)
     {
         foreach (var row in MemberTableView.SelectedRows)
         {
             Groups.RemoveAt((int)row);
         }
         var listView = new GroupsDataSource {
             Entries = Groups
         };
         MemberTableView.DataSource = listView;
         MemberTableView.ReloadData();
     }
 }
        public override void AwakeFromNib()
        {
            base.AwakeFromNib();
            UserDto = UserDtoOriginal.DeepCopy();
            Groups  = new List <GroupDto> (GroupsOriginal);

            TxtUsername.StringValue    = UserDto.Name == null ? string.Empty : UserDto.Name.Length > 10 ? UserDto.Name.Substring(0, 10) + "..." : UserDto.Name;
            TxtFirstName.StringValue   = UserDto.PersonDetails.FirstName == null ? string.Empty : UserDto.PersonDetails.FirstName;
            TxtLastName.StringValue    = UserDto.PersonDetails.LastName == null ? string.Empty : UserDto.PersonDetails.LastName;
            TxtEmail.StringValue       = UserDto.PersonDetails.EmailAddress == null ? string.Empty : UserDto.PersonDetails.EmailAddress;
            TxtDescription.StringValue = UserDto.PersonDetails.Description == null ? string.Empty : UserDto.PersonDetails.Description;
            chkActive.StringValue      = UserDto.Disabled ? "0" : "1";
            ChActAsUser.StringValue    = UserDto.ActAsUsers ? "1" : "0";
            ChIdpAdmin.StringValue     = UserDto.IsIdpAdmin ? "1" : "0";
            var roleTag = UserDto.Role == UserRole.Administrator ? 1 : UserDto.Role == UserRole.RegularUser ? 2 : 3;

            RdoRoleGroup.SelectCellWithTag((nint)roleTag);

            foreach (NSTableColumn column in MemberTableView.TableColumns())
            {
                MemberTableView.RemoveColumn(column);
            }
            MemberTableView.Delegate = new TableDelegate();
            var listView = new GroupsDataSource {
                Entries = Groups
            };
            var columnNames = new List <ColumnOptions> {
                new ColumnOptions {
                    Id = "Name", DisplayName = "Group Name", DisplayOrder = 1, Width = 200
                }
            };
            var columns = ListViewHelper.ToNSTableColumns(columnNames);

            foreach (var column in columns)
            {
                MemberTableView.AddColumn(column);
            }
            MemberTableView.DataSource = listView;
            MemberTableView.ReloadData();
            BtnApply.Hidden    = !IsSystemDomain;
            LoginAsUser.Hidden = !IsSystemDomain;

            //Events
            this.BtnApply.Activated       += OnClickSaveButton;
            this.BtnAddGroup.Activated    += OnClickAddGroupButton;
            this.BtnRemoveGroup.Activated += OnClickRemoveGroupButton;
            this.LoginAsUser.Activated    += OnLoginUserClicked;
        }
Ejemplo n.º 6
0
        public override void AwakeFromNib()
        {
            base.AwakeFromNib();

            this.BtnClose.Activated += (object sender, EventArgs e) => {
                this.Close();
                NSApplication.SharedApplication.StopModalWithCode(0);
            };
            this.BtnAdd.Activated += OnClickAddGroupButton;

            foreach (NSTableColumn column in GroupsTableView.TableColumns())
            {
                GroupsTableView.RemoveColumn(column);
            }
            GroupsTableView.Delegate = new TableDelegate();
            var groupInfo = new GroupMembershipDto()
            {
                Groups = new List <GroupDto> ()
            };

            ActionHelper.Execute(delegate() {
                var auth  = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto.ServerName);
                groupInfo = SnapInContext.Instance.ServiceGateway.Tenant.Search(ServerDto, TenantName, DomainName, MemberType.GROUP, SearchType.NAME, auth.Token);
            });

            var listView = new GroupsDataSource {
                Entries = groupInfo.Groups
            };
            var columnNames = new List <ColumnOptions> {
                new ColumnOptions {
                    Id = "Name", DisplayName = "Group Name", DisplayOrder = 1, Width = 500
                },
            };
            var columns = ListViewHelper.ToNSTableColumns(columnNames);

            foreach (var column in columns)
            {
                GroupsTableView.AddColumn(column);
            }
            GroupsTableView.DataSource = listView;
            GroupsTableView.ReloadData();
        }