public DtoApiBoolResponse AddToFirstRunGroup() { var clientGuid = RequestContext.Principal.Identity.Name; var client = new ServiceComputer().GetByGuid(clientGuid); if (client == null) { return new DtoApiBoolResponse() { Value = false } } ; var membership = new EntityGroupMembership(); membership.ComputerId = client.Id; membership.GroupId = -2; new ServiceGroupMembership().AddMembership(new List <EntityGroupMembership>() { membership }); return(new DtoApiBoolResponse() { Value = true }); }
private void AddComputerToToemsGroup(EntityComputer computer) { if (string.IsNullOrEmpty(ServiceSetting.GetSettingValue(SettingStrings.NewProvisionDefaultGroup))) { Logger.Debug("New Provision default group is not enabled. Skipping"); return; } var group = _groupService.GetGroupByName(ServiceSetting.GetSettingValue(SettingStrings.NewProvisionDefaultGroup)); if (group == null) { return; } if (group.Type.Equals("Dynamic")) { return; } var groupMembership = new EntityGroupMembership(); groupMembership.ComputerId = computer.Id; groupMembership.GroupId = group.Id; _groupMemberships.Add(groupMembership); _groupMembershipService.AddMembership(_groupMemberships); }
private bool Update(int groupId) { var queries = _groupService.GetDynamicQuery(groupId); var members = _groupService.GetDynamicMembers(queries); if (members == null) { _uow.GroupMembershipRepository.DeleteRange(x => x.GroupId == groupId); _uow.Save(); return(true); } var membershipList = new List <EntityGroupMembership>(); foreach (DataTable table in members.Tables) { if (table.Rows.Count == 0) { _uow.GroupMembershipRepository.DeleteRange(x => x.GroupId == groupId); _uow.Save(); return(true); } foreach (DataRow row in table.Rows) { var membership = new EntityGroupMembership(); var computerId = row["computer_id"]; membership.ComputerId = Convert.ToInt32(computerId); membership.GroupId = groupId; membershipList.Add(membership); } } //Delete members that no longer belong var existingMembers = _groupService.GetGroupMembers(groupId); foreach (var existingMember in existingMembers) { if (membershipList.All(x => x.ComputerId != existingMember.Id)) { _uow.GroupMembershipRepository.DeleteRange(x => x.ComputerId == existingMember.Id && x.GroupId == groupId); } _uow.Save(); } //add the new members var result = new ServiceGroupMembership().AddMembership(membershipList); if (result != null) { if (result.Success) { return(true); } } return(false); }
private void CreateMembershipList(EntityComputer computer, string dn) { if (dn == _baseDn) { return; } var parentOu = dn.Substring(dn.IndexOf(",", StringComparison.Ordinal) + 1); var parentOuGroup = _groupService.GetGroupByDn(parentOu); if (parentOuGroup == null) { return; } if (parentOuGroup.Id < 1) { return; } var groupMembership = new EntityGroupMembership(); groupMembership.ComputerId = computer.Id; groupMembership.GroupId = parentOuGroup.Id; _groupMemberships.Add(groupMembership); CreateMembershipList(computer, parentOu); }