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

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

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

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

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

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

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

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

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

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

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

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

            return(obj is V1ListEmployeesRequest other &&
                   ((Order == null && other.Order == null) || (Order?.Equals(other.Order) == true)) &&
                   ((BeginUpdatedAt == null && other.BeginUpdatedAt == null) || (BeginUpdatedAt?.Equals(other.BeginUpdatedAt) == true)) &&
                   ((EndUpdatedAt == null && other.EndUpdatedAt == null) || (EndUpdatedAt?.Equals(other.EndUpdatedAt) == true)) &&
                   ((BeginCreatedAt == null && other.BeginCreatedAt == null) || (BeginCreatedAt?.Equals(other.BeginCreatedAt) == true)) &&
                   ((EndCreatedAt == null && other.EndCreatedAt == null) || (EndCreatedAt?.Equals(other.EndCreatedAt) == true)) &&
                   ((Status == null && other.Status == null) || (Status?.Equals(other.Status) == true)) &&
                   ((ExternalId == null && other.ExternalId == null) || (ExternalId?.Equals(other.ExternalId) == true)) &&
                   ((Limit == null && other.Limit == null) || (Limit?.Equals(other.Limit) == true)) &&
                   ((BatchToken == null && other.BatchToken == null) || (BatchToken?.Equals(other.BatchToken) == true)));
        }