/// <summary> /// Parses the raw message. /// </summary> /// <param name="message">The raw message as string.</param> /// <returns>List of <see cref="ChangeMessageRecovery"/>.</returns> private static IEnumerable <ChangeMessageRecovery> ParseMessage(XElement message) { List <ChangeMessageRecovery> changeMessageList = new List <ChangeMessageRecovery>(); if (message != null) { string resourceType = message.Element(OperationElement).Value; // Retrieve values from the XML. foreach (XElement resourceNode in message.Element(ChangedDataElement).Elements(ResourceElement)) { string resourceId = GetAttributeValue(resourceNode, ResourceIdAttribute); string dataNamespace = GetAttributeValue(resourceNode, NameSpaceAttribute); string dateAddedString = GetAttributeValue(resourceNode, DateAddedAttribute); string dateModifiedString = GetAttributeValue(resourceNode, DateModifiedAttribute); string resourceName = GetAttributeValue(resourceNode, ResourceNameAttribute); string resourceTypeId = GetAttributeValue(resourceNode, ResourceTypeIdAttribute); // Parse the string values to get the required datatype. Guid resourceGuid; Guid.TryParse(resourceId, out resourceGuid); Guid resourceTypeGuid; Guid.TryParse(resourceTypeId, out resourceTypeGuid); DateTime addedDateTime; DateTime.TryParse(dateAddedString, out addedDateTime); DateTime modifiedDateTime; DateTime.TryParse(dateModifiedString, out modifiedDateTime); // Create the model to be saved into the database. ChangeMessageRecovery changeMessage = new ChangeMessageRecovery { Id = Guid.NewGuid(), ChangeType = (short)GetChangeType(resourceType), DataModelNamespace = dataNamespace, ResourceId = resourceGuid, DateAdded = addedDateTime, DateModified = modifiedDateTime, ResourceTypeId = resourceTypeGuid, ResourceTypeName = resourceName }; if (changeMessage.ResourceId != Guid.Empty) { changeMessageList.Add(changeMessage); } } } return(changeMessageList); }
/// <summary> /// Converts a ChangeMessageRecovery into a ResourceChangeMessage. /// </summary> /// <param name="changeMessage">The change message.</param> /// <returns>Resource change message.</returns> internal static ResourceChangeMessage ToResourceChangeMessage(this ChangeMessageRecovery changeMessage) { if (changeMessage == null) { return(null); } ResourceChangeMessage resChangeMessage = new ResourceChangeMessage { ResourceId = changeMessage.ResourceId, ResourceTypeId = changeMessage.ResourceTypeId, ResourceTypeName = changeMessage.ResourceTypeName, DataModelNamespace = changeMessage.DataModelNamespace, ChangeType = (ResourceChangeType)Enum.Parse(typeof(ResourceChangeType), changeMessage.ChangeType.ToString()), DateAdded = changeMessage.DateAdded, DateModified = changeMessage.DateModified }; return(resChangeMessage); }
/// <summary> /// Converts a ResourceChangeMessage into a ChangeMessageRecovery /// </summary> /// <param name="resChangeMessage">The res change message.</param> /// <returns>Change message recovery.</returns> internal static ChangeMessageRecovery ToChangeMessage(this ResourceChangeMessage resChangeMessage) { if (resChangeMessage == null) { return(null); } ChangeMessageRecovery changeMessage = new ChangeMessageRecovery { Id = Guid.NewGuid(), ResourceId = resChangeMessage.ResourceId, ResourceTypeId = resChangeMessage.ResourceTypeId, ResourceTypeName = resChangeMessage.ResourceTypeName, DataModelNamespace = resChangeMessage.DataModelNamespace, DateAdded = resChangeMessage.DateAdded, DateModified = resChangeMessage.DateModified, ChangeType = (short)resChangeMessage.ChangeType }; return(changeMessage); }
partial void DeleteChangeMessageRecovery(ChangeMessageRecovery instance);
partial void UpdateChangeMessageRecovery(ChangeMessageRecovery instance);
partial void InsertChangeMessageRecovery(ChangeMessageRecovery instance);