private static async Task <Surveillance> GetSurveillance(Hit hit, ISurveillanceAction isurveillance, Team teamForLoggedInUser, ITableStorageDb <SurveilledItem> surveiItemDb, IJsonStorage <LatestSurveillanceResult> surveilResultDb) { var s = new Surveillance { ActionFriendlyName = isurveillance.GetFriendlyName(), ActionKey = isurveillance.GetKey(), UrlToToggle = GetRoute(hit.CommonIdentifier, isurveillance.GetKey(), hit.GetActionInstanceIdentifier(), hit.RegisterEnvironmentInt) }; s.TeamsThatSurveillThisInstance = (await SurveilledItem.GetAllForActionIdentifier(isurveillance.GetKey(), hit.GetActionInstanceIdentifier(), surveiItemDb)).ToList(); if (s.TeamsThatSurveillThisInstance.Any(team => team.TeamProjectInt == teamForLoggedInUser.Id)) { s.OriginalContentAsJson = s.TeamsThatSurveillThisInstance.First(team => team.TeamProjectInt == teamForLoggedInUser.Id).ContentAsJson; s.LatestSurveillanceResultForMyTeam = await LatestSurveillanceResult.GetLatestSurveillanceResult(s.ActionKey, hit.GetActionInstanceIdentifier(), teamForLoggedInUser, surveilResultDb); s.IsChecked = true; } else { s.IsChecked = false; } return(s); }
public async Task <bool> SetSurveillanceInfo(IDependencyInjector di, List <Hit> hits, Team teamForLoggedInUser) { if (!SurveillanceEnabled) { return(false); } var resultForMyTeam = await GetLatestResultForMyTeam(teamForLoggedInUser, di); Surveillances = new List <Surveillance>(); foreach (var hit in hits) { var surveillances = (await Surveillance.GetPossibleSurveillances(teamForLoggedInUser, hit, di, resultForMyTeam)).ToList(); if (!surveillances.Any()) { continue; } Surveillances.AddRange(surveillances); } return(true); }