예제 #1
0
 public SuveilledItemCache(ITableStorageDb <SurveilledItem> realDb)
 {
     _cache       = new TableStorageDbMock <SurveilledItem>();
     _realDb      = realDb;
     _isLocked    = false;
     _simpleCache = new Dictionary <string, SimpleCache>();
 }
예제 #2
0
 public TriggerAllSurveillanceItems(IJsonStorage <TModel> backupDb, IAzureSearch <TModel> index, ITableStorageDb <SurveilledItem> suvItemDb, IEnumerable <ISurveillanceAction> allRegisteredSurvAction, IQueue queueToPutSingleSurveillances)
 {
     _backupDb  = backupDb;
     _index     = index;
     _suvItemDb = suvItemDb;
     _allRegisteredSurvAction       = allRegisteredSurvAction;
     _queueToPutSingleSurveillances = queueToPutSingleSurveillances;
 }
예제 #3
0
        private static List <SurveilledItem> GetAllSurveillanceItems(ITableStorageDb <SurveilledItem> suvItemDb, IEnumerable <ISurveillanceAction> allRegisteredSurvAction)
        {
            var result = new List <SurveilledItem>();

            foreach (var registeredSurvAction in allRegisteredSurvAction)
            {
                var actionKey = registeredSurvAction.GetKey();
                foreach (var surveillanceItem in suvItemDb.Get(actionKey))
                {
                    result.Add(surveillanceItem);
                }
            }

            return(result);
        }
예제 #4
0
 public static async Task <IEnumerable <SurveilledItem> > GetAllForteam(string actionKey, Team team, ITableStorageDb <SurveilledItem> db)
 {
     return(await db.Query(actionKey, "TeamProjectInt", team.Id));
 }
예제 #5
0
 public static async Task <SurveilledItem> Get(string actionKey, string actionIdentifiser, Team team, ITableStorageDb <SurveilledItem> db)
 {
     return(await db.GetAsync(SurveilledItem.GetPartitionKey(actionKey), GetRowKey(team, actionIdentifiser), throwException : false));
 }
예제 #6
0
 public static async Task <IEnumerable <SurveilledItem> > GetAllForActionIdentifier(string actionKey, string actionIdentifier, ITableStorageDb <SurveilledItem> db)
 {
     return(await Task.FromResult(db.Query(actionKey, "ActionInstanceIdentifier", actionIdentifier)));
 }
예제 #7
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);
        }