public virtual UserGroupResourceUsageReport GetUserGroupResourceUsageReport(long userId, long groupId, DateTime startTime, DateTime endTime) { double?groupTotalUsage = 0; var userAggregatedReports = new List <UserAggregatedUsage>(); AdaptorUserGroup group = unitOfWork.AdaptorUserGroupRepository.GetById(groupId); foreach (AdaptorUser user in group.Users) { var userResourceUsageReport = GetUserResourceUsageReport(user.Id, startTime, endTime).ConvertUsageReportToAggregatedUsage(); groupTotalUsage += userResourceUsageReport?.TotalUsage; userAggregatedReports.Add(userResourceUsageReport); } var userGroupReport = new UserGroupResourceUsageReport { UserReport = userAggregatedReports, TotalUsage = groupTotalUsage, StartTime = startTime, EndTime = endTime }; return(userGroupReport); }
public static AdaptorUserGroupExt ConvertIntToExt(this AdaptorUserGroup userGroup) { AdaptorUserGroupExt convert = new AdaptorUserGroupExt() { Id = userGroup.Id, Name = userGroup.Name, Description = userGroup.Description, AccountingString = userGroup.AccountingString, Users = userGroup.Users.Select(s => s.ConvertIntToExt()) .ToArray() }; return(convert); }