public async Task <IEnumerable <OpportunityAuthResponse> > MyList(IUser user) { var list = await _opportunityService.MyList(user); var agencies = _lookupService.Get("agency"); var result = _mapper.Map <IEnumerable <OpportunityAuthResponse> >(list); foreach (var item in result) { var opportunity = list.Single(l => l.Id == item.Id); item.CanModify = !opportunity.ClosedAt.HasValue; item.NumberOfResponses = opportunity.OpportunityResponse.Count(or => or.SubmittedAt != null && or.WithdrawnAt == null); } return(result); }