public void Should_Clean_Value() { var dynamicParameter = CreateAndGetDynamicParameterWithTestPermission(); var dynamicParameterValue = new DynamicParameterValue() { DynamicParameterId = dynamicParameter.Id, Value = "Test", TenantId = AbpSession.TenantId }; var dynamicParameterValue2 = new DynamicParameterValue() { DynamicParameterId = dynamicParameter.Id, Value = "Test2", TenantId = AbpSession.TenantId }; WithUnitOfWork(() => { _dynamicParameterValueManager.Add(dynamicParameterValue); _dynamicParameterValueManager.Add(dynamicParameterValue2); }); RunAndCheckIfPermissionControlled(() => { _dynamicParameterValueManager.CleanValues(dynamicParameter.Id); }); WithUnitOfWork(() => { var entity = _dynamicParameterValueManager.GetAllValuesOfDynamicParameter(dynamicParameter.Id); entity.ShouldBeEmpty(); }); }
public async Task <GetAllEntityDynamicParameterValuesOutput> GetAllEntityDynamicParameterValues(GetAllEntityDynamicParameterValuesInput input) { var localCacheOfGetAllValuesOfDynamicParameter = new Dictionary <int, List <string> >(); List <string> GetAllValuesInputTypeHas(int dynamicParameterId) { if (!localCacheOfGetAllValuesOfDynamicParameter.ContainsKey(dynamicParameterId)) { localCacheOfGetAllValuesOfDynamicParameter[dynamicParameterId] = _dynamicParameterValueManager .GetAllValuesOfDynamicParameter(dynamicParameterId) .Select(x => x.Value).ToList(); } return(localCacheOfGetAllValuesOfDynamicParameter[dynamicParameterId]); } var output = new GetAllEntityDynamicParameterValuesOutput(); var entityDynamicParameters = await _entityDynamicParameterManager.GetAllAsync(input.EntityFullName); var entityDynamicParameterIdAndValuesDictionary = (await _entityDynamicParameterValueManager.GetValuesAsync(input.EntityFullName, input.EntityId)) .GroupBy(value => value.EntityDynamicParameterId) .ToDictionary(group => group.Key, items => items.ToList()); foreach (var entityDynamicParameter in entityDynamicParameters) { var outputItem = new GetAllEntityDynamicParameterValuesOutputItem { EntityDynamicParameterId = entityDynamicParameter.Id, InputType = _dynamicEntityParameterDefinitionManager.GetOrNullAllowedInputType(entityDynamicParameter.DynamicParameter.InputType), ParameterName = entityDynamicParameter.DynamicParameter.ParameterName, AllValuesInputTypeHas = GetAllValuesInputTypeHas(entityDynamicParameter.DynamicParameter.Id), SelectedValues = entityDynamicParameterIdAndValuesDictionary.ContainsKey(entityDynamicParameter.Id) ? entityDynamicParameterIdAndValuesDictionary[entityDynamicParameter.Id].Select(value => value.Value).ToList() : new List <string>() }; output.Items.Add(outputItem); } return(output); }