/// <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); }
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); }