public static void Process(string SearchName) { /* determin which dataacquirer and which dataindexer to be instantiated with "Arg" argument */ SearchElement search = Config.Searches[SearchName]; Type AcquirerType = Type.GetType(search.DataAcquirer); Type IndexerType = Type.GetType(search.DataIndexer); dataAcquirer = (IDataAcquirer)Activator.CreateInstance(AcquirerType, new object[] { search }); dataIndexer = (IDataIndexer)Activator.CreateInstance(IndexerType, new object[] { search }); /* end */ List<ISearchEntity> data = dataAcquirer.GetData(); List<ISearchEntity> CreateEntities = new List<ISearchEntity>(); List<ISearchEntity> DeleteEntities = new List<ISearchEntity>(); foreach (ISearchEntity entity in data) { if (entity.ProcessType == EntityProcessType.insert) AddCreateIndex(CreateEntities, entity); else if (entity.ProcessType == EntityProcessType.update) AddCreateIndex(CreateEntities, entity); else if (entity.ProcessType == EntityProcessType.delete) DeleteEntities.Add(entity); else continue; } dataIndexer.CreateIndex(CreateEntities); dataIndexer.DeleteIndex(DeleteEntities); Console.Read(); }
public static void Process(string SearchName) { /* determin which dataacquirer and which dataindexer to be instantiated with "Arg" argument */ SearchElement search = Config.Searches[SearchName]; Type AcquirerType = Type.GetType(search.DataAcquirer); Type IndexerType = Type.GetType(search.DataIndexer); dataAcquirer = (IDataAcquirer)Activator.CreateInstance(AcquirerType, new object[] { search }); dataIndexer = (IDataIndexer)Activator.CreateInstance(IndexerType, new object[] { search }); /* end */ List <ISearchEntity> data = dataAcquirer.GetData(); List <ISearchEntity> CreateEntities = new List <ISearchEntity>(); List <ISearchEntity> DeleteEntities = new List <ISearchEntity>(); foreach (ISearchEntity entity in data) { if (entity.ProcessType == EntityProcessType.insert) { AddCreateIndex(CreateEntities, entity); } else if (entity.ProcessType == EntityProcessType.update) { AddCreateIndex(CreateEntities, entity); } else if (entity.ProcessType == EntityProcessType.delete) { DeleteEntities.Add(entity); } else { continue; } } dataIndexer.CreateIndex(CreateEntities); dataIndexer.DeleteIndex(DeleteEntities); Console.Read(); }