Example #1
0
        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());
        }
Example #2
0
        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);
        }