Esempio n. 1
0
 public IActionResult EditPlugin([FromBody] EditEntityPluginListModel model)
 {
     if (ModelState.IsValid)
     {
         if (model.EntityPlugins != null)
         {
             model.EntityPlugins.ForEach(x =>
             {
                 if (x.EntityPluginId.IsEmpty())
                 {
                     x.EntityPluginId = Guid.NewGuid();
                     x.CreatedBy      = CurrentUser.SystemUserId;
                     x.CreatedOn      = DateTime.Now;
                     x.SolutionId     = SolutionId.Value;
                     x.ComponentState = 0;
                     x.StateCode      = RecordState.Enabled;
                     x.IsVisibled     = true;
                     _entityPluginCreater.Create(x, x.AssemblyName);
                 }
             });
         }
         if (model.DeleteEntityPluginIds != null)
         {
             _entityPluginDeleter.DeleteById(model.DeleteEntityPluginIds.ToArray());
         }
         return(CreateSuccess());
     }
     return(CreateFailure(GetModelErrors()));
 }
Esempio n. 2
0
 public bool Import(Guid solutionId, IList <EntityPlugin> entityPlugins)
 {
     if (entityPlugins.NotEmpty())
     {
         foreach (var item in entityPlugins)
         {
             var entity = _entityPluginFinder.FindById(item.EntityPluginId);
             if (entity != null)
             {
                 entity.AssemblyName = item.AssemblyName;
                 entity.ClassName    = item.ClassName;
                 entity.EventName    = item.EventName;
                 entity.ProcessOrder = item.ProcessOrder;
                 entity.TypeCode     = item.TypeCode;
                 _entityPluginUpdater.Update(entity);
             }
             else
             {
                 item.SolutionId     = solutionId;
                 item.ComponentState = 0;
                 item.CreatedBy      = _appContext.GetFeature <ICurrentUser>().SystemUserId;
                 item.CreatedOn      = DateTime.Now;
                 _entityPluginCreater.Create(item);
             }
         }
     }
     return(true);
 }
Esempio n. 3
0
        public bool Create(FilterRule entity)
        {
            bool result = false;

            using (UnitOfWork.Build(_filterRuleRepository.DbContext))
            {
                result = _filterRuleRepository.Create(entity);
                //依赖
                _dependencyService.Create(entity);
                //plugin
                _entityPluginCreater.Create(new EntityPlugin()
                {
                    AssemblyName = FilterRuleDefaults.AssemblyName
                    ,
                    ClassName = FilterRuleDefaults.PluginClassName
                    ,
                    EntityId = entity.EntityId
                    ,
                    EventName = entity.EventName
                    ,
                    IsVisibled = false
                    ,
                    TypeCode = 0
                    ,
                    StateCode = RecordState.Enabled
                });
                //set to cache
                _cacheService.SetEntity(_filterRuleRepository.FindById(entity.FilterRuleId));
            }
            return(result);
        }
Esempio n. 4
0
        public bool Create(DuplicateRule entity)
        {
            entity.SolutionId = SolutionDefaults.DefaultSolutionId;//组件属于默认解决方案
            var result = false;

            using (UnitOfWork.Build(_duplicateRuleRepository.DbContext))
            {
                result = _duplicateRuleRepository.Create(entity);
                //检测条件
                if (entity.Conditions.NotEmpty())
                {
                    foreach (var item in entity.Conditions)
                    {
                        item.EntityId = entity.EntityId;
                    }
                    result = _duplicateRuleConditionService.CreateMany(entity.Conditions);
                }
                //依赖于字段
                _dependencyService.Create(entity);
                //本地化标签
                _localizedLabelService.Create(entity.SolutionId, entity.Name.IfEmpty(""), DuplicateRuleDefaults.ModuleName, "LocalizedName", entity.DuplicateRuleId, this._appContext.BaseLanguage);
                _localizedLabelService.Create(entity.SolutionId, entity.Description.IfEmpty(""), DuplicateRuleDefaults.ModuleName, "Description", entity.DuplicateRuleId, this._appContext.BaseLanguage);
                //plugin
                _entityPluginCreater.Create(new EntityPlugin()
                {
                    AssemblyName = DuplicateRuleDefaults.AssemblyName
                    ,
                    ClassName = DuplicateRuleDefaults.PluginClassName
                    ,
                    EntityId = entity.EntityId
                    ,
                    EventName = Enum.GetName(typeof(OperationTypeEnum), OperationTypeEnum.Create)
                    ,
                    IsVisibled = false
                    ,
                    TypeCode = 0
                    ,
                    StateCode = RecordState.Enabled
                });
                //add to cache
                _cacheService.SetEntity(entity);
            }
            return(result);
        }
Esempio n. 5
0
        public bool Create(Domain.SerialNumberRule entity)
        {
            //检查是否已存在相同字段的编码规则
            if (_serialNumberRuleRepository.Exists(x => x.EntityId == entity.EntityId && x.AttributeId == entity.AttributeId))
            {
                throw new XmsException(_loc["serial_number_duplicated"]);
            }
            entity.OrganizationId = this._appContext.OrganizationId;
            var result = true;

            using (UnitOfWork.Build(_serialNumberRuleRepository.DbContext))
            {
                result = _serialNumberRuleRepository.Create(entity);
                //依赖于字段
                _dependencyService.Create(entity);
                //solution component
                result = _solutionComponentService.Create(entity.SolutionId, entity.SerialNumberRuleId, SerialNumberRuleDefaults.ModuleName);
                //本地化标签
                _localizedLabelService.Create(entity.SolutionId, entity.Name.IfEmpty(""), SerialNumberRuleDefaults.ModuleName, "LocalizedName", entity.SerialNumberRuleId, this._appContext.BaseLanguage);
                _localizedLabelService.Create(entity.SolutionId, entity.Description.IfEmpty(""), SerialNumberRuleDefaults.ModuleName, "Description", entity.SerialNumberRuleId, this._appContext.BaseLanguage);
                //plugin
                _entityPluginCreater.Create(new EntityPlugin()
                {
                    AssemblyName = SerialNumberRuleDefaults.AssemblyName
                    ,
                    ClassName = SerialNumberRuleDefaults.PluginClassName
                    ,
                    EntityId = entity.EntityId
                    ,
                    EventName = Enum.GetName(typeof(OperationTypeEnum), OperationTypeEnum.Create)
                    ,
                    IsVisibled = false
                    ,
                    TypeCode = 0
                    ,
                    StateCode = RecordState.Enabled
                });
                //add to cache
                _cacheService.SetEntity(_serialNumberRuleRepository.FindById(entity.SerialNumberRuleId));
            }
            return(result);
        }