Esempio n. 1
0
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (Id != null)
         {
             hashCode = hashCode * 59 + Id.GetHashCode();
         }
         if (StateName != null)
         {
             hashCode = hashCode * 59 + StateName.GetHashCode();
         }
         if (ActivityName != null)
         {
             hashCode = hashCode * 59 + ActivityName.GetHashCode();
         }
         if (SchemeId != null)
         {
             hashCode = hashCode * 59 + SchemeId.GetHashCode();
         }
         if (SchemeCode != null)
         {
             hashCode = hashCode * 59 + SchemeCode.GetHashCode();
         }
         if (PreviousState != null)
         {
             hashCode = hashCode * 59 + PreviousState.GetHashCode();
         }
         if (PreviousStateForDirect != null)
         {
             hashCode = hashCode * 59 + PreviousStateForDirect.GetHashCode();
         }
         if (PreviousStateForReverse != null)
         {
             hashCode = hashCode * 59 + PreviousStateForReverse.GetHashCode();
         }
         if (PreviousActivity != null)
         {
             hashCode = hashCode * 59 + PreviousActivity.GetHashCode();
         }
         if (PreviousActivityForDirect != null)
         {
             hashCode = hashCode * 59 + PreviousActivityForDirect.GetHashCode();
         }
         if (PreviousActivityForReverse != null)
         {
             hashCode = hashCode * 59 + PreviousActivityForReverse.GetHashCode();
         }
         if (ParentProcessId != null)
         {
             hashCode = hashCode * 59 + ParentProcessId.GetHashCode();
         }
         if (RootProcessId != null)
         {
             hashCode = hashCode * 59 + RootProcessId.GetHashCode();
         }
         if (InstanceStatus != null)
         {
             hashCode = hashCode * 59 + InstanceStatus.GetHashCode();
         }
         if (Transitions != null)
         {
             hashCode = hashCode * 59 + Transitions.GetHashCode();
         }
         if (History != null)
         {
             hashCode = hashCode * 59 + History.GetHashCode();
         }
         if (ProcessParameters != null)
         {
             hashCode = hashCode * 59 + ProcessParameters.GetHashCode();
         }
         return(hashCode);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Returns true if ProcessInfo instances are equal
        /// </summary>
        /// <param name="other">Instance of ProcessInfo to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(ProcessInfo other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Id == other.Id ||
                     Id != null &&
                     Id.Equals(other.Id)
                     ) &&
                 (
                     StateName == other.StateName ||
                     StateName != null &&
                     StateName.Equals(other.StateName)
                 ) &&
                 (
                     ActivityName == other.ActivityName ||
                     ActivityName != null &&
                     ActivityName.Equals(other.ActivityName)
                 ) &&
                 (
                     SchemeId == other.SchemeId ||
                     SchemeId != null &&
                     SchemeId.Equals(other.SchemeId)
                 ) &&
                 (
                     SchemeCode == other.SchemeCode ||
                     SchemeCode != null &&
                     SchemeCode.Equals(other.SchemeCode)
                 ) &&
                 (
                     PreviousState == other.PreviousState ||
                     PreviousState != null &&
                     PreviousState.Equals(other.PreviousState)
                 ) &&
                 (
                     PreviousStateForDirect == other.PreviousStateForDirect ||
                     PreviousStateForDirect != null &&
                     PreviousStateForDirect.Equals(other.PreviousStateForDirect)
                 ) &&
                 (
                     PreviousStateForReverse == other.PreviousStateForReverse ||
                     PreviousStateForReverse != null &&
                     PreviousStateForReverse.Equals(other.PreviousStateForReverse)
                 ) &&
                 (
                     PreviousActivity == other.PreviousActivity ||
                     PreviousActivity != null &&
                     PreviousActivity.Equals(other.PreviousActivity)
                 ) &&
                 (
                     PreviousActivityForDirect == other.PreviousActivityForDirect ||
                     PreviousActivityForDirect != null &&
                     PreviousActivityForDirect.Equals(other.PreviousActivityForDirect)
                 ) &&
                 (
                     PreviousActivityForReverse == other.PreviousActivityForReverse ||
                     PreviousActivityForReverse != null &&
                     PreviousActivityForReverse.Equals(other.PreviousActivityForReverse)
                 ) &&
                 (
                     ParentProcessId == other.ParentProcessId ||
                     ParentProcessId != null &&
                     ParentProcessId.Equals(other.ParentProcessId)
                 ) &&
                 (
                     RootProcessId == other.RootProcessId ||
                     RootProcessId != null &&
                     RootProcessId.Equals(other.RootProcessId)
                 ) &&
                 (
                     InstanceStatus == other.InstanceStatus ||
                     InstanceStatus != null &&
                     InstanceStatus.Equals(other.InstanceStatus)
                 ) &&
                 (
                     Transitions == other.Transitions ||
                     Transitions != null &&
                     Transitions.SequenceEqual(other.Transitions)
                 ) &&
                 (
                     History == other.History ||
                     History != null &&
                     History.SequenceEqual(other.History)
                 ) &&
                 (
                     ProcessParameters == other.ProcessParameters ||
                     ProcessParameters != null &&
                     ProcessParameters.Equals(other.ProcessParameters)
                 ));
        }