public bool Equals()

in sdk/Domain/LifecycleRule.cs [112:214]


        public bool Equals(LifecycleRule obj)
        {
            if (ReferenceEquals(this, obj)) return true;

            if (obj == null) return false;

            if (!this.ID.Equals(obj.ID)) return false;

            if (!this.Prefix.Equals(obj.Prefix)) return false;

            if (this.ExpriationDays != obj.ExpriationDays) return false;

            if (this.ExpirationTime != obj.ExpirationTime) return false;

            if (this.CreatedBeforeDate != obj.CreatedBeforeDate) return false;

            if (this.ExpiredObjectDeleteMarker != obj.ExpiredObjectDeleteMarker) return false;

            if (this.Status != obj.Status) return false;

            if (this.AbortMultipartUpload == null && obj.AbortMultipartUpload != null) return false;

            if (this.AbortMultipartUpload != null && !this.AbortMultipartUpload.Equals(obj.AbortMultipartUpload))
            {
                return false;
            }

            if (this.Transitions == null && obj.Transitions != null
                || this.Transitions != null && obj.Transitions == null)
            { 
                return false; 
            }

            if (this.Transitions != null && obj.Transitions != null)
            {
                if (this.Transitions.Length != obj.Transitions.Length) return false;

                for (int i = 0; i < this.Transitions.Length; i++)
                {
                    if (!this.Transitions[i].Equals(obj.Transitions[i]))
                    {
                        return false;
                    }
                }
            }

            //tags
            if (this.Tags == null && obj.Tags != null
                || this.Tags != null && obj.Tags == null)
            {
                return false;
            }

            if (this.Tags != null && obj.Tags != null)
            {
                if (this.Tags.Length != obj.Tags.Length) return false;

                for (int i = 0; i < this.Tags.Length; i++)
                {
                    if (!this.Tags[i].Equals(obj.Tags[i]))
                    {
                        return false;
                    }
                }
            }

            //NoncurrentVersionExpiration
            if (this.NoncurrentVersionExpiration == null && obj.NoncurrentVersionExpiration != null) return false;

            if (this.NoncurrentVersionExpiration != null && !this.NoncurrentVersionExpiration.Equals(obj.NoncurrentVersionExpiration))
            {
                return false;
            }

            //NoncurrentVersionTransitions
            if (this.NoncurrentVersionTransitions == null && obj.NoncurrentVersionTransitions != null
                 || this.NoncurrentVersionTransitions != null && obj.NoncurrentVersionTransitions == null)
            {
                return false;
            }

            if (this.NoncurrentVersionTransitions != null && obj.NoncurrentVersionTransitions != null)
            {
                if (this.NoncurrentVersionTransitions.Length != obj.NoncurrentVersionTransitions.Length) return false;

                for (int i = 0; i < this.NoncurrentVersionTransitions.Length; i++)
                {
                    if (!this.NoncurrentVersionTransitions[i].Equals(obj.NoncurrentVersionTransitions[i]))
                    {
                        return false;
                    }
                }
            }

            //Filter
            if (this.Filter == null && obj.Filter != null) return false;

            if (this.Filter != null && !this.Filter.Equals(obj.Filter))
            {
                return false;
            }
            return true;
        }