public async Task <ListResultDto <EntityDynamicParameterDto> > GetAllParametersOfAnEntity(EntityDynamicParameterGetAllInput input)
        {
            var entities = await _entityDynamicParameterManager.GetAllAsync(input.EntityFullName);

            return(new ListResultDto <EntityDynamicParameterDto>(
                       ObjectMapper.Map <List <EntityDynamicParameterDto> >(entities)
                       ));
        }
        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);
        }
Exemple #3
0
 public static Task <List <EntityDynamicParameter> > GetAllAsync <TEntity>(this IEntityDynamicParameterManager manager)
     where TEntity : IEntity <int>
 {
     return(manager.GetAllAsync <TEntity, int>());
 }
Exemple #4
0
 public static Task <List <EntityDynamicParameter> > GetAllAsync <TEntity, TPrimaryKey>(this IEntityDynamicParameterManager manager)
     where TEntity : IEntity <TPrimaryKey>
 {
     return(manager.GetAllAsync(entityFullName: typeof(TEntity).FullName));
 }