コード例 #1
0
        public void AddMasterdata(EpcisMasterData masterdata)
        {
            MasterDataDtos.Add(MasterDataDto.Create(masterdata));

            foreach (var attribute in masterdata.Attributes)
            {
                var attributeDto = MasterDataAttributeDto.Create(attribute, masterdata.Id, masterdata.Type);

                AttributeDtos.Add(attributeDto);
                FieldDtos.AddRange(attribute.Fields.ToFlattenedDtos(attributeDto));
            }

            HierarchyDtos.AddRange(masterdata.Children.Select(x => MasterDataHierarchyDto.Create(x, masterdata.Id, masterdata.Type)));
        }
コード例 #2
0
        public static IEnumerable <MasterDataFieldDto> ToFlattenedDtos(this IEnumerable <MasterDataField> fields, MasterDataAttributeDto attribute)
        {
            var list = new List <MasterDataFieldDto>();

            foreach (var field in fields)
            {
                list.AddRange(CreateFieldDto(field, (short)list.Count, attribute, null));
            }

            return(list);
        }
コード例 #3
0
        private static IEnumerable <MasterDataFieldDto> CreateFieldDto(MasterDataField field, short fieldId, MasterDataAttributeDto attribute, short?parentId)
        {
            var list = new List <MasterDataFieldDto>
            {
                MasterDataFieldDto.Create(field, attribute, fieldId, parentId)
            };

            foreach (var children in field.Children)
            {
                list.AddRange(CreateFieldDto(children, (short)(fieldId + list.Count), attribute, fieldId));
            }

            return(list);
        }