mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Point where basic infoset-based storage of fields is working
Moved some namespaces to reorganize some parts of code Created a field storage api and default implementation Added InfosetPart that's always welded as mechanism to reach versioned and non-versioned ad-hoc data --HG-- branch : dev
This commit is contained in:
@@ -57,7 +57,7 @@ namespace Orchard.Core.Settings.Metadata {
|
||||
private ContentTypeDefinitionRecord Acquire(ContentTypeDefinition contentTypeDefinition) {
|
||||
var result = _typeDefinitionRepository.Fetch(x => x.Name == contentTypeDefinition.Name).SingleOrDefault();
|
||||
if (result == null) {
|
||||
result = new ContentTypeDefinitionRecord { Name = contentTypeDefinition.Name, DisplayName = contentTypeDefinition.DisplayName};
|
||||
result = new ContentTypeDefinitionRecord { Name = contentTypeDefinition.Name, DisplayName = contentTypeDefinition.DisplayName };
|
||||
_typeDefinitionRepository.Create(result);
|
||||
}
|
||||
return result;
|
||||
@@ -111,7 +111,7 @@ namespace Orchard.Core.Settings.Metadata {
|
||||
record.Settings = _settingsWriter.Map(model.Settings).ToString();
|
||||
|
||||
var toRemove = record.ContentPartFieldDefinitionRecords
|
||||
.Where(fieldDefinitionRecord => !model.Fields.Any(field => fieldDefinitionRecord.ContentFieldDefinitionRecord.Name == field.FieldDefinition.Name))
|
||||
.Where(partFieldDefinitionRecord => model.Fields.Any(partField => partFieldDefinitionRecord.Name == partField.Name))
|
||||
.ToList();
|
||||
|
||||
foreach (var remove in toRemove) {
|
||||
@@ -120,9 +120,9 @@ namespace Orchard.Core.Settings.Metadata {
|
||||
|
||||
foreach (var field in model.Fields) {
|
||||
var fieldName = field.FieldDefinition.Name;
|
||||
var partFieldRecord = record.ContentPartFieldDefinitionRecords.SingleOrDefault(r => r.ContentFieldDefinitionRecord.Name == fieldName);
|
||||
var partFieldRecord = record.ContentPartFieldDefinitionRecords.SingleOrDefault(r => r.Name == fieldName);
|
||||
if (partFieldRecord == null) {
|
||||
partFieldRecord = new ContentPartFieldDefinitionRecord {
|
||||
partFieldRecord = new ContentPartFieldDefinitionRecord {
|
||||
ContentFieldDefinitionRecord = Acquire(field.FieldDefinition),
|
||||
Name = field.Name
|
||||
};
|
||||
|
Reference in New Issue
Block a user