public static SuspendedUserResult SuspendItem(this AbstractProxy proxy, object item, Modalidade modalidade, HttpClient httpClient) { SuspendedUserResult suspendedResult = new SuspendedUserResult() { MoodleId = null, LastUrl = "" }; UpdateUserClient client = new UpdateUserClient(); GetUserByUsernameClient getUserClient = new GetUserByUsernameClient(); client.AddHttpClient(httpClient); getUserClient.AddHttpClient(httpClient); proxy.BuildMoodleClient(client, MoodleTokenType.OfficialMoodleApiFunctions); proxy.BuildMoodleClient(getUserClient, MoodleTokenType.LocalMoodleExternalApiGetInfoToken); long?moodleId = null; if (item is Professor professor) { moodleId = professor?.GetMoodleUserId(modalidade, getUserClient, httpClient); } else if (item is Aluno aluno) { moodleId = aluno?.GetMoodleUserId(modalidade, getUserClient, httpClient); } if (!moodleId.HasValue) { return(suspendedResult); } UpdateUserRequest request = new UpdateUserRequest() { Id = moodleId.Value, Suspended = 1 }; Task <EmptyResponse> task = client.Post(request); task.Wait(); suspendedResult.LastUrl = client.LastUrl; suspendedResult.MoodleId = moodleId; return(suspendedResult); }