/// <summary> /// Insert the specified data /// </summary> public override ConceptName InsertInternal(DataContext context, ConceptName data) { // Remove concept from cache and create a new version ApplicationServiceContext.Current.GetService <IDataCachingService>()?.Remove(data.SourceEntityKey.Value); if (!data.EffectiveVersionSequenceId.HasValue) { var conceptVersion = context.FirstOrDefault <DbConceptVersion>(o => o.Key == data.SourceEntityKey.Value && o.ObsoletionTime == null); data.EffectiveVersionSequenceId = conceptVersion.VersionSequenceId; } return(base.InsertInternal(context, data)); }
/// <summary> /// Method used by the library to serialize this instance to xml. /// </summary> /// <param name="xmlTextWriter">The xml text writer.</param> /// <param name="serializationContext">The serialization context.</param> internal void ToXml(XmlTextWriter xmlTextWriter, SerializationContext serializationContext) { // // Start of Content Item. // xmlTextWriter.WriteStartElement("contentItem"); // // Identifier. // xmlTextWriter.WriteAttributeString("identifier", IdentifierAsString); // // Relationship Type. // String relationshipType = RelationshipType; if (relationshipType != null) { xmlTextWriter.WriteStartElement("relationshipType"); xmlTextWriter.WriteStartElement("value"); xmlTextWriter.WriteString(relationshipType); xmlTextWriter.WriteEndElement(); xmlTextWriter.WriteEndElement(); } // // Value Type // String valueType = ValueType; if (valueType != null) { xmlTextWriter.WriteStartElement("valueType"); xmlTextWriter.WriteStartElement("value"); xmlTextWriter.WriteString(valueType); xmlTextWriter.WriteEndElement(); xmlTextWriter.WriteEndElement(); } // // Value Type specific. // xmlTextWriter.WriteStartElement("valueTypeSpecific"); ValueToXml(xmlTextWriter, serializationContext); xmlTextWriter.WriteEndElement(); // // Concept Name // if (this.conceptName != null) { xmlTextWriter.WriteStartElement("conceptName"); ConceptName.ToXml(xmlTextWriter, serializationContext); xmlTextWriter.WriteEndElement(); } // // Validation results. // this.validationResults.ToXml(xmlTextWriter, serializationContext); // // Visitor exceptions. // if (this.visitorExceptions.Count > 0) { xmlTextWriter.WriteStartElement("visitorExceptions"); foreach (Exception exception in this.visitorExceptions) { xmlTextWriter.WriteStartElement("visitorException"); xmlTextWriter.WriteStartElement("message"); xmlTextWriter.WriteString(exception.Message); xmlTextWriter.WriteEndElement(); xmlTextWriter.WriteStartElement("innerException"); xmlTextWriter.WriteStartElement("message"); xmlTextWriter.WriteString(exception.InnerException.Message); xmlTextWriter.WriteEndElement(); xmlTextWriter.WriteStartElement("stackTrace"); xmlTextWriter.WriteString(exception.InnerException.StackTrace); xmlTextWriter.WriteEndElement(); xmlTextWriter.WriteEndElement(); xmlTextWriter.WriteEndElement(); } xmlTextWriter.WriteEndElement(); } // // Child Content Items. // if (this.childContentItems.Count > 0) { xmlTextWriter.WriteStartElement("childContentItems"); foreach (ContentItem childContentItem in this.childContentItems) { childContentItem.ToXml(xmlTextWriter, serializationContext); } xmlTextWriter.WriteEndElement(); } // // End of Content Item. // xmlTextWriter.WriteEndElement(); }