public static bool HasSameDataSet()

in src/Azure.IIoT.OpcUa/src/Publisher/Extensions/PublishedNodesEntryModelEx.cs [448:611]


        public static bool HasSameDataSet(this PublishedNodesEntryModel model,
            PublishedNodesEntryModel that)
        {
            if (!model.HasSameWriterGroup(that))
            {
                return false;
            }

            if (model.EndpointUrl != that.EndpointUrl)
            {
                return false;
            }
            if ((model.UseReverseConnect ?? false) !=
                (that.UseReverseConnect ?? false))
            {
                return false;
            }
            if ((model.DisableSubscriptionTransfer ?? false) !=
                (that.DisableSubscriptionTransfer ?? false))
            {
                return false;
            }
            if ((model.UseSecurity ?? false) != (that.UseSecurity ?? false))
            {
                return false;
            }
            if ((model.EndpointSecurityMode ??
                    ((model.UseSecurity ?? false) ? SecurityMode.NotNone : SecurityMode.None)) !=
                (that.EndpointSecurityMode ??
                    ((that.UseSecurity ?? false) ? SecurityMode.NotNone : SecurityMode.None)))
            {
                return false;
            }
            if (model.EndpointSecurityPolicy != that.EndpointSecurityPolicy)
            {
                return false;
            }
            if (model.OpcAuthenticationMode != that.OpcAuthenticationMode)
            {
                return false;
            }
            if (!string.Equals(model.OpcAuthenticationUsername ?? string.Empty,
                that.OpcAuthenticationUsername ?? string.Empty, StringComparison.Ordinal))
            {
                return false;
            }
            if (!string.Equals(model.OpcAuthenticationPassword ?? string.Empty,
                that.OpcAuthenticationPassword ?? string.Empty, StringComparison.Ordinal))
            {
                return false;
            }
            if (!string.Equals(model.EncryptedAuthUsername ?? string.Empty,
                that.EncryptedAuthUsername ?? string.Empty, StringComparison.Ordinal))
            {
                return false;
            }
            if (!string.Equals(model.EncryptedAuthPassword ?? string.Empty,
                that.EncryptedAuthPassword ?? string.Empty, StringComparison.Ordinal))
            {
                return false;
            }
            if (model.MaxKeepAliveCount != that.MaxKeepAliveCount)
            {
                return false;
            }
            if (!string.Equals(model.DataSetWriterId ?? string.Empty,
                that.DataSetWriterId ?? string.Empty, StringComparison.Ordinal))
            {
                return false;
            }
            if (!string.Equals(model.DataSetName ?? string.Empty,
                that.DataSetName ?? string.Empty, StringComparison.Ordinal))
            {
                return false;
            }
            if (model.DataSetClassId != that.DataSetClassId)
            {
                return false;
            }
            if (model.DataSetKeyFrameCount != that.DataSetKeyFrameCount)
            {
                return false;
            }
            if (model.DisableSubscriptionTransfer != that.DisableSubscriptionTransfer)
            {
                return false;
            }
            if (model.SendKeepAliveDataSetMessages != that.SendKeepAliveDataSetMessages)
            {
                return false;
            }
            if (model.Priority != that.Priority)
            {
                return false;
            }
            if (model.GetNormalizedMetaDataUpdateTime() !=
                that.GetNormalizedMetaDataUpdateTime())
            {
                return false;
            }
            if (model.GetNormalizedDataSetSamplingInterval() !=
                that.GetNormalizedDataSetSamplingInterval())
            {
                return false;
            }
            if (model.GetNormalizedDefaultHeartbeatInterval() !=
                that.GetNormalizedDefaultHeartbeatInterval())
            {
                return false;
            }
            if (model.DefaultHeartbeatBehavior != that.DefaultHeartbeatBehavior)
            {
                return false;
            }
            if (model.QualityOfService != that.QualityOfService)
            {
                return false;
            }
            if (!string.Equals(model.QueueName ?? string.Empty,
                that.QueueName ?? string.Empty, StringComparison.Ordinal))
            {
                return false;
            }
            if (!string.Equals(model.MetaDataQueueName ?? string.Empty,
                that.MetaDataQueueName ?? string.Empty, StringComparison.Ordinal))
            {
                return false;
            }

            if ((model.DataSetRouting ?? DataSetRoutingMode.None) !=
                (that.DataSetRouting ?? DataSetRoutingMode.None))
            {
                return false;
            }
            if (model.RepublishAfterTransfer != that.RepublishAfterTransfer)
            {
                return false;
            }
            if (model.OpcNodeWatchdogTimespan != that.OpcNodeWatchdogTimespan)
            {
                return false;
            }
            if (model.DataSetWriterWatchdogBehavior != that.DataSetWriterWatchdogBehavior)
            {
                return false;
            }
            if (model.OpcNodeWatchdogCondition != that.OpcNodeWatchdogCondition)
            {
                return false;
            }
            if (model.DataSetFetchDisplayNames != that.DataSetFetchDisplayNames)
            {
                return false;
            }
            if (model.MessageRetention != that.MessageRetention)
            {
                return false;
            }
            if (model.MessageTtlTimespan != that.MessageTtlTimespan)
            {
                return false;
            }
            return true;
        }