/* 
 * GK application - OmniPOS Service API
 *
 * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
 *
 * OpenAPI spec version: 5.21.1-b03
 * 
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 */

using System;
using System.Linq;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.ComponentModel.DataAnnotations;
using SwaggerDateConverter = IO.Swagger.Client.SwaggerDateConverter;

namespace IO.Swagger.Model
{
    /// <summary>
    /// EventLogMessageDO
    /// </summary>
    [DataContract]
    public partial class EventLogMessageDO :  IEquatable<EventLogMessageDO>, IValidatableObject
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="EventLogMessageDO" /> class.
        /// </summary>
        /// <param name="key">key.</param>
        /// <param name="created">created.</param>
        /// <param name="createdUTC0">createdUTC0.</param>
        /// <param name="type">type.</param>
        /// <param name="subType">subType.</param>
        /// <param name="level">level.</param>
        /// <param name="application">application.</param>
        /// <param name="stationID">stationID.</param>
        /// <param name="nodeID">nodeID.</param>
        /// <param name="businessUnitGroupID">businessUnitGroupID.</param>
        /// <param name="operatorID">operatorID.</param>
        /// <param name="payload">payload.</param>
        /// <param name="payloadDataID">payloadDataID.</param>
        /// <param name="processData01">processData01.</param>
        /// <param name="processData02">processData02.</param>
        /// <param name="processData03">processData03.</param>
        /// <param name="processData04">processData04.</param>
        /// <param name="processData05">processData05.</param>
        /// <param name="processData06">processData06.</param>
        /// <param name="processData07">processData07.</param>
        /// <param name="processData08">processData08.</param>
        /// <param name="processData09">processData09.</param>
        /// <param name="processData10">processData10.</param>
        /// <param name="xxcustom08">xxcustom08.</param>
        /// <param name="xxcustom10">xxcustom10.</param>
        /// <param name="xxcustom09">xxcustom09.</param>
        /// <param name="xxcustom07">xxcustom07.</param>
        /// <param name="xxcustom05">xxcustom05.</param>
        /// <param name="xxcustom06">xxcustom06.</param>
        /// <param name="xxcustom03">xxcustom03.</param>
        /// <param name="xxcustom02">xxcustom02.</param>
        /// <param name="xxcustom04">xxcustom04.</param>
        /// <param name="xid">xid.</param>
        /// <param name="xxcustom01">xxcustom01.</param>
        public EventLogMessageDO(Key key = default(Key), DateTime? created = default(DateTime?), DateTime? createdUTC0 = default(DateTime?), string type = default(string), string subType = default(string), string level = default(string), string application = default(string), string stationID = default(string), string nodeID = default(string), long? businessUnitGroupID = default(long?), string operatorID = default(string), List<byte[]> payload = default(List<byte[]>), string payloadDataID = default(string), string processData01 = default(string), string processData02 = default(string), string processData03 = default(string), string processData04 = default(string), string processData05 = default(string), string processData06 = default(string), string processData07 = default(string), string processData08 = default(string), string processData09 = default(string), string processData10 = default(string), string xxcustom08 = default(string), string xxcustom10 = default(string), string xxcustom09 = default(string), string xxcustom07 = default(string), string xxcustom05 = default(string), string xxcustom06 = default(string), string xxcustom03 = default(string), string xxcustom02 = default(string), string xxcustom04 = default(string), long? xid = default(long?), string xxcustom01 = default(string))
        {
            this.Key = key;
            this.Created = created;
            this.CreatedUTC0 = createdUTC0;
            this.Type = type;
            this.SubType = subType;
            this.Level = level;
            this.Application = application;
            this.StationID = stationID;
            this.NodeID = nodeID;
            this.BusinessUnitGroupID = businessUnitGroupID;
            this.OperatorID = operatorID;
            this.Payload = payload;
            this.PayloadDataID = payloadDataID;
            this.ProcessData01 = processData01;
            this.ProcessData02 = processData02;
            this.ProcessData03 = processData03;
            this.ProcessData04 = processData04;
            this.ProcessData05 = processData05;
            this.ProcessData06 = processData06;
            this.ProcessData07 = processData07;
            this.ProcessData08 = processData08;
            this.ProcessData09 = processData09;
            this.ProcessData10 = processData10;
            this.Xxcustom08 = xxcustom08;
            this.Xxcustom10 = xxcustom10;
            this.Xxcustom09 = xxcustom09;
            this.Xxcustom07 = xxcustom07;
            this.Xxcustom05 = xxcustom05;
            this.Xxcustom06 = xxcustom06;
            this.Xxcustom03 = xxcustom03;
            this.Xxcustom02 = xxcustom02;
            this.Xxcustom04 = xxcustom04;
            this.Xid = xid;
            this.Xxcustom01 = xxcustom01;
        }
        
