Beispiel #1
0
        private static ImportFieldGroupViewModel Update(ImportFieldGroupViewModel groupModel, IEnumerable <BLL.Field> fields)
        {
            foreach (var field in fields)
            {
                var item = new ExtendedListItem
                {
                    Text         = field.Name,
                    Value        = field.Id.ToString(),
                    Description  = field.Name,
                    Required     = field.Required,
                    IsIdentifier = false,
                    IsAggregated = false,
                    Unique       = field.IsUnique
                };

                if (field.IsClassifier)
                {
                    var classifierGroup = new ImportFieldGroupViewModel("Classifier");
                    classifierGroup.Fields.Add(item);

                    var contents        = field.Content.AggregatedContents.Where(c => c.Fields.Any(f => f.Aggregated && f.ClassifierId == field.Id)).ToList();
                    var extensionFields = contents.SelectMany(c => c.Fields.Where(f => f.ExactType != FieldExactTypes.M2ORelation)).ToList();
                    foreach (var content in contents)
                    {
                        var contentExtensionFields = extensionFields.Where(ef => ef.ContentId == content.Id).ToList();
                        var contentGroup           = UpdateExtension(new ImportFieldGroupViewModel(content.Name), contentExtensionFields);
                        classifierGroup.Groups.Add(contentGroup);
                    }

                    groupModel.Groups.Add(classifierGroup);
                }
                else if (!field.Aggregated)
                {
                    groupModel.Fields.Add(item);
                }
            }

            return(groupModel);
        }
Beispiel #2
0
        private static ImportFieldGroupViewModel UpdateExtension(ImportFieldGroupViewModel groupModel, IList <BLL.Field> fields)
        {
            var content = fields.Select(f => f.Content).FirstOrDefault();

            if (content != null)
            {
                groupModel.Fields.Add(new ExtendedListItem
                {
                    Text         = content.Name + "." + FieldName.ContentItemId,
                    Value        = "Id_" + content.Id,
                    Description  = "Id",
                    Required     = false,
                    IsIdentifier = true,
                    IsAggregated = true
                });
            }

            foreach (var field in fields)
            {
                var item = new ExtendedListItem
                {
                    Text         = $"{field.Content.Name}.{field.Name}",
                    Value        = field.Id.ToString(),
                    Description  = field.Name,
                    Required     = field.Required,
                    IsIdentifier = false,
                    IsAggregated = true,
                    Unique       = field.IsUnique
                };

                if (!field.Aggregated)
                {
                    groupModel.Fields.Add(item);
                }
            }

            return(groupModel);
        }