/// <summary> /// Creates marker for package. /// </summary> /// <param name="session">The session.</param> /// <param name="package">The package.</param> /// <returns>Package marker</returns> public static PackageMarker CreateForPackage(Session session, Package package) { var result = new PackageMarker(session) { ApplicationName = package.ApplicationName, SenderNodeId = package.SenderNodeId, RecipientNodeId = package.RecipientNodeId, PackageId = package.PackageId, PackageType = package.PackageType, PackageDateTime = package.PackageDateTime.ToUniversalTime(), UserName = package.UserName }; if (package.PackageType == PackageType.Snapshot) { var recipient = ReplicationNode.FindNode(package.Session, result.RecipientNodeId); var sender = ReplicationNode.GetCurrentNode(package.Session); var num = XafDeltaModule.Instance.RoutingType == RoutingType.BroadcastRouting ? sender.LastSavedPackageNumber : recipient.LastSavedPackageNumber; if (recipient != null) { result.LastSavedPackageNumber = num; } } return(result); }