        /// <summary>
        /// Gets or Sets Key
        /// </summary>
        [DataMember(Name="key", EmitDefaultValue=false)]
        public Key Key { get; set; }

        /// <summary>
        /// Gets or Sets Created
        /// </summary>
        [DataMember(Name="created", EmitDefaultValue=false)]
        public DateTime? Created { get; set; }

        /// <summary>
        /// Gets or Sets CreatedUTC0
        /// </summary>
        [DataMember(Name="createdUTC0", EmitDefaultValue=false)]
        public DateTime? CreatedUTC0 { get; set; }

        /// <summary>
        /// Gets or Sets Type
        /// </summary>
        [DataMember(Name="type", EmitDefaultValue=false)]
        public string Type { get; set; }

        /// <summary>
        /// Gets or Sets SubType
        /// </summary>
        [DataMember(Name="subType", EmitDefaultValue=false)]
        public string SubType { get; set; }

        /// <summary>
        /// Gets or Sets Level
        /// </summary>
        [DataMember(Name="level", EmitDefaultValue=false)]
        public string Level { get; set; }

        /// <summary>
        /// Gets or Sets Application
        /// </summary>
        [DataMember(Name="application", EmitDefaultValue=false)]
        public string Application { get; set; }

        /// <summary>
        /// Gets or Sets StationID
        /// </summary>
        [DataMember(Name="stationID", EmitDefaultValue=false)]
        public string StationID { get; set; }

        /// <summary>
        /// Gets or Sets NodeID
        /// </summary>
        [DataMember(Name="nodeID", EmitDefaultValue=false)]
        public string NodeID { get; set; }

        /// <summary>
        /// Gets or Sets BusinessUnitGroupID
        /// </summary>
        [DataMember(Name="businessUnitGroupID", EmitDefaultValue=false)]
        public long? BusinessUnitGroupID { get; set; }

        /// <summary>
        /// Gets or Sets OperatorID
        /// </summary>
        [DataMember(Name="operatorID", EmitDefaultValue=false)]
        public string OperatorID { get; set; }

        /// <summary>
        /// Gets or Sets Payload
        /// </summary>
        [DataMember(Name="payload", EmitDefaultValue=false)]
        public List<byte[]> Payload { get; set; }

        /// <summary>
        /// Gets or Sets PayloadDataID
        /// </summary>
        [DataMember(Name="payloadDataID", EmitDefaultValue=false)]
        public string PayloadDataID { get; set; }

        /// <summary>
        /// Gets or Sets ProcessData01
        /// </summary>
        [DataMember(Name="processData01", EmitDefaultValue=false)]
        public string ProcessData01 { get; set; }

        /// <summary>
        /// Gets or Sets ProcessData02
        /// </summary>
        [DataMember(Name="processData02", EmitDefaultValue=false)]
        public string ProcessData02 { get; set; }

        /// <summary>
        /// Gets or Sets ProcessData03
        /// </summary>
        [DataMember(Name="processData03", EmitDefaultValue=false)]
        public string ProcessData03 { get; set; }

        /// <summary>
        /// Gets or Sets ProcessData04
        /// </summary>
        [DataMember(Name="processData04", EmitDefaultValue=false)]
        public string ProcessData04 { get; set; }

        /// <summary>
        /// Gets or Sets ProcessData05
        /// </summary>
        [DataMember(Name="processData05", EmitDefaultValue=false)]
        public string ProcessData05 { get; set; }

        /// <summary>
        /// Gets or Sets ProcessData06
        /// </summary>
        [DataMember(Name="processData06", EmitDefaultValue=false)]
        public string ProcessData06 { get; set; }

        /// <summary>
        /// Gets or Sets ProcessData07
        /// </summary>
        [DataMember(Name="processData07", EmitDefaultValue=false)]
        public string ProcessData07 { get; set; }

