private async Task GetElementsAndInsertIntoIndex(IAgroManager agro, Type dbType) { var extGetContainer = await agro.GetOperationByDbType(dbType).GetElements(); var elements = extGetContainer.Result as List <DocumentBase>; elements?.ForEach(element => AddDocument(element)); }
public async Task GenerateIndex(IAgroManager agro) { var assm = typeof(BusinessName).Assembly; var types = assm.GetTypes().Where(type => type.GetProperty("CosmosEntityName") != null && !(new[] { typeof(EntityContainer), typeof(User) }).Contains(type)).ToList(); IEnumerable <Task> tasks; ConcurrentBag <object> bag; bag = new ConcurrentBag <object>(); tasks = types.Select(async type => bag.Add(GetElementsAndInsertIntoIndex(agro, type)) ); await Task.WhenAll(tasks); }
public CosmosDbInitializer(IAgroManager manager, string assembly_Inputs, string assembly_Entities) { Manager = manager; Assembly_Inputs = !string.IsNullOrWhiteSpace(assembly_Inputs) ? Assembly.Load(assembly_Inputs) : typeof(BusinessNameInput).Assembly; Assembly_Entities = !string.IsNullOrWhiteSpace(assembly_Entities) ? Assembly.Load(assembly_Entities) : typeof(BusinessName).Assembly; }