/// <summary> /// Return a XML representation of this object. /// </summary> /// <param name="CustomSetSessionActionRequestSerializer">A delegate to serialize custom set EVSE busy status request XML elements.</param> public XElement ToXML(CustomXMLSerializerDelegate <SetSessionActionRequest> CustomSetSessionActionRequestSerializer = null) { var XML = new XElement(eMIPNS.Authorisation + "eMIP_ToIOP_SetSessionActionRequest", TransactionId.HasValue ? new XElement("transactionId", TransactionId.ToString()) : null, new XElement("partnerIdType", PartnerId.Format.AsText()), new XElement("partnerId", PartnerId.ToString()), new XElement("operatorIdType", OperatorId.Format.AsText()), new XElement("operatorId", OperatorId.ToString()), new XElement("serviceSessionId", ServiceSessionId.ToString()), SessionAction.ToXML(), SalePartnerSessionId.HasValue ? new XElement("salePartnerSessionId", SalePartnerSessionId.ToString()) : null ); return(CustomSetSessionActionRequestSerializer != null ? CustomSetSessionActionRequestSerializer(this, XML) : XML); }
/// <summary> /// Return the HashCode of this object. /// </summary> /// <returns>The HashCode of this object.</returns> public override Int32 GetHashCode() { unchecked { return((TransactionId.HasValue ? TransactionId.GetHashCode() * 13 : 0) ^ PartnerId.GetHashCode() * 11 ^ OperatorId.GetHashCode() * 7 ^ ServiceSessionId.GetHashCode() * 5 ^ SessionAction.GetHashCode() * 3 ^ (SalePartnerSessionId.HasValue ? SalePartnerSessionId.GetHashCode() : 0)); } }
/// <summary> /// Compares two heartbeat requests for equality. /// </summary> /// <param name="SetSessionActionRequest">A heartbeat request to compare with.</param> /// <returns>True if both match; False otherwise.</returns> public override Boolean Equals(SetSessionActionRequest SetSessionActionRequest) { if (SetSessionActionRequest is null) { return(false); } return(((!TransactionId.HasValue && !SetSessionActionRequest.TransactionId.HasValue) || (TransactionId.HasValue && SetSessionActionRequest.TransactionId.HasValue && TransactionId.Value.Equals(SetSessionActionRequest.TransactionId.Value))) && PartnerId.Equals(SetSessionActionRequest.PartnerId) && OperatorId.Equals(SetSessionActionRequest.OperatorId) && ServiceSessionId.Equals(SetSessionActionRequest.ServiceSessionId) && SessionAction.Equals(SetSessionActionRequest.SessionAction) && ((!SalePartnerSessionId.HasValue && !SetSessionActionRequest.SalePartnerSessionId.HasValue) || (SalePartnerSessionId.HasValue && SetSessionActionRequest.SalePartnerSessionId.HasValue && SalePartnerSessionId.Equals(SetSessionActionRequest.SalePartnerSessionId)))); }