Пример #1
0
        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);
        }