Пример #1
0
        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);
            }
        }