Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }