public async Task <IActionResult> OnPostGetResourceUsageReportForJobAsync() { try { string username = "******"; string password = "******"; //AuthenticateUserPassword sb.AppendLine(String.Format("username: {0}, password: {1}", username, password)); string sessionCode = await AuthenticateUserPasswordAsync(username, password); sb.AppendLine(String.Format("sessionCode: {0}", sessionCode)); //GetResourceUsageReportForJob sb.AppendLine(String.Format("Getting usage report for Job: {0}", 1)); SubmittedJobInfoUsageReportExt resourceUsageReportforJob = await GetResourceUsageReportForJobAsync(lastSubmittedJobId, sessionCode); //TODO replace lastSubmittedJobId //sb.AppendLine(String.Format(resourceUsageReportforJob.ToString())); ResponseContent = sb.ToString(); } catch (Exception e) { ResponseContent = e.Message; } return(Page()); }
private static async Task <SubmittedJobInfoUsageReportExt> GetResourceUsageReportForJobAsync(long jobId, string sessionCode) { var client = new RestClient(baseUrl); var request = new RestRequest("JobReporting/GetResourceUsageReportForJob", Method.Post) { RequestFormat = DataFormat.Json }.AddJsonBody( new GetResourceUsageReportForJobModel { JobId = jobId, SessionCode = sessionCode }); var response = await client.ExecuteAsync(request); if (response.StatusCode != System.Net.HttpStatusCode.OK) { throw new Exception(response.Content.ToString()); } else { sb.AppendLine(JToken.Parse(response.Content).ToString(Newtonsoft.Json.Formatting.Indented)); } SubmittedJobInfoUsageReportExt jobUsageReport = JsonConvert.DeserializeObject <SubmittedJobInfoUsageReportExt>(response.Content.ToString()); return(jobUsageReport); }
public static SubmittedJobInfoUsageReportExt ConvertIntToExt(this SubmittedJobInfoUsageReport jobInfo) { var jobInfoUsageReportExt = new SubmittedJobInfoUsageReportExt { Id = jobInfo.Id, Name = jobInfo.Name, State = jobInfo.State.ConvertIntToExt(), Project = jobInfo.Project, CreationTime = jobInfo.CreationTime, SubmitTime = jobInfo.SubmitTime, StartTime = jobInfo.StartTime, EndTime = jobInfo.EndTime, TotalAllocatedTime = jobInfo.TotalAllocatedTime, TotalCorehoursUsage = jobInfo.TotalUsage, SubmittedTasks = jobInfo.TasksUsageReport.Select(s => s.ConvertIntToExt()) .ToList() }; return(jobInfoUsageReportExt); }