/// <summary> /// Creates the package object reference. /// </summary> /// <param name="source">The source object.</param> /// <param name="destinationSession">The destination session.</param> /// <param name="targetNode">The target replication node</param> /// <returns>Package object reference</returns> public static PackageObjectReference CreatePackageObjectReference(object source, Session destinationSession, ReplicationNode targetNode) { PackageObjectReference result = null; if (source != null && source is IXPObject) { result = new PackageObjectReference(destinationSession); result.Assign(source); var maps = OidMap.GetOidMaps((IXPObject)source); var sb = new StringBuilder(); foreach (var oidMap in maps) sb.AppendFormat("{0}\a{1}\n", oidMap.NodeId, oidMap.ObjectId); result.KnownMapping = sb.ToString(); } return result; }
/// <summary> /// Creates the package object reference. /// </summary> /// <param name="source">The source object.</param> /// <param name="destinationSession">The destination session.</param> /// <param name="targetNode">The target replication node</param> /// <returns>Package object reference</returns> public static PackageObjectReference CreatePackageObjectReference(object source, Session destinationSession, ReplicationNode targetNode) { PackageObjectReference result = null; if (source != null && source is IXPObject) { result = new PackageObjectReference(destinationSession); result.Assign(source); var maps = OidMap.GetOidMaps((IXPObject)source); var sb = new StringBuilder(); foreach (var oidMap in maps) { sb.AppendFormat("{0}\a{1}\n", oidMap.NodeId, oidMap.ObjectId); } result.KnownMapping = sb.ToString(); } return(result); }
/// <summary> /// Creates package record based on protocol record. /// </summary> /// <param name="packageSession">The package session.</param> /// <param name="protocolRecord">The protocol record.</param> /// <param name="targetNode">The target node.</param> /// <returns>Package record</returns> public static PackageRecord CreateForProtocolRecord(PackageSession packageSession, ProtocolRecord protocolRecord, ReplicationNode targetNode) { var destinationSession = packageSession.Session; var result = new PackageRecord(destinationSession) { PackageSession = packageSession, UserName = protocolRecord.UserName, Description = protocolRecord.Description, ModifiedOn = protocolRecord.ModifiedOn, NewBlobValue = protocolRecord.NewBlobValue, PropertyName = protocolRecord.PropertyName, NewValue = protocolRecord.NewValue, OldValue = protocolRecord.OldValue, OperationType = protocolRecord.OperationType }; if (protocolRecord.AuditedObject != null && protocolRecord.AuditedObject.Target != null) { result.AuditedObject = PackageObjectReference.CreatePackageObjectReference(protocolRecord.AuditedObject.Target, destinationSession, targetNode); result.AuditedObject.ReplicationKey = protocolRecord.ReplicationKey; } if (protocolRecord.NewObject != null) { result.NewObject = PackageObjectReference.CreatePackageObjectReference(protocolRecord.NewObject.Target, destinationSession, targetNode); } if (protocolRecord.OldObject != null) { result.OldObject = PackageObjectReference.CreatePackageObjectReference(protocolRecord.OldObject.Target, destinationSession, targetNode); } return(result); }