private static async Task SeedCollectionAsync(string seedList, string indexName) { var result = new SearchInitResponse(); try { var commandRepository = new SeachCommandRepository <TDocument>(); { await commandRepository.AzureSearchService.LoadIndexesAsync(); var seeds = JsonConvert.DeserializeObject <List <TDocument> >(seedList); var del = await commandRepository.DeleteIndex(indexName); var insert = await commandRepository.CreateDocumentsInIndex(seeds, indexName); if (!del) { result.MessageList.Add("Delete failed"); } if (!insert) { result.MessageList.Add("Insert failed"); } } } catch (Exception ex) { ElmahLogger.LogError(ex); } }
private static async Task <SearchInitResponse> SeedCollectionAsync(string seedList, string indexName) { var result = new SearchInitResponse(); try { var queryRepository = new SearchQueryRepository <TDocument>(); var commandRepository = new SeachCommandRepository <TDocument>(); { await queryRepository.LoadIndexesAsync(); var seeds = JsonConvert.DeserializeObject <List <TDocument> >(seedList); var del = await commandRepository.DeleteIndex(indexName); var insert = await commandRepository.CreateDocumentsInIndex(seeds, indexName); var stats = await queryRepository.GetIndexStatistics(indexName); var indexes = await queryRepository.GetIndexes(); if (!del) { result.MessageList.Add("Delete failed"); } if (!insert) { result.MessageList.Add("Insert failed"); } result.StorageSize = stats.StorageSize.ToString(CultureInfo.InvariantCulture); result.DocumentCount = stats.DocumentCount.ToString(CultureInfo.InvariantCulture); result.Indexes = indexes.ToList().Select(x => x.Name).ToList(); } } catch (Exception ex) { ElmahLogger.LogError(ex); } return(result); }
public SearchCommandService() { this.repository = new SeachCommandRepository <TDocument>(); }