/// <summary>
        /// Convert submitted job to object for usage reporting
        /// </summary>
        /// <param name="job">Job</param>
        /// <returns></returns>
        internal static SubmittedJobInfoUsageReport ConvertToUsageReport(this SubmittedJobInfo job)
        {
            var jobInfoUsageReport = new SubmittedJobInfoUsageReport
            {
                Id                 = job.Id,
                Name               = job.Name,
                State              = job.State,
                Project            = job.Project,
                CreationTime       = job.CreationTime,
                SubmitTime         = job.SubmitTime,
                StartTime          = job.StartTime,
                EndTime            = job.EndTime,
                TotalAllocatedTime = job.TotalAllocatedTime ?? 0
            };

            jobInfoUsageReport.TasksUsageReport = job.Tasks.Select(s => s.ConvertToUsageReport());
            jobInfoUsageReport.TotalUsage       = jobInfoUsageReport.TasksUsageReport.Sum(s => s.Usage);
            return(jobInfoUsageReport);
        }
Ejemplo n.º 2
0
        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);
        }