public Guid GetOrCreate(string stackTrace, string source) { return(GetOrCreate(stackTrace, hash => new Stack { Id = Guid.NewGuid(), SourceId = _stackSourceRepository.GetId(source), HashValue = hash, StackTrace = stackTrace })); }
public Guid GetOrCreate(string queryText, string querySource) { return(GetOrCreate(queryText, hash => { var historyItem = new NormQueryTextHistory { Id = Guid.NewGuid(), HashValue = hash, NormalizedQuery = queryText }; _pendingQuerySources.Add(new NormQueryTextSource { QuerySourceId = _querySourceRepository.GetId(querySource), NormQueryTextId = historyItem.Id }); return historyItem; })); }
public void RegisterLock(QueryLockInfo lockInfo) { if (lockInfo.TimeStamp <= _lastQueryDate.Value) { return; } Guid blockedTextId = _queryTextStoringService.GetOrCreate(lockInfo.Blocked.Text, "LongLocks"); Guid blockerTextId = _queryTextStoringService.GetOrCreate(lockInfo.Blocker.Text, "LongLocks"); Guid lockingMode = _lockModeRepository.GetId(lockInfo.LockMode); var locksInfo = _dateRepository.CreateInfoRecord <LongInfoRecord>(lockInfo.TimeStamp); locksInfo.BlockedQueryId = blockedTextId; locksInfo.BlockerQueryId = blockerTextId; locksInfo.LockingModeId = lockingMode; locksInfo.Duration = lockInfo.Duration; _pendingLocksInfo.Add(locksInfo); }