        /// <summary>
        /// Gets or Sets ProcessData08
        /// </summary>
        [DataMember(Name="processData08", EmitDefaultValue=false)]
        public string ProcessData08 { get; set; }

        /// <summary>
        /// Gets or Sets ProcessData09
        /// </summary>
        [DataMember(Name="processData09", EmitDefaultValue=false)]
        public string ProcessData09 { get; set; }

        /// <summary>
        /// Gets or Sets ProcessData10
        /// </summary>
        [DataMember(Name="processData10", EmitDefaultValue=false)]
        public string ProcessData10 { get; set; }

        /// <summary>
        /// Gets or Sets Xxcustom08
        /// </summary>
        [DataMember(Name="xxcustom08", EmitDefaultValue=false)]
        public string Xxcustom08 { get; set; }

        /// <summary>
        /// Gets or Sets Xxcustom10
        /// </summary>
        [DataMember(Name="xxcustom10", EmitDefaultValue=false)]
        public string Xxcustom10 { get; set; }

        /// <summary>
        /// Gets or Sets Xxcustom09
        /// </summary>
        [DataMember(Name="xxcustom09", EmitDefaultValue=false)]
        public string Xxcustom09 { get; set; }

        /// <summary>
        /// Gets or Sets Xxcustom07
        /// </summary>
        [DataMember(Name="xxcustom07", EmitDefaultValue=false)]
        public string Xxcustom07 { get; set; }

        /// <summary>
        /// Gets or Sets Xxcustom05
        /// </summary>
        [DataMember(Name="xxcustom05", EmitDefaultValue=false)]
        public string Xxcustom05 { get; set; }

        /// <summary>
        /// Gets or Sets Xxcustom06
        /// </summary>
        [DataMember(Name="xxcustom06", EmitDefaultValue=false)]
        public string Xxcustom06 { get; set; }

        /// <summary>
        /// Gets or Sets Xxcustom03
        /// </summary>
        [DataMember(Name="xxcustom03", EmitDefaultValue=false)]
        public string Xxcustom03 { get; set; }

        /// <summary>
        /// Gets or Sets Xxcustom02
        /// </summary>
        [DataMember(Name="xxcustom02", EmitDefaultValue=false)]
        public string Xxcustom02 { get; set; }

        /// <summary>
        /// Gets or Sets Xxcustom04
        /// </summary>
        [DataMember(Name="xxcustom04", EmitDefaultValue=false)]
        public string Xxcustom04 { get; set; }

        /// <summary>
        /// Gets or Sets Xid
        /// </summary>
        [DataMember(Name="xid", EmitDefaultValue=false)]
        public long? Xid { get; set; }

        /// <summary>
        /// Gets or Sets Xxcustom01
        /// </summary>
        [DataMember(Name="xxcustom01", EmitDefaultValue=false)]
        public string Xxcustom01 { get; set; }

        /// <summary>
        /// Returns the string presentation of the object
        /// </summary>
        /// <returns>String presentation of the object</returns>
        public override string ToString()
        {
            var sb = new StringBuilder();
            sb.Append("class EventLogMessageDO {\n");
            sb.Append("  Key: ").Append(Key).Append("\n");
            sb.Append("  Created: ").Append(Created).Append("\n");
            sb.Append("  CreatedUTC0: ").Append(CreatedUTC0).Append("\n");
            sb.Append("  Type: ").Append(Type).Append("\n");
            sb.Append("  SubType: ").Append(SubType).Append("\n");
            sb.Append("  Level: ").Append(Level).Append("\n");
            sb.Append("  Application: ").Append(Application).Append("\n");
            sb.Append("  StationID: ").Append(StationID).Append("\n");
            sb.Append("  NodeID: ").Append(NodeID).Append("\n");
            sb.Append("  BusinessUnitGroupID: ").Append(BusinessUnitGroupID).Append("\n");
            sb.Append("  OperatorID: ").Append(OperatorID).Append("\n");
            sb.Append("  Payload: ").Append(Payload).Append("\n");
            sb.Append("  PayloadDataID: ").Append(PayloadDataID).Append("\n");
            sb.Append("  ProcessData01: ").Append(ProcessData01).Append("\n");
            sb.Append("  ProcessData02: ").Append(ProcessData02).Append("\n");
            sb.Append("  ProcessData03: ").Append(ProcessData03).Append("\n");
            sb.Append("  ProcessData04: ").Append(ProcessData04).Append("\n");
            sb.Append("  ProcessData05: ").Append(ProcessData05).Append("\n");
            sb.Append("  ProcessData06: ").Append(ProcessData06).Append("\n");
            sb.Append("  ProcessData07: ").Append(ProcessData07).Append("\n");
            sb.Append("  ProcessData08: ").Append(ProcessData08).Append("\n");
            sb.Append("  ProcessData09: ").Append(ProcessData09).Append("\n");
            sb.Append("  ProcessData10: ").Append(ProcessData10).Append("\n");
            sb.Append("  Xxcustom08: ").Append(Xxcustom08).Append("\n");
            sb.Append("  Xxcustom10: ").Append(Xxcustom10).Append("\n");
            sb.Append("  Xxcustom09: ").Append(Xxcustom09).Append("\n");
            sb.Append("  Xxcustom07: ").Append(Xxcustom07).Append("\n");
            sb.Append("  Xxcustom05: ").Append(Xxcustom05).Append("\n");
            sb.Append("  Xxcustom06: ").Append(Xxcustom06).Append("\n");
            sb.Append("  Xxcustom03: ").Append(Xxcustom03).Append("\n");
            sb.Append("  Xxcustom02: ").Append(Xxcustom02).Append("\n");
            sb.Append("  Xxcustom04: ").Append(Xxcustom04).Append("\n");
            sb.Append("  Xid: ").Append(Xid).Append("\n");
            sb.Append("  Xxcustom01: ").Append(Xxcustom01).Append("\n");
            sb.Append("}\n");
            return sb.ToString();
        }
  
