private IEnumerator <TEntry> GetEntryEnumerator(IQueryExecutor queryExecutor, EntryCollectionPropertyAttribute propertyAttribute, string filter) { if (propertyAttribute.MatchingRule == MatchingRuleType.Children) { return(queryExecutor.ExecuteQuery <TEntry>(_entryObject.Entry, propertyAttribute.Scope, filter)); } return(queryExecutor.ExecuteQuery <TEntry>(filter)); }
private bool RunValidationQueries(NightWatchmanSettings settings, CommonExtractionContext context) { foreach (var query in settings.Queries) { if (!string.IsNullOrEmpty(query.ValidationQuery)) { var validationParameters = new[] { new SqlParameter("@startdate", SqlDbType.DateTime) { Value = context.StartDate }, new SqlParameter("@enddate", SqlDbType.DateTime) { Value = context.EndtDate } }; var validationData = queryExecutor.ExecuteQuery( query.ValidationQuery, "Validate_" + query.Name, validationParameters); if (!ValidateQueryResult(query, validationData)) { return(false); } } } return(true); }
public async static Task ExecuteSynchronization(IQueryExecutor queryExecutor, IQueryBuilder queryBuilder, IProcessingStrategyFactory processingStrategyFactory) { var allQueries = GetQueriesForGameObjects(queryBuilder); foreach (var query in allQueries) { try { var queryResponse = await queryExecutor.ExecuteQuery(query); var currentQueryProcessingStrategy = processingStrategyFactory.GetProcessingStrategy(queryResponse.QueryObjectType); await currentQueryProcessingStrategy.ProcessQueryResponse(queryResponse); } catch (Exception ex) { string fatalFormat = string.Format("Exception caught while trying to synchronize {0}s to the database: {1}", query.ObjectType, ex); logger.FatalFormat(fatalFormat); EmailNotifier.SendExceptionEmail(ExceptionEmailSubject, fatalFormat); } } }
public async static Task ExecuteSynchronization(IQueryExecutor queryExecutor, IQueryBuilder queryBuilder, IProcessingStrategyFactory processingStrategyFactory) { var allQueries = GetQueriesForGameObjects(queryBuilder); foreach (var query in allQueries) { try { var queryResponse = await queryExecutor.ExecuteQuery(query); var currentQueryProcessingStrategy = processingStrategyFactory.GetProcessingStrategy(queryResponse.QueryObjectType); await currentQueryProcessingStrategy.ProcessQueryResponse(queryResponse); } catch (Exception ex) { string fatalFormat = string.Format("Exception caught while trying to synchronize {0}s to the database: {1}", query.ObjectType, ex); logger.FatalFormat(fatalFormat); EmailNotifier.SendExceptionEmail(ExceptionEmailSubject, fatalFormat); } } }