/// <summary> /// Return the HashCode of this object. /// </summary> /// <returns>The HashCode of this object.</returns> public override Int32 GetHashCode() { unchecked { return(CDRNature.GetHashCode() * 41 ^ ServiceSessionId.GetHashCode() * 37 ^ RequestedServiceId.GetHashCode() * 31 ^ EVSEId.GetHashCode() * 27 ^ UserContractIdAlias.GetHashCode() * 23 ^ UserId.GetHashCode() * 21 ^ StartTime.GetHashCode() * 19 ^ EndTime.GetHashCode() * 17 ^ MeterReports.GetHashCode() * 13 ^ (ExecPartnerSessionId.HasValue ? ExecPartnerSessionId.GetHashCode() * 11 : 0) ^ (ExecPartnerOperatorId.HasValue ? ExecPartnerOperatorId.GetHashCode() * 7 : 0) ^ (SalesPartnerSessionId.HasValue ? SalesPartnerSessionId.GetHashCode() * 5 : 0) ^ (SalesPartnerOperatorId.HasValue ? SalesPartnerOperatorId.GetHashCode() * 3 : 0) ^ (PartnerProductId.HasValue ? PartnerProductId.GetHashCode() : 0)); } }
/// <summary> /// Return a XML representation of this object. /// </summary> /// <param name="CustomSetSessionEventReportRequestSerializer">A delegate to serialize custom set EVSE busy status request XML elements.</param> public XElement ToXML(CustomXMLSerializerDelegate <SetSessionEventReportRequest> CustomSetSessionEventReportRequestSerializer = null) { var XML = new XElement(eMIPNS.Authorisation + "eMIP_ToIOP_SetSessionEventReportRequest", 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()), SessionEvent.ToXML(), ExecPartnerSessionId.HasValue ? new XElement("execPartnerSessionId", ExecPartnerSessionId.ToString()) : null ); return(CustomSetSessionEventReportRequestSerializer != null ? CustomSetSessionEventReportRequestSerializer(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 ^ SessionEvent.GetHashCode() * 3 ^ (ExecPartnerSessionId.HasValue ? ExecPartnerSessionId.GetHashCode() : 0)); } }
/// <summary> /// Compares two charge detail records for equality. /// </summary> /// <param name="ChargeDetailRecord">A charge detail record to compare with.</param> /// <returns>True if both match; False otherwise.</returns> public Boolean Equals(ChargeDetailRecord ChargeDetailRecord) { if ((Object)ChargeDetailRecord == null) { return(false); } return(CDRNature.Equals(ChargeDetailRecord.CDRNature) && ServiceSessionId.Equals(ChargeDetailRecord.ServiceSessionId) && RequestedServiceId.Equals(ChargeDetailRecord.RequestedServiceId) && EVSEId.Equals(ChargeDetailRecord.EVSEId) && UserContractIdAlias.Equals(ChargeDetailRecord.UserContractIdAlias) && UserId.Equals(ChargeDetailRecord.UserId) && StartTime.Equals(ChargeDetailRecord.StartTime) && EndTime.Equals(ChargeDetailRecord.EndTime) && ExecPartnerSessionId.Equals(ChargeDetailRecord.ExecPartnerSessionId) && ExecPartnerOperatorId.Equals(ChargeDetailRecord.ExecPartnerOperatorId) && SalesPartnerSessionId.Equals(ChargeDetailRecord.SalesPartnerSessionId) && SalesPartnerOperatorId.Equals(ChargeDetailRecord.SalesPartnerOperatorId) && PartnerProductId.Equals(ChargeDetailRecord.PartnerProductId) && MeterReports.Equals(ChargeDetailRecord.MeterReports)); }
/// <summary> /// Compares two heartbeat requests for equality. /// </summary> /// <param name="SetSessionEventReportRequest">A heartbeat request to compare with.</param> /// <returns>True if both match; False otherwise.</returns> public override Boolean Equals(SetSessionEventReportRequest SetSessionEventReportRequest) { if (SetSessionEventReportRequest is null) { return(false); } return(((!TransactionId.HasValue && !SetSessionEventReportRequest.TransactionId.HasValue) || (TransactionId.HasValue && SetSessionEventReportRequest.TransactionId.HasValue && TransactionId.Value.Equals(SetSessionEventReportRequest.TransactionId.Value))) && PartnerId.Equals(SetSessionEventReportRequest.PartnerId) && OperatorId.Equals(SetSessionEventReportRequest.OperatorId) && ServiceSessionId.Equals(SetSessionEventReportRequest.ServiceSessionId) && SessionEvent.Equals(SetSessionEventReportRequest.SessionEvent) && ((!ExecPartnerSessionId.HasValue && !SetSessionEventReportRequest.ExecPartnerSessionId.HasValue) || (ExecPartnerSessionId.HasValue && SetSessionEventReportRequest.ExecPartnerSessionId.HasValue && ExecPartnerSessionId.Equals(SetSessionEventReportRequest.ExecPartnerSessionId)))); }