//------------------------------------------------------------------------------
// <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("TradeCardInfoType", Namespace="http://schemas.nav.gov.hu/EKAER/1.0/ekaermanagement")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class TradeCardInfoType : TradeCardType, IBasicInfoElementsGroup
    {
        
        /// <summary>
        /// <para>Adószám, a bejelentéskor, server állítja be!</para>
        /// <para xml:lang="en">Pattern: [0-9A-Z\-]{1,15}.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Adószám, a bejelentéskor, server állítja be!")]
        [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[0-9A-Z\\-]{1,15}")]
        [System.Xml.Serialization.XmlElementAttribute("VATNumber")]
        public string VatNumber { get; set; }
        
        /// <summary>
        /// <para>Adóazonosító jel! Bejelentés rögzítésnél</para>
        /// <para xml:lang="en">Pattern: [0-9A-Z\-]{1,15}.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Adóazonosító jel! Bejelentés rögzítésnél")]
        [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[0-9A-Z\\-]{1,15}")]
        [System.Xml.Serialization.XmlElementAttribute("taxIdentifier")]
        public string TaxIdentifier { get; set; }
        
        /// <summary>
        /// <para>Bejelentési lap státusza</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Bejelentési lap státusza")]
        [System.ComponentModel.DataAnnotations.RequiredAttribute(AllowEmptyStrings=true)]
        [System.Xml.Serialization.XmlElementAttribute("status")]
        public AyCode.Services.Nav.Ekaer.Models.Common.TradeCardStatusType Status { get; set; }
        
        /// <summary>
        /// <para>Teljes tömeg KG-ban. Out paraméter</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Teljes tömeg KG-ban. Out paraméter")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("totalWeight")]
        public decimal TotalWeightValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the TotalWeight property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool TotalWeightValueSpecified { get; set; }
        
        /// <summary>
        /// <para>Teljes tömeg KG-ban. Out paraméter</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<decimal> TotalWeight
        {
            get
            {
                if (this.TotalWeightValueSpecified)
                {
                    return this.TotalWeightValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.TotalWeightValue = value.GetValueOrDefault();
                this.TotalWeightValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Teljes érték HUF-ban. Out paraméter</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Teljes érték HUF-ban. Out paraméter")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("totalValue")]
        public decimal TotalValueValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the TotalValue property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool TotalValueValueSpecified { get; set; }
        
        /// <summary>
        /// <para>Teljes érték HUF-ban. Out paraméter</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<decimal> TotalValue
        {
            get
            {
                if (this.TotalValueValueSpecified)
                {
                    return this.TotalValueValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.TotalValueValue = value.GetValueOrDefault();
                this.TotalValueValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Teljes zárolási érték HUF-ban, ami az adott bejelentőhöz köthető</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Teljes zárolási érték HUF-ban, ami az adott bejelentőhöz köthető")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("totalAssuranceLocked")]
        public decimal TotalAssuranceLockedValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the TotalAssuranceLocked property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool TotalAssuranceLockedValueSpecified { get; set; }
        
        /// <summary>
        /// <para>Teljes zárolási érték HUF-ban, ami az adott bejelentőhöz köthető</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<decimal> TotalAssuranceLocked
        {
            get
            {
                if (this.TotalAssuranceLockedValueSpecified)
                {
                    return this.TotalAssuranceLockedValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.TotalAssuranceLockedValue = value.GetValueOrDefault();
                this.TotalAssuranceLockedValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Véglegesítés időpontja. Csak ha véglegesítve van a bejelentő.</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Véglegesítés időpontja. Csak ha véglegesítve van a bejelentő.")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("finalizationTime", DataType="date")]
        public System.DateTime FinalizationTimeValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the FinalizationTime property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool FinalizationTimeValueSpecified { get; set; }
        
        /// <summary>
        /// <para>Véglegesítés időpontja. Csak ha véglegesítve van a bejelentő.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<System.DateTime> FinalizationTime
        {
            get
            {
                if (this.FinalizationTimeValueSpecified)
                {
                    return this.FinalizationTimeValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.FinalizationTimeValue = value.GetValueOrDefault();
                this.FinalizationTimeValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Rekord beszúrásának időpontja!</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Rekord beszúrásának időpontja!")]
        [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; }
        
        /// <summary>
        /// <para>Rekord beszúrásának időpontja!</para>
        /// </summary>
        [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>Az EKAER szám érvényességének kezdete!</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Az EKAER szám érvényességének kezdete!")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("tcnValidityStart", DataType="date")]
        public System.DateTime TcnValidityStartValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the TcnValidityStart property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool TcnValidityStartValueSpecified { get; set; }
        
        /// <summary>
        /// <para>Az EKAER szám érvényességének kezdete!</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<System.DateTime> TcnValidityStart
        {
            get
            {
                if (this.TcnValidityStartValueSpecified)
                {
                    return this.TcnValidityStartValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.TcnValidityStartValue = value.GetValueOrDefault();
                this.TcnValidityStartValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para>Az EKAER szám érvényességének vége</para>
        /// </summary>
        [System.ComponentModel.DescriptionAttribute("Az EKAER szám érvényességének vége")]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        [System.Xml.Serialization.XmlElementAttribute("tcnValidityEnd", DataType="date")]
        public System.DateTime TcnValidityEndValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the TcnValidityEnd property is specified.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
        public bool TcnValidityEndValueSpecified { get; set; }
        
        /// <summary>
        /// <para>Az EKAER szám érvényességének vége</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public System.Nullable<System.DateTime> TcnValidityEnd
        {
            get
            {
                if (this.TcnValidityEndValueSpecified)
                {
                    return this.TcnValidityEndValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.TcnValidityEndValue = value.GetValueOrDefault();
                this.TcnValidityEndValueSpecified = 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; }
        
        /// <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; }
        
        [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;
            }
        }
        
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        private System.Collections.ObjectModel.Collection<AllowanceType> _allowances;
        
        [System.Xml.Serialization.XmlArrayAttribute("allowances")]
        [System.Xml.Serialization.XmlArrayItemAttribute("allowance", Namespace="http://schemas.nav.gov.hu/EKAER/1.0/ekaermanagement")]
        public System.Collections.ObjectModel.Collection<AllowanceType> Allowances
        {
            get
            {
                return _allowances;
            }
            private set
            {
                _allowances = value;
            }
        }
        
        /// <summary>
        /// <para xml:lang="en">Gets a value indicating whether the Allowances collection is empty.</para>
        /// </summary>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AllowancesSpecified
        {
            get
            {
                return (this.Allowances.Count != 0);
            }
        }
        
        /// <summary>
        /// <para xml:lang="en">Initializes a new instance of the <see cref="TradeCardInfoType" /> class.</para>
        /// </summary>
        public TradeCardInfoType()
        {
            this._allowances = new System.Collections.ObjectModel.Collection<AllowanceType>();
        }
    }
}
