internal RecordServiceResult Upsert(Record record)
{
CorrectlyOrderKeywords(record);
StandardiseUnconditionalUseConstraints(record);
UpdateMetadataDateToNow(record);
SetMetadataPointOfContactRoleToOnlyAllowedValue(record);
var validation = validator.Validate(record);
if (!validation.Errors.Any())
{
PerformDenormalizations(record);
db.Store(record);
}
return new RecordServiceResult
{
Record = record,
Validation = validation,
};
}