/* * Amazon Shipping API * * The Amazon Shipping API is designed to support outbound shipping use cases both for orders originating on Amazon-owned marketplaces as well as external channels/marketplaces. With these APIs, you can request shipping rates, create shipments, cancel shipments, and track shipments. * * OpenAPI spec version: v2 * * Generated by: https://github.com/swagger-api/swagger-codegen.git */ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.IO; using System.Runtime.Serialization; using System.Text; using Newtonsoft.Json; namespace Amazon.SellingPartnerApiSDK.AmazonSpApiSDK.Models.ShippingV2 { /// /// The post-purchase details of a package that will be shipped using a shipping service. /// [DataContract] public partial class PackageDocumentDetail : IEquatable, IValidatableObject { /// /// Gets or Sets PackageClientReferenceId /// [DataMember(Name = "packageClientReferenceId", EmitDefaultValue = false)] public string PackageClientReferenceId { get; set; } /// /// Gets or Sets PackageDocuments /// [DataMember(Name = "packageDocuments", EmitDefaultValue = false)] public PackageDocumentList PackageDocuments { get; set; } /// /// Gets or Sets TrackingId /// [DataMember(Name = "trackingId", EmitDefaultValue = false)] public string TrackingId { get; set; } /// /// Returns the string presentation of the object /// /// String presentation of the object public override string ToString() { var sb = new StringBuilder(); sb.Append("class PackageDocumentDetail {\n"); sb.Append(" PackageClientReferenceId: ").Append(PackageClientReferenceId).Append("\n"); sb.Append(" PackageDocuments: ").Append(PackageDocuments).Append("\n"); sb.Append(" TrackingId: ").Append(TrackingId).Append("\n"); sb.Append("}\n"); return sb.ToString(); } /// /// Returns the JSON string presentation of the object /// /// JSON string presentation of the object public virtual string ToJson() { return JsonConvert.SerializeObject(this, Formatting.Indented); } /// /// Returns true if objects are equal /// /// Object to be compared /// Boolean public override bool Equals(object input) { return this.Equals(input as PackageDocumentDetail); } /// /// Returns true if PackageDocumentDetail instances are equal /// /// Instance of PackageDocumentDetail to be compared /// Boolean public bool Equals(PackageDocumentDetail input) { if (input == null) return false; return ( this.PackageClientReferenceId == input.PackageClientReferenceId || (this.PackageClientReferenceId != null && this.PackageClientReferenceId.Equals(input.PackageClientReferenceId)) ) && ( this.PackageDocuments == input.PackageDocuments || (this.PackageDocuments != null && this.PackageDocuments.Equals(input.PackageDocuments)) ) && ( this.TrackingId == input.TrackingId || (this.TrackingId != null && this.TrackingId.Equals(input.TrackingId)) ); } /// /// Gets the hash code /// /// Hash code public override int GetHashCode() { unchecked // Overflow is fine, just wrap { int hashCode = 41; if (this.PackageClientReferenceId != null) hashCode = hashCode * 59 + this.PackageClientReferenceId.GetHashCode(); if (this.PackageDocuments != null) hashCode = hashCode * 59 + this.PackageDocuments.GetHashCode(); if (this.TrackingId != null) hashCode = hashCode * 59 + this.TrackingId.GetHashCode(); return hashCode; } } /// /// To validate all properties of the instance /// /// Validation context /// Validation Result IEnumerable IValidatableObject.Validate( ValidationContext validationContext) { yield break; } } }