private void ResolveUserGroupDelta(DtDelta action) { if (action.IsDelete) { //remove from AD var userRole = sqlService.GetUserGroupForId(action.DataForDelete); if (userRole != null) { var user = sqlService.GetUserByUsername(userRole.Username); if (user != null) { var adUsername = user.AdUsername; adservice.RemoveUserGroup(adUsername, userRole.Group); } //remove from sql sqlService.RemoveUserGroupRecord(action.DataForDelete); } } else { //add to AD var userRole = action.DataAsUserGroup; var userByUsername = sqlService.GetUserByUsername(userRole.Username); if (userByUsername == null) { Trace.WriteLine("Could not find user related to group"); return; } var adUsername = userByUsername.AdUsername; adservice.AddUserGroup(adUsername, userRole.Group); //insert into sql sqlService.CreateUserGroupRecord(userRole); } }