//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// This code was generated by XmlSchemaClassGenerator version 3.0.1270.0 using the following command:
// xscgen --namespace http://schemas.nav.gov.hu/EKAER/1.0/ekaermanagement=AyCode.Services.Nav.Ekaer.Models --namespace http://schemas.nav.gov.hu/EKAER/1.0/common=AyCode.Services.Nav.Ekaer.Models.Common --nullable --separateFiles --output C:/Users/Fullepi/Downloads/ekaer/Generated2 C:/Users/Fullepi/Downloads/ekaer/ekaermanagement.xsd
namespace AyCode.Services.Nav.Ekaer.Models
{
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "3.0.1270.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute("TradeCardOperationType", Namespace="http://schemas.nav.gov.hu/EKAER/1.0/ekaermanagement")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class TradeCardOperationType
    {
        
        /// <summary>
        /// <para>A tradeCard operation sorszáma a request-en belül. Ezzel azonosítható a tétel egy adott requestben! A válaszban is megtalálható, az egyértelmű request elem és válasz elem összeköttetésének.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute(("A tradeCard operation sorszáma a request-en belül. Ezzel azonosítható a tétel egy" +
            " adott requestben! A válaszban is megtalálható, az egyértelmű request elem és vá" +
            "lasz elem összeköttetésének."))]
        [System.ComponentModel.DataAnnotations.RequiredAttribute(AllowEmptyStrings=true)]
        [System.Xml.Serialization.XmlElementAttribute("index")]
        public int Index { get; set; }
        
        /// <summary>
        /// <para>Művelet típusa</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Művelet típusa")]
        [System.ComponentModel.DataAnnotations.RequiredAttribute(AllowEmptyStrings=true)]
        [System.Xml.Serialization.XmlElementAttribute("operation")]
        public OperationType Operation { get; set; }
        
        /// <summary>
        /// <para>Az operation alapján feldolgozandó bejelentés objektum</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Az operation alapján feldolgozandó bejelentés objektum")]
        [System.Xml.Serialization.XmlElementAttribute("tradeCard")]
        public TradeCardType TradeCard { get; set; }
        
        /// <summary>
        /// <para>Ha delete az operation akkor csak ide kell megadni az EKAER számot, nem kell az objektumot feltölteni!</para>
        /// <para>TCN number. TCN azonsító szám ami egy szállítmányhoz tartozó tételt egyértelműen azonosít!</para>
        /// <para xml:lang="en">Pattern: [A-Z0-9]{2,20}.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute(("Ha delete az operation akkor csak ide kell megadni az EKAER számot, nem kell az o" +
            "bjektumot feltölteni!"))]
        [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[A-Z0-9]{2,20}")]
        [System.Xml.Serialization.XmlElementAttribute("tcn")]
        public string Tcn { get; set; }
        
        /// <summary>
        /// <para>Lerakodás, érkezés időpontja!</para>
        /// <para xml:lang="en">Timestamp type</para>
        /// <para xml:lang="en">Minimum inclusive value: 2010-01-01T00:00:00+01:00.</para>
        /// <para xml:lang="en">Pattern: \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.[\d]+)?(([\+\-]\d{2}:\d{2})|Z).</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Lerakodás, érkezés időpontja!")]
        [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[\\d]+)?(([\\+\\-]\\d{2}:\\d{2})|Z)")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("arrivalDate", DataType="dateTime")]
        public System.DateTime ArrivalDateValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the ArrivalDate property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool ArrivalDateValueSpecified { get; set; }
        
        /// <summary>
        /// <para>Lerakodás, érkezés időpontja!</para>
        /// <para xml:lang="en">Timestamp type</para>
        /// <para xml:lang="en">Minimum inclusive value: 2010-01-01T00:00:00+01:00.</para>
        /// <para xml:lang="en">Pattern: \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.[\d]+)?(([\+\-]\d{2}:\d{2})|Z).</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<System.DateTime> ArrivalDate
        {
            get
            {
                if (this.ArrivalDateValueSpecified)
                {
                    return this.ArrivalDateValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.ArrivalDateValue = value.GetValueOrDefault();
                this.ArrivalDateValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Lerakodás, érkezés dátuma!</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Lerakodás, érkezés dátuma!")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("arrivalDateOnly", DataType="date")]
        public System.DateTime ArrivalDateOnlyValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the ArrivalDateOnly property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool ArrivalDateOnlyValueSpecified { get; set; }
        
        /// <summary>
        /// <para>Lerakodás, érkezés dátuma!</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<System.DateTime> ArrivalDateOnly
        {
            get
            {
                if (this.ArrivalDateOnlyValueSpecified)
                {
                    return this.ArrivalDateOnlyValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.ArrivalDateOnlyValue = value.GetValueOrDefault();
                this.ArrivalDateOnlyValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Ha delete az operation és S a státusz, akkor kötelező, legalább 1 karakter hosszú érték!</para>
        /// <para xml:lang="en">Maximum length: 200.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute(("Ha delete az operation és S a státusz, akkor kötelező, legalább 1 karakter hosszú" +
            " érték!"))]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(200)]
        [System.Xml.Serialization.XmlElementAttribute("statusChangeModReasonText")]
        public string StatusChangeModReasonText { get; set; }
    }
}
