public TotalStoredProcedureStatistics GetByUniqueKey(TotalStoredProcedureStatisticsUniqueKey key) { using (var context = CreateContextFunc()) { return(context.TotalStoredProcedureStatistics.Where(x => x.DatabaseID == key.DatabaseID && x.Date == key.Date && x.ProcedureID == key.ProcedureID).SingleOrDefault()); } }
private void PersistTotalProcedureStatistics(TotalStoredProcedureStatistics newStatistics) { var repository = repositories.GetTotalStoredProcedureStatisticsRepository(); var uniqueKey = new TotalStoredProcedureStatisticsUniqueKey() { DatabaseID = newStatistics.DatabaseID, Date = newStatistics.Date, ProcedureID = newStatistics.ProcedureID }; var oldStatistics = repository.GetByUniqueKey(uniqueKey); if (oldStatistics == null) { repository.Create(newStatistics); } else { TotalStoredProcedureStatisticsMergeUtility.ApplySample(oldStatistics, newStatistics); repository.Update(oldStatistics); } }