/// <summary>
        /// Convert usage report to object for aggregate usage report
        /// </summary>
        /// <param name="usageReport">User usage report</param>
        /// <returns></returns>
        internal static UserAggregatedUsage ConvertUsageReportToAggregatedUsage(this UserResourceUsageReport usageReport)
        {
            var userAggregatedUsage = new UserAggregatedUsage
            {
                User           = usageReport.User,
                NodeTypeReport = usageReport.NodeTypeReport,
                TotalUsage     = usageReport.TotalUsage
            };

            return(userAggregatedUsage);
        }
        public static UserResourceUsageReportExt ConvertIntToExt(this UserResourceUsageReport report)
        {
            UserResourceUsageReportExt convert = new UserResourceUsageReportExt()
            {
                User            = report.User.ConvertIntToExt(),
                NodeTypeReports = report.NodeTypeReport.Select(s => s.ConvertIntToExt())
                                  .ToArray(),
                StartTime           = report.StartTime,
                EndTime             = report.EndTime,
                TotalCorehoursUsage = report.TotalUsage
            };

            return(convert);
        }
示例#3
0
        public virtual UserResourceUsageReport GetUserResourceUsageReport(long userId, DateTime startTime, DateTime endTime)
        {
            AdaptorUser user           = unitOfWork.AdaptorUserRepository.GetById(userId);
            var         userTotalUsage = GetResourceUsageForUser(user, startTime, endTime, out ICollection <NodeTypeAggregatedUsage> userNodeTypeAggregatedUsage);

            UserResourceUsageReport userReport = new UserResourceUsageReport
            {
                User           = user,
                NodeTypeReport = userNodeTypeAggregatedUsage,
                TotalUsage     = userTotalUsage,
                StartTime      = startTime,
                EndTime        = endTime
            };

            return(userReport);
        }