private static void MapRow(IDataRecord record, ICollection <GetWhitelistEntriesResultItem> items, IDictionary <int, List <GetWhitelistEntriesResultItemApp> > appMap) { var item = items.FirstOrDefault(x => x.Id == record.GetInt32(0)); if (item == null) { item = new GetWhitelistEntriesResultItem { Id = record.GetInt32(0), DomainName = (string)record["DomainName"] }; items.Add(item); appMap[item.Id] = new List <GetWhitelistEntriesResultItemApp>(); } var appIdValue = record["ApplicationId"]; if (appIdValue is DBNull) { return; } var app = new GetWhitelistEntriesResultItemApp { ApplicationId = (int)appIdValue, Name = (string)record["ApplicationName"] }; appMap[item.Id].Add(app); }
private async Task <GetWhitelistEntriesResultItem> GetEntry( Func <GetWhitelistEntriesResultItem, bool> filter = null) { GetWhitelistEntriesResultItem entry = null; async Task <bool> DoQuery() { var query = new GetWhitelistEntries(); var result = await _apiClient.QueryAsync(query); if (filter == null) { entry = result.Entries?.LastOrDefault(); return(true); } foreach (var item in result.Entries) { if (!filter(item)) { return(false); } entry = item; return(true); } return(false); } if (!await ActionExtensions.Retry(DoQuery)) { throw new TestFailedException("Whitelist entry was not found."); } return(entry); }