Exemple #1
0
 /// <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));
 }
Exemple #2
0
        /// <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();
        }