public IEnumerable <ReportRecord> GenerateReportData(ReportFilterModel filter) { var entries = _usedActionservice.GetUsedActions().AsQueryable().ApplyFilter(filter); return(entries.Select(x => new { action = filter.GroupByAction ? x.Action.Name : null, user = filter.GroupByUser ? x.User.UserName : null, partner = filter.GroupByPartner ? x.Partner.Name : null, partnerType = filter.GroupByPartnerType ? x.Partner.PartnerType.Name : null, originalValue = x.OriginalValue, actionValue = x.ActionValue }).GroupBy(g => new { g.action, g.user, g.partner, g.partnerType }) .Select(g => new ReportRecord() { ActionName = g.Key.action, UserName = g.Key.user, PartnerName = g.Key.partner, PartnerTypeName = g.Key.partnerType, OriginalValue = g.Sum(x => x.originalValue ?? 0), ActionValue = g.Sum(x => x.actionValue) }).AsEnumerable()); }
public IEnumerable <UsedActionModel> GetAll() { return(_service.GetUsedActions().Select(x => _mapper.Map <UsedAction, UsedActionModel>(x))); }