public static RepositorySummmaryStats QueryRepositoryStats(Guid repositoryId, DateTime start, DateTime end) { if (!_ready) { return(null); } try { var retval = new RepositorySummmaryStats() { ActionType = RepositoryActionConstants.Query }; //TODO: Query stats //using (var context = new DataCoreEntities()) //{ // var repository = context.RepositoryDefinition.FirstOrDefault(x => x.UniqueKey == repositoryId); // if (repository == null) // throw new Exception("Unknown Repository"); // var actionId = (int)RepositoryActionConstants.Query; // var lambda = context.RepositoryStat.Where(x => start <= x.CreatedDate && // x.CreatedDate < end && // (repositoryId == Guid.Empty || repository.RepositoryId == x.RepositoryId) && // x.RepositoryActionTypeId == actionId) // .OrderBy(x => x.CreatedDate); // long count = 0; // long totalElapsed = 0; // if (lambda.Any()) // { // count = lambda.Sum(x => x.Count); // totalElapsed = lambda.Sum(x => x.Elapsed); // } // var elapsedPer = 0.0; // if (count > 0) elapsedPer = ((totalElapsed * 1.0) / count); // retval.ItemCount = (int)count; // retval.Elapsed = (int)elapsedPer; // retval.RepositoryId = repositoryId; //} return(retval); } catch (Exception ex) { LoggerCQ.LogError(ex); return(null); } }
public static void Log(RepositorySummmaryStats item) { try { lock (_statCache) { if (!_statCache.ContainsKey(item.RepositoryId)) { _statCache.Add(item.RepositoryId, new List <RepositorySummmaryStats>()); } _statCache[item.RepositoryId].Add(item); } } catch (Exception ex) { LoggerCQ.LogError(ex); } }