        /// <summary>
        /// Returns the JSON string presentation of the object
        /// </summary>
        /// <returns>JSON string presentation of the object</returns>
        public virtual string ToJson()
        {
            return JsonConvert.SerializeObject(this, Formatting.Indented);
        }

        /// <summary>
        /// Returns true if objects are equal
        /// </summary>
        /// <param name="input">Object to be compared</param>
        /// <returns>Boolean</returns>
        public override bool Equals(object input)
        {
            return this.Equals(input as EventLogMessageDO);
        }

        /// <summary>
        /// Returns true if EventLogMessageDO instances are equal
        /// </summary>
        /// <param name="input">Instance of EventLogMessageDO to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(EventLogMessageDO input)
        {
            if (input == null)
                return false;

            return 
                (
                    this.Key == input.Key ||
                    (this.Key != null &&
                    this.Key.Equals(input.Key))
                ) && 
                (
                    this.Created == input.Created ||
                    (this.Created != null &&
                    this.Created.Equals(input.Created))
                ) && 
                (
                    this.CreatedUTC0 == input.CreatedUTC0 ||
                    (this.CreatedUTC0 != null &&
                    this.CreatedUTC0.Equals(input.CreatedUTC0))
                ) && 
                (
                    this.Type == input.Type ||
                    (this.Type != null &&
                    this.Type.Equals(input.Type))
                ) && 
                (
                    this.SubType == input.SubType ||
                    (this.SubType != null &&
                    this.SubType.Equals(input.SubType))
                ) && 
                (
                    this.Level == input.Level ||
                    (this.Level != null &&
                    this.Level.Equals(input.Level))
                ) && 
                (
                    this.Application == input.Application ||
                    (this.Application != null &&
                    this.Application.Equals(input.Application))
                ) && 
                (
                    this.StationID == input.StationID ||
                    (this.StationID != null &&
                    this.StationID.Equals(input.StationID))
                ) && 
                (
                    this.NodeID == input.NodeID ||
                    (this.NodeID != null &&
                    this.NodeID.Equals(input.NodeID))
                ) && 
                (
                    this.BusinessUnitGroupID == input.BusinessUnitGroupID ||
                    (this.BusinessUnitGroupID != null &&
                    this.BusinessUnitGroupID.Equals(input.BusinessUnitGroupID))
                ) && 
                (
                    this.OperatorID == input.OperatorID ||
                    (this.OperatorID != null &&
                    this.OperatorID.Equals(input.OperatorID))
                ) && 
                (
                    this.Payload == input.Payload ||
                    this.Payload != null &&
                    this.Payload.SequenceEqual(input.Payload)
                ) && 
                (
                    this.PayloadDataID == input.PayloadDataID ||
                    (this.PayloadDataID != null &&
                    this.PayloadDataID.Equals(input.PayloadDataID))
                ) && 
                (
                    this.ProcessData01 == input.ProcessData01 ||
                    (this.ProcessData01 != null &&
                    this.ProcessData01.Equals(input.ProcessData01))
                ) && 
                (
                    this.ProcessData02 == input.ProcessData02 ||
                    (this.ProcessData02 != null &&
                    this.ProcessData02.Equals(input.ProcessData02))
                ) && 
                (
                    this.ProcessData03 == input.ProcessData03 ||
                    (this.ProcessData03 != null &&
                    this.ProcessData03.Equals(input.ProcessData03))
                ) && 
                (
                    this.ProcessData04 == input.ProcessData04 ||
                    (this.ProcessData04 != null &&
                    this.ProcessData04.Equals(input.ProcessData04))
                ) && 
                (
                    this.ProcessData05 == input.ProcessData05 ||
                    (this.ProcessData05 != null &&
                    this.ProcessData05.Equals(input.ProcessData05))
                ) && 
                (
                    this.ProcessData06 == input.ProcessData06 ||
                    (this.ProcessData06 != null &&
                    this.ProcessData06.Equals(input.ProcessData06))
                ) && 
                (
                    this.ProcessData07 == input.ProcessData07 ||
                    (this.ProcessData07 != null &&
                    this.ProcessData07.Equals(input.ProcessData07))
                ) && 
                (
                    this.ProcessData08 == input.ProcessData08 ||
                    (this.ProcessData08 != null &&
                    this.ProcessData08.Equals(input.ProcessData08))
                ) && 
                (
                    this.ProcessData09 == input.ProcessData09 ||
                    (this.ProcessData09 != null &&
                    this.ProcessData09.Equals(input.ProcessData09))
                ) && 
                (
                    this.ProcessData10 == input.ProcessData10 ||
                    (this.ProcessData10 != null &&
                    this.ProcessData10.Equals(input.ProcessData10))
                ) && 
                (
                    this.Xxcustom08 == input.Xxcustom08 ||
                    (this.Xxcustom08 != null &&
                    this.Xxcustom08.Equals(input.Xxcustom08))
                ) && 
                (
                    this.Xxcustom10 == input.Xxcustom10 ||
                    (this.Xxcustom10 != null &&
                    this.Xxcustom10.Equals(input.Xxcustom10))
                ) && 
                (
                    this.Xxcustom09 == input.Xxcustom09 ||
                    (this.Xxcustom09 != null &&
                    this.Xxcustom09.Equals(input.Xxcustom09))
                ) && 
                (
                    this.Xxcustom07 == input.Xxcustom07 ||
                    (this.Xxcustom07 != null &&
                    this.Xxcustom07.Equals(input.Xxcustom07))
                ) && 
                (
                    this.Xxcustom05 == input.Xxcustom05 ||
                    (this.Xxcustom05 != null &&
                    this.Xxcustom05.Equals(input.Xxcustom05))
                ) && 
                (
                    this.Xxcustom06 == input.Xxcustom06 ||
                    (this.Xxcustom06 != null &&
                    this.Xxcustom06.Equals(input.Xxcustom06))
                ) && 
                (
                    this.Xxcustom03 == input.Xxcustom03 ||
                    (this.Xxcustom03 != null &&
                    this.Xxcustom03.Equals(input.Xxcustom03))
                ) && 
                (
                    this.Xxcustom02 == input.Xxcustom02 ||
                    (this.Xxcustom02 != null &&
                    this.Xxcustom02.Equals(input.Xxcustom02))
                ) && 
                (
                    this.Xxcustom04 == input.Xxcustom04 ||
                    (this.Xxcustom04 != null &&
                    this.Xxcustom04.Equals(input.Xxcustom04))
                ) && 
                (
                    this.Xid == input.Xid ||
                    (this.Xid != null &&
                    this.Xid.Equals(input.Xid))
                ) && 
                (
                    this.Xxcustom01 == input.Xxcustom01 ||
                    (this.Xxcustom01 != null &&
                    this.Xxcustom01.Equals(input.Xxcustom01))
                );
        }

