private static async Task <JobStatusResponse> CheckJobStatus(UserResetJob userResetJob) { using (var submitRequest = new XboxLiveHttpRequest()) { var requestMsg = new HttpRequestMessage(HttpMethod.Get, new Uri(baseUri, "jobs/" + userResetJob.JobId)); if (!string.IsNullOrEmpty(userResetJob.CorrelationId)) { requestMsg.Headers.Add("X-XblCorrelationId", userResetJob.CorrelationId); } string eToken = await Auth.GetETokenSilentlyAsync(userResetJob.Scid, userResetJob.Sandbox); AddRequestHeaders(ref requestMsg, eToken); var response = await submitRequest.SendAsync(requestMsg); string responseConent = await response.Content.ReadAsStringAsync(); var jobstatus = JsonConvert.DeserializeObject <JobStatusResponse>(responseConent); Log.WriteLog($"Checking {userResetJob.JobId} job stauts: {jobstatus.Status}"); return(jobstatus); } }
private static async Task <UserResetJob> SubmitJobAsync(string sandbox, string scid, string xuid) { var job = new UserResetJob { Sandbox = sandbox, Scid = scid }; using (var submitRequest = new XboxLiveHttpRequest()) { var requestMsg = new HttpRequestMessage(HttpMethod.Post, new Uri(baseUri, "submitJob")); var requestContent = JsonConvert.SerializeObject(new JobSubmitReqeust(scid, xuid)); requestMsg.Content = new StringContent(requestContent); string eToken = await Auth.GetETokenSilentlyAsync(scid, sandbox); AddRequestHeaders(ref requestMsg, eToken); var response = await submitRequest.SendAsync(requestMsg); // remove "" if found one. string responseContent = await response.Content.ReadAsStringAsync(); job.JobId = responseContent.Trim(new char[] { '\\', '\"' }); job.CorrelationId = response.CollrelationId; Log.WriteLog($"Submitting delete job for scid:{scid}, user:{xuid}, sandbox:{sandbox} succeeded. Jobid: {job.JobId}"); } return(job); }