/// <summary> /// Return the HashCode of this object. /// </summary> /// <returns>The HashCode of this object.</returns> public override Int32 GetHashCode() { unchecked { return((ChargeDetailRecords.Any() ? ChargeDetailRecords.GetHashCode() * 5 : 0) ^ StatusCode.GetHashCode()); } }
/// <summary> /// Compares two GetChargeDetailRecords responses for equality. /// </summary> /// <param name="GetChargeDetailRecordsResponse">A GetChargeDetailRecords response to compare with.</param> /// <returns>True if both match; False otherwise.</returns> public override Boolean Equals(GetChargeDetailRecordsResponse GetChargeDetailRecordsResponse) { if ((Object)GetChargeDetailRecordsResponse == null) { return(false); } return((!ChargeDetailRecords.Any() && !GetChargeDetailRecordsResponse.ChargeDetailRecords.Any()) || (ChargeDetailRecords.Any() && GetChargeDetailRecordsResponse.ChargeDetailRecords.Any() && ChargeDetailRecords.Count().Equals(GetChargeDetailRecordsResponse.ChargeDetailRecords.Count())) && (StatusCode != null && GetChargeDetailRecordsResponse.StatusCode != null) || (StatusCode == null && GetChargeDetailRecordsResponse.StatusCode == null && StatusCode.Equals(GetChargeDetailRecordsResponse.StatusCode))); }
/// <summary> /// Return a XML representation of this object. /// </summary> /// <param name="CustomGetChargeDetailRecordsResponseSerializer">A delegate to customize the serialization of GetChargeDetailRecords responses.</param> /// <param name="CustomChargeDetailRecordSerializer">A delegate to serialize custom ChargeDetailRecord XML elements.</param> /// <param name="CustomIdentificationSerializer">A delegate to serialize custom Identification XML elements.</param> public XElement ToXML(CustomXMLSerializerDelegate <GetChargeDetailRecordsResponse> CustomGetChargeDetailRecordsResponseSerializer = null, CustomXMLSerializerDelegate <ChargeDetailRecord> CustomChargeDetailRecordSerializer = null, CustomXMLSerializerDelegate <Identification> CustomIdentificationSerializer = null) { var XML = new XElement(OICPNS.Authorization + "eRoamingChargeDetailRecords", ChargeDetailRecords.SafeAny() ? ChargeDetailRecords.Select(cdr => cdr.ToXML(CustomChargeDetailRecordSerializer: CustomChargeDetailRecordSerializer, CustomIdentificationSerializer: CustomIdentificationSerializer)) : null ); return(CustomGetChargeDetailRecordsResponseSerializer != null ? CustomGetChargeDetailRecordsResponseSerializer(this, XML) : XML); }
/// <summary> /// Return a text-representation of this object. /// </summary> public override String ToString() => String.Concat(ChargeDetailRecords.Count() + " charge detail record(s)", StatusCode.HasValue ? " -> " + StatusCode.Value.Code : "");