/// <summary> /// Convert submitted task to object for extended usage reporting /// </summary> /// <param name="task">Task</param> /// <param name="job">Job</param> /// <returns></returns> internal static SubmittedTaskInfoExtendedUsageReport ConvertToExtendedUsageReport(this SubmittedTaskInfo task, SubmittedJobInfo job) { var taskInfoExtendedUsageReport = new SubmittedTaskInfoExtendedUsageReport { Id = task.Id, Name = task.Name, JobId = job.Id, JobName = job.Name, Project = job.Project, Priority = task.Priority, State = task.State, CpuHyperThreading = task.CpuHyperThreading ?? false, ScheduledJobId = task.ScheduledJobId, CommandTemplateId = task.Specification.CommandTemplate.Id, AllocatedTime = task.AllocatedTime, StartTime = task.StartTime, Usage = CalculateUsedResourcesForTask(task), EndTime = task.EndTime }; return(taskInfoExtendedUsageReport); }
public static SubmittedTaskInfoExtendedUsageReportExt ConvertIntToExt(this SubmittedTaskInfoExtendedUsageReport taskInfo) { var taskInfoExtendedUsageReportExt = new SubmittedTaskInfoExtendedUsageReportExt { Id = taskInfo.Id, Name = taskInfo.Name, JobId = taskInfo.JobId, JobName = taskInfo.JobName, Project = taskInfo.Project, Priority = taskInfo.Priority.ConvertIntToExt(), State = taskInfo.State.ConvertIntToExt(), CpuHyperThreading = taskInfo.CpuHyperThreading ?? false, CommandTemplateId = taskInfo.CommandTemplateId, ScheduledJobId = taskInfo.ScheduledJobId, AllocatedTime = taskInfo.AllocatedTime, CorehoursUsage = taskInfo.Usage, StartTime = taskInfo.StartTime, EndTime = taskInfo.EndTime }; return(taskInfoExtendedUsageReportExt); }