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;
 }