public bool Update(Domain.SystemForm entity, bool updatedConfig) { var original = _systemFormRepository.FindById(entity.SystemFormId); var result = true; _formService.Init(entity); using (UnitOfWork.Build(_systemFormRepository.DbContext)) { result = _systemFormRepository.Update(entity); _dependencyService.Update(entity); //localization _localizedLabelService.Update(entity.Name.IfEmpty(""), "LocalizedName", entity.SystemFormId, _appContext.BaseLanguage); _localizedLabelService.Update(entity.Description.IfEmpty(""), "Description", entity.SystemFormId, _appContext.BaseLanguage); if (updatedConfig) { _formService.UpdateLocalizedLabel(original); } //assigning roles if (original.AuthorizationEnabled || !entity.AuthorizationEnabled) { _eventPublisher.Publish(new AuthorizationStateChangedEvent { ObjectId = new List <Guid> { entity.SystemFormId } , State = false , ResourceName = FormDefaults.ModuleName }); } //set to cache _cacheService.SetEntity(entity); } return(result); }