        /// <summary>
        /// Gets the hash code
        /// </summary>
        /// <returns>Hash code</returns>
        public override int GetHashCode()
        {
            unchecked // Overflow is fine, just wrap
            {
                int hashCode = 41;
                if (this.Key != null)
                    hashCode = hashCode * 59 + this.Key.GetHashCode();
                if (this.Created != null)
                    hashCode = hashCode * 59 + this.Created.GetHashCode();
                if (this.CreatedUTC0 != null)
                    hashCode = hashCode * 59 + this.CreatedUTC0.GetHashCode();
                if (this.Type != null)
                    hashCode = hashCode * 59 + this.Type.GetHashCode();
                if (this.SubType != null)
                    hashCode = hashCode * 59 + this.SubType.GetHashCode();
                if (this.Level != null)
                    hashCode = hashCode * 59 + this.Level.GetHashCode();
                if (this.Application != null)
                    hashCode = hashCode * 59 + this.Application.GetHashCode();
                if (this.StationID != null)
                    hashCode = hashCode * 59 + this.StationID.GetHashCode();
                if (this.NodeID != null)
                    hashCode = hashCode * 59 + this.NodeID.GetHashCode();
                if (this.BusinessUnitGroupID != null)
                    hashCode = hashCode * 59 + this.BusinessUnitGroupID.GetHashCode();
                if (this.OperatorID != null)
                    hashCode = hashCode * 59 + this.OperatorID.GetHashCode();
                if (this.Payload != null)
                    hashCode = hashCode * 59 + this.Payload.GetHashCode();
                if (this.PayloadDataID != null)
                    hashCode = hashCode * 59 + this.PayloadDataID.GetHashCode();
                if (this.ProcessData01 != null)
                    hashCode = hashCode * 59 + this.ProcessData01.GetHashCode();
                if (this.ProcessData02 != null)
                    hashCode = hashCode * 59 + this.ProcessData02.GetHashCode();
                if (this.ProcessData03 != null)
                    hashCode = hashCode * 59 + this.ProcessData03.GetHashCode();
                if (this.ProcessData04 != null)
                    hashCode = hashCode * 59 + this.ProcessData04.GetHashCode();
                if (this.ProcessData05 != null)
                    hashCode = hashCode * 59 + this.ProcessData05.GetHashCode();
                if (this.ProcessData06 != null)
                    hashCode = hashCode * 59 + this.ProcessData06.GetHashCode();
                if (this.ProcessData07 != null)
                    hashCode = hashCode * 59 + this.ProcessData07.GetHashCode();
                if (this.ProcessData08 != null)
                    hashCode = hashCode * 59 + this.ProcessData08.GetHashCode();
                if (this.ProcessData09 != null)
                    hashCode = hashCode * 59 + this.ProcessData09.GetHashCode();
                if (this.ProcessData10 != null)
                    hashCode = hashCode * 59 + this.ProcessData10.GetHashCode();
                if (this.Xxcustom08 != null)
                    hashCode = hashCode * 59 + this.Xxcustom08.GetHashCode();
                if (this.Xxcustom10 != null)
                    hashCode = hashCode * 59 + this.Xxcustom10.GetHashCode();
                if (this.Xxcustom09 != null)
                    hashCode = hashCode * 59 + this.Xxcustom09.GetHashCode();
                if (this.Xxcustom07 != null)
                    hashCode = hashCode * 59 + this.Xxcustom07.GetHashCode();
                if (this.Xxcustom05 != null)
                    hashCode = hashCode * 59 + this.Xxcustom05.GetHashCode();
                if (this.Xxcustom06 != null)
                    hashCode = hashCode * 59 + this.Xxcustom06.GetHashCode();
                if (this.Xxcustom03 != null)
                    hashCode = hashCode * 59 + this.Xxcustom03.GetHashCode();
                if (this.Xxcustom02 != null)
                    hashCode = hashCode * 59 + this.Xxcustom02.GetHashCode();
                if (this.Xxcustom04 != null)
                    hashCode = hashCode * 59 + this.Xxcustom04.GetHashCode();
                if (this.Xid != null)
                    hashCode = hashCode * 59 + this.Xid.GetHashCode();
                if (this.Xxcustom01 != null)
                    hashCode = hashCode * 59 + this.Xxcustom01.GetHashCode();
                return hashCode;
            }
        }

        /// <summary>
        /// To validate all properties of the instance
        /// </summary>
        /// <param name="validationContext">Validation context</param>
        /// <returns>Validation Result</returns>
        IEnumerable<System.ComponentModel.DataAnnotations.ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
        {
            yield break;
        }
    }

}
