Example #1
0
        /// <summary>
        /// Compares two SessionAction for equality.
        /// </summary>
        /// <param name="SessionAction">An SessionAction to compare with.</param>
        /// <returns>True if both match; False otherwise.</returns>
        public Boolean Equals(SessionAction SessionAction)
        {
            if (SessionAction is null)
            {
                return(false);
            }

            return(Nature.Equals(SessionAction.Nature) &&
                   DateTime.Equals(SessionAction.DateTime) &&

                   ((!Id.HasValue && !SessionAction.Id.HasValue) ||
                    (Id.HasValue && SessionAction.Id.HasValue && Id.Value.Equals(SessionAction.Id.Value))) &&

                   ((!Parameter.IsNotNullOrEmpty() && !SessionAction.Parameter.IsNotNullOrEmpty()) ||
                    (Parameter.IsNotNullOrEmpty() && SessionAction.Parameter.IsNotNullOrEmpty() && Parameter.Equals(SessionAction.Parameter))) &&

                   ((!RelatedSessionEventId.HasValue && !SessionAction.RelatedSessionEventId.HasValue) ||
                    (RelatedSessionEventId.HasValue && SessionAction.RelatedSessionEventId.HasValue && RelatedSessionEventId.Value.Equals(SessionAction.RelatedSessionEventId.Value))));
        }