private bool CreateCore(Domain.SystemForm entity, Action <Domain.SystemForm> createDependents) { if (entity.FormConfig.IsEmpty()) { return(false); } entity.OrganizationId = _appContext.OrganizationId; _formService.Init(entity); var result = true; using (UnitOfWork.Build(_systemFormRepository.DbContext)) { result = _systemFormRepository.Create(entity); //依赖项 createDependents?.Invoke(entity); //本地化标签 _localizedLabelService.Append(entity.SolutionId, entity.Name.IfEmpty(""), entity.FormType == (int)FormType.Dashboard ? DashBoardDefaults.ModuleName : FormDefaults.ModuleName, "LocalizedName", entity.SystemFormId) .Append(entity.SolutionId, entity.Description.IfEmpty(""), entity.FormType == (int)FormType.Dashboard ? DashBoardDefaults.ModuleName : FormDefaults.ModuleName, "Description", entity.SystemFormId) .Save(); _formService.UpdateLocalizedLabel(null); if (entity.FormType == (int)FormType.Dashboard) { //solution component result = _solutionComponentService.Create(entity.SolutionId, entity.SystemFormId, DashBoardDefaults.ModuleName); } //add to cache _cacheService.SetEntity(_systemFormRepository.FindById(entity.SystemFormId)); } return(result); }