Beispiel #1
0
        private List <FieldInfo> ExtractFieldNamesFromDto <TDto>()
        {
            var result = _fieldDispatcherService.GetDtoFields <TDto>()
                         .ToList();

            foreach (var fieldInfo in result)
            {
                fieldInfo.Name = fieldInfo.Name?.ToLowerFirstLetter();
            }

            return(result);
        }
        private IEnumerable <UserConfigurationGridColumn> ExtractColumnsFromDto <TDto>(Guid?roleId)
        {
            var fields = _fieldDispatcherService.GetDtoFields <TDto>();

            var forEntity = GetFieldPropertyForEntity <TDto>();

            if (forEntity.HasValue)
            {
                var availableFieldNames = _fieldPropertiesService.GetAvailableFields(forEntity.Value, roleId, null);
                fields = fields.Where(x => availableFieldNames.Any(y => string.Compare(x.Name, y, true) == 0));
            }

            foreach (var field in fields.OrderBy(f => f.OrderNumber))
            {
                if (string.IsNullOrEmpty(field.ReferenceSource))
                {
                    yield return(new UserConfigurationGridColumn(field));
                }
                else
                {
                    yield return(new UserConfigurationGridColumnWhitchSource(field));
                }
            }
        }