public virtual async Task <IEnumerable <LatestSurveillanceResult> > GetLatestResults() { var latestResults = (await LatestSurveillanceResult.GetLatestSurveillanceResult(GetTeam(), Di.GetInstance <IJsonStorage <LatestSurveillanceResult> >())).ToList(); var claimDb = Di.GetInstance <ITableStorageDb <SurveilledItem> >(); foreach (var possibleSurveillanceAction in Di.GetAllInstancesOf <ISurveillanceAction>()) { foreach (var surveilanceItem in await SurveilledItem.GetAllForteam(possibleSurveillanceAction.GetKey(), GetTeam(), claimDb)) { var existing = latestResults.FirstOrDefault(result => result.ActionInstanceIdentifier == surveilanceItem.ActionInstanceIdentifier && result.ActionKey == surveilanceItem.ActionKey); if (existing != null) { if (string.IsNullOrEmpty(existing.CommonIdentifier)) { existing.CommonIdentifier = surveilanceItem.CommonIdentifier; } existing.Taken = true; continue; } var lsr = new LatestSurveillanceResult { ActionKey = surveilanceItem.ActionKey, ActionInstanceIdentifier = surveilanceItem.ActionInstanceIdentifier, CommonIdentifier = surveilanceItem.CommonIdentifier ?? surveilanceItem.ActionInstanceIdentifier, RegisterEnvironmentInt = surveilanceItem.RegisterEnvironmentInt, RegisteredBy = surveilanceItem.RegisteredByFriendlyName, TeamProjectInt = surveilanceItem.TeamProjectInt, Success = true, Taken = true }; latestResults.Add(lsr); } } return(latestResults.Where(x => x.Taken)); }