示例#1
0
        private void LoadDictNameSyncDescriptors(IServiceCollection services, IModuleDescriptor moduleDescriptor)
        {
            var collection = new DictSyncDescriptorCollection();

            //因为EntityDescriptorCollection未提供获取所有实体描述符的方法,所以暂时只能通过模块查询
            var entityDescriptors = EntityDescriptorCollection.Get(moduleDescriptor.Code);

            foreach (var entityDescriptor in entityDescriptors)
            {
                foreach (var column in entityDescriptor.Columns)
                {
                    var attr = (DictSyncAttribute)Attribute.GetCustomAttribute(column.PropertyInfo, typeof(DictSyncAttribute));
                    if (attr != null)
                    {
                        collection.Add(new DictSyncDescriptor
                        {
                            GroupCode        = attr.GroupCode,
                            DictCode         = attr.DictCode,
                            DictNameColName  = attr.DictNameColName,
                            EntityDescriptor = entityDescriptor,
                            ColumnDescriptor = column
                        });
                    }
                }
            }

            services.AddSingleton(collection);
        }
示例#2
0
 public DefaultDictSyncProvider(DictSyncDescriptorCollection descriptorCollection, ILogger <DefaultDictSyncProvider> logger)
 {
     _descriptorCollection = descriptorCollection;
     _logger = logger;
 }