public override int GetHashCode()
        {
            int hashCode = -1509606900;

            if (EvidenceId != null)
            {
                hashCode += EvidenceId.GetHashCode();
            }

            if (DisputeId != null)
            {
                hashCode += DisputeId.GetHashCode();
            }

            if (UploadedAt != null)
            {
                hashCode += UploadedAt.GetHashCode();
            }

            if (EvidenceType != null)
            {
                hashCode += EvidenceType.GetHashCode();
            }

            return(hashCode);
        }
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            if (obj == this)
            {
                return(true);
            }

            return(obj is DisputeEvidence other &&
                   ((EvidenceId == null && other.EvidenceId == null) || (EvidenceId?.Equals(other.EvidenceId) == true)) &&
                   ((DisputeId == null && other.DisputeId == null) || (DisputeId?.Equals(other.DisputeId) == true)) &&
                   ((UploadedAt == null && other.UploadedAt == null) || (UploadedAt?.Equals(other.UploadedAt) == true)) &&
                   ((EvidenceType == null && other.EvidenceType == null) || (EvidenceType?.Equals(other.EvidenceType) == true)));
        }