//------------------------------------------------------------------------------
// <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("TradeCardItemType", Namespace="http://schemas.nav.gov.hu/EKAER/1.0/ekaermanagement")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class TradeCardItemType : ITradeCardItemGroup
    {
        
        /// <summary>
        /// <para>Tétel bejelentésen belüli tetszőleges azonosítója! Ez alapján lehet a kérésben küldött tételeket összehozni a válaszban érkező tételekkel! 1.6 requestVersion es nagyobbtól</para>
        /// <para xml:lang="en">Maximum length: 50.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute(("Tétel bejelentésen belüli tetszőleges azonosítója! Ez alapján lehet a kérésben kü" +
            "ldött tételeket összehozni a válaszban érkező tételekkel! 1.6 requestVersion es " +
            "nagyobbtól"))]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(50)]
        [System.Xml.Serialization.XmlElementAttribute("itemExternalId")]
        public string ItemExternalId { get; set; }
        
        /// <summary>
        /// <para>Művelet típusa: create: Új tétel létrehozása, modify: Meglévő módosítása, delete: Meglévő tétel törlése!</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute(("Művelet típusa: create: Új tétel létrehozása, modify: Meglévő módosítása, delete:" +
            " Meglévő tétel törlése!"))]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("itemOperation")]
        public ItemOperationType ItemOperationValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the ItemOperation property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool ItemOperationValueSpecified { get; set; }
        
        /// <summary>
        /// <para>Művelet típusa: create: Új tétel létrehozása, modify: Meglévő módosítása, delete: Meglévő tétel törlése!</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<ItemOperationType> ItemOperation
        {
            get
            {
                if (this.ItemOperationValueSpecified)
                {
                    return this.ItemOperationValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.ItemOperationValue = value.GetValueOrDefault();
                this.ItemOperationValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Tétel beszerzési oka: S: Értékesítés A: Beszerzés W: Bérmunka O: Egyéb</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Tétel beszerzési oka: S: Értékesítés A: Beszerzés W: Bérmunka O: Egyéb")]
        [System.ComponentModel.DataAnnotations.RequiredAttribute(AllowEmptyStrings=true)]
        [System.Xml.Serialization.XmlElementAttribute("tradeReason")]
        public AyCode.Services.Nav.Ekaer.Models.Common.TradeReasonType TradeReason { get; set; }
        
        /// <summary>
        /// <para>Termék VTSZ száma!</para>
        /// <para xml:lang="en">Pattern: [0-9]{4,8}.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Termék VTSZ száma!")]
        [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[0-9]{4,8}")]
        [System.ComponentModel.DataAnnotations.RequiredAttribute(AllowEmptyStrings=true)]
        [System.Xml.Serialization.XmlElementAttribute("productVtsz")]
        public string ProductVtsz { get; set; }
        
        /// <summary>
        /// <para>Termék user által megadható neve. pl.: Málnás joghurt :)</para>
        /// <para xml:lang="en">Minimum length: 1.</para>
        /// <para xml:lang="en">Maximum length: 200.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Termék user által megadható neve. pl.: Málnás joghurt :)")]
        [System.ComponentModel.DataAnnotations.MinLengthAttribute(1)]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(200)]
        [System.ComponentModel.DataAnnotations.RequiredAttribute(AllowEmptyStrings=false)]
        [System.Xml.Serialization.XmlElementAttribute("productName")]
        public string ProductName { get; set; }
        
        /// <summary>
        /// <para>VTSZ csoport neve! Csak 1.10 verziótól van használva!</para>
        /// <para xml:lang="en">Maximum length: 1000.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("VTSZ csoport neve! Csak 1.10 verziótól van használva!")]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(1000)]
        [System.Xml.Serialization.XmlElementAttribute("productVtszGroupName")]
        public string ProductVtszGroupName { get; set; }
        
        /// <summary>
        /// <para>BVeszélyességi BÁRCA szám. Veszélyes áru esetén kitöltendő.</para>
        /// <para xml:lang="en">Pattern: [0-9,\.]{1,200}.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("BVeszélyességi BÁRCA szám. Veszélyes áru esetén kitöltendő.")]
        [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[0-9,\\.]{1,200}")]
        [System.Xml.Serialization.XmlElementAttribute("adrNumber")]
        public string AdrNumber { get; set; }
        
        /// <summary>
        /// <para>Veszélyes áru esetén a fuvar engedély azonosítója, amit kiadtak a szállításhoz</para>
        /// <para xml:lang="en">Maximum length: 30.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Veszélyes áru esetén a fuvar engedély azonosítója, amit kiadtak a szállításhoz")]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(30)]
        [System.Xml.Serialization.XmlElementAttribute("transportLincense")]
        public string TransportLincense { get; set; }
        
        /// <summary>
        /// <para>Súly, tömeg Kg-ban.</para>
        /// <para xml:lang="en">Minimum inclusive value: 0.</para>
        /// <para xml:lang="en">Maximum exclusive value: 1000000000.</para>
        /// <para xml:lang="en">Total number of digits: 12.</para>
        /// <para xml:lang="en">Total number of digits in fraction: 3.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Súly, tömeg Kg-ban.")]
        [System.ComponentModel.DataAnnotations.RequiredAttribute(AllowEmptyStrings=true)]
        [System.Xml.Serialization.XmlElementAttribute("weight")]
        public decimal Weight { get; set; }
        
        /// <summary>
        /// <para>HUF-ban az érték</para>
        /// <para xml:lang="en">Minimum exclusive value: 0.</para>
        /// <para xml:lang="en">Total number of digits in fraction: 0.</para>
        /// <para xml:lang="en">Total number of digits: 11.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("HUF-ban az érték")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("value")]
        public long ValueValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the Value property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool ValueValueSpecified { get; set; }
        
        /// <summary>
        /// <para>HUF-ban az érték</para>
        /// <para xml:lang="en">Minimum exclusive value: 0.</para>
        /// <para xml:lang="en">Total number of digits in fraction: 0.</para>
        /// <para xml:lang="en">Total number of digits: 11.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<long> Value
        {
            get
            {
                if (this.ValueValueSpecified)
                {
                    return this.ValueValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.ValueValue = value.GetValueOrDefault();
                this.ValueValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Érték módosítás oka szövegesen. Csak akkor kell, ha az értéket módosítja a hívó!</para>
        /// <para xml:lang="en">Maximum length: 200.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Érték módosítás oka szövegesen. Csak akkor kell, ha az értéket módosítja a hívó!")]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(200)]
        [System.Xml.Serialization.XmlElementAttribute("valueModReasonText")]
        public string ValueModReasonText { get; set; }
        
        /// <summary>
        /// <para>Súly módosítás oka szövegesen. Csak akkor kell, ha a súlyt módosítja a hívó!</para>
        /// <para xml:lang="en">Maximum length: 200.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Súly módosítás oka szövegesen. Csak akkor kell, ha a súlyt módosítja a hívó!")]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(200)]
        [System.Xml.Serialization.XmlElementAttribute("weightModReasonText")]
        public string WeightModReasonText { get; set; }
        
        /// <summary>
        /// <para>A termék gyári száma</para>
        /// <para xml:lang="en">Maximum length: 200.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("A termék gyári száma")]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(200)]
        [System.Xml.Serialization.XmlElementAttribute("factoryItemNumber")]
        public string FactoryItemNumber { get; set; }
        
        /// <summary>
        /// <para>Bejelentő által használt cikkszám, amin kezeli, raktárnyilvántartja.</para>
        /// <para xml:lang="en">Maximum length: 200.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Bejelentő által használt cikkszám, amin kezeli, raktárnyilvántartja.")]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(200)]
        [System.Xml.Serialization.XmlElementAttribute("importerItemNumber")]
        public string ImporterItemNumber { get; set; }
        
        /// <summary>
        /// <para>Lejárati dátum, szavatossági idő</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Lejárati dátum, szavatossági idő")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("expirationDate", DataType="date")]
        public System.DateTime ExpirationDateValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the ExpirationDate property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool ExpirationDateValueSpecified { get; set; }
        
        /// <summary>
        /// <para>Lejárati dátum, szavatossági idő</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<System.DateTime> ExpirationDate
        {
            get
            {
                if (this.ExpirationDateValueSpecified)
                {
                    return this.ExpirationDateValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.ExpirationDateValue = value.GetValueOrDefault();
                this.ExpirationDateValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>SARZS szám (batch number), amit a gyártó ad! Ami alapján azonosítani lehet a gyártási paramétereket, gyártó sort.</para>
        /// <para xml:lang="en">Minimum length: 3.</para>
        /// <para xml:lang="en">Maximum length: 30.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute(("SARZS szám (batch number), amit a gyártó ad! Ami alapján azonosítani lehet a gyár" +
            "tási paramétereket, gyártó sort."))]
        [System.ComponentModel.DataAnnotations.MinLengthAttribute(3)]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(30)]
        [System.Xml.Serialization.XmlElementAttribute("batchNumber")]
        public string BatchNumber { get; set; }
        
        /// <summary>
        /// <para>Státusz váltás oka szövegesen.</para>
        /// <para xml:lang="en">Maximum length: 200.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Státusz váltás oka szövegesen.")]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(200)]
        [System.Xml.Serialization.XmlElementAttribute("statusModReasonText")]
        public string StatusModReasonText { get; set; }
        
        /// <summary>
        /// <para>Termék módosítás oka szövegesen.</para>
        /// <para xml:lang="en">Maximum length: 200.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Termék módosítás oka szövegesen.")]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(200)]
        [System.Xml.Serialization.XmlElementAttribute("productModReasonText")]
        public string ProductModReasonText { get; set; }
        
        /// <summary>
        /// <para>A termék biztosíték mentes áfakulcs alá tartozik?</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("A termék biztosíték mentes áfakulcs alá tartozik?")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("vatRateAssuranceExemption")]
        public bool VatRateAssuranceExemptionValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the VatRateAssuranceExemption property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool VatRateAssuranceExemptionValueSpecified { get; set; }
        
        /// <summary>
        /// <para>A termék biztosíték mentes áfakulcs alá tartozik?</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<bool> VatRateAssuranceExemption
        {
            get
            {
                if (this.VatRateAssuranceExemptionValueSpecified)
                {
                    return this.VatRateAssuranceExemptionValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.VatRateAssuranceExemptionValue = value.GetValueOrDefault();
                this.VatRateAssuranceExemptionValueSpecified = value.HasValue;
            }
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("insDate", DataType="dateTime")]
        public System.DateTime InsDateValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the InsDate property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool InsDateValueSpecified { get; set; }
        
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<System.DateTime> InsDate
        {
            get
            {
                if (this.InsDateValueSpecified)
                {
                    return this.InsDateValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.InsDateValue = value.GetValueOrDefault();
                this.InsDateValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Létrehozó user! EKAER felhasználó user azonosító.</para>
        /// <para xml:lang="en">Maximum length: 30.</para>
        /// <para xml:lang="en">Pattern: [a-zA-Z0-9\-@\.]{6,30}.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Létrehozó user! EKAER felhasználó user azonosító.")]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(30)]
        [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[a-zA-Z0-9\\-@\\.]{6,30}")]
        [System.Xml.Serialization.XmlElementAttribute("insUser")]
        public string InsUser { get; set; }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("modDate", DataType="dateTime")]
        public System.DateTime ModDateValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the ModDate property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool ModDateValueSpecified { get; set; }
        
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<System.DateTime> ModDate
        {
            get
            {
                if (this.ModDateValueSpecified)
                {
                    return this.ModDateValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.ModDateValue = value.GetValueOrDefault();
                this.ModDateValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Módosítást végző user! EKAER felhasználó user azonosító.</para>
        /// <para xml:lang="en">Maximum length: 30.</para>
        /// <para xml:lang="en">Pattern: [a-zA-Z0-9\-@\.]{6,30}.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Módosítást végző user! EKAER felhasználó user azonosító.")]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(30)]
        [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[a-zA-Z0-9\\-@\\.]{6,30}")]
        [System.Xml.Serialization.XmlElementAttribute("modUser")]
        public string ModUser { get; set; }
        
        /// <summary>
        /// <para>Csak módosítási kérés esetén kell tölteni, ha az adott elem már létezik és módosítani akarja a hívó. Ha az operation módosítás de a tétel új akkor nem kell megadni, kitölteni!</para>
        /// <para xml:lang="en">Maximum length: 30.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute(("Csak módosítási kérés esetén kell tölteni, ha az adott elem már létezik és módosí" +
            "tani akarja a hívó. Ha az operation módosítás de a tétel új akkor nem kell megad" +
            "ni, kitölteni!"))]
        [System.ComponentModel.DataAnnotations.MaxLengthAttribute(30)]
        [System.Xml.Serialization.XmlAttributeAttribute("id")]
        public string Id { get; set; }
    }
}
