public LdapSync() { _groupMemberships = new List <EntityGroupMembership>(); _groupService = new ServiceGroup(); _computerService = new ServiceComputer(); _groupMembershipService = new ServiceGroupMembership(); }
public ProvisionCompleteTasks() { _groupService = new ServiceGroup(); _computerService = new ServiceComputer(); _groupMembershipService = new ServiceGroupMembership(); _groupMemberships = new List <EntityGroupMembership>(); }
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); }
public GroupMembershipController() { _groupMembershipServices = new ServiceGroupMembership(); }