using System;

using BS.Shared;

namespace BeWo.Data.Entities
{
    public class SettlementInvoice : BeWoEntityBase
    {
        public static String PropertyName_AmountAdvancedPayments = "AmountAdvancedPayments";

        public static String PropertyName_AmountRateFactor = "AmountRateFactor";

        public static String PropertyName_AmountBillableTotal = "AmountBillableTotal";

        public static String PropertyName_AmountTotalAdvancedPaidWithNewHourlyRate = "AmountTotalAdvancedPaidWithNewHourlyRate";

        public static String PropertyName_AmountTotalAdvancedPaidWithOldHourlyRate = "AmountTotalAdvancedPaidWithOldHourlyRate";

        public static String PropertyName_AmountWithRateFactor = "AmountWithRateFactor";

        public static String PropertyName_ApprovalNoticeDate = "ApprovalNoticeDate";

        public static String PropertyName_ApprovedFLS = "ApprovedFLS";

        public static String PropertyName_ApprovedFLSWithActualHourlyRate = "ApprovedFLSWithActualHourlyRate";

        public static String PropertyName_ApprovedFLSWithOldHourlyRate = "ApprovedFLSWithOldHourlyRate";

        public static String PropertyName_Claim = "Claim";

        public static String PropertyName_HourlyRateNew = "HourlyRateNew";

        public static String PropertyName_HourlyRateNewStartDate = "HourlyRateNewStartDate";

        public static String PropertyName_HourlyRateOld = "HourlyRateOld";

        public static String PropertyName_HourlyRateOldEndDate = "HourlyRateOldEndDate";

        public static String PropertyName_InvoiceBase = "InvoiceBase";

        public static String PropertyName_RecordedBillableFLSBrutto = "RecordedBillableFLSBrutto";

        public static String PropertyName_RecordedBillableFLSNetto = "RecordedBillableFLSNetto";

        public static String PropertyName_RecordedBillableFLSNotBillableCustomerAbsent = "RecordedBillableFLSNotBillableCustomerAbsent";

        public static String PropertyName_RecordedBillableFLSNotBillableOutOfApprovedSpan = "RecordedBillableFLSNotBillableOutOfApprovedSpan";

		public static String PropertyName_ErrorNotice = "ErrorNotice";
		
        private decimal? _AmountAdvancedPayments;

        private decimal? _AmountRateFactor;

        private decimal? _AmountBillableTotal;

        private decimal? _AmountTotalAdvancedPaidWithNewHourlyRate;

        private decimal? _AmountTotalAdvancedPaidWithOldHourlyRate;

        private decimal? _AmountWithRateFactor;

        private DateTime? _ApprovalNoticeDate;

        private decimal? _ApprovedFLS;

        private decimal? _ApprovedFLSWithActualHourlyRate;

        private decimal? _ApprovedFLSWithOldHourlyRate;

        private decimal? _Claim;

        private decimal? _HourlyRateNew;

        private DateTime? _HourlyRateNewStartDate;

        private decimal? _HourlyRateOld;

        private DateTime? _HourlyRateOldEndDate;

        private InvoiceBase _InvoiceBase;

        private decimal? _RecordedBillableFLSBrutto;

        private decimal? _RecordedBillableFLSNetto;

        private decimal? _RecordedBillableFLSNotBillableCustomerAbsent;

        private decimal? _RecordedBillableFLSNotBillableOutOfApprovedSpan;

		private string _ErrorNotice;

        public SettlementInvoice()
        {
            this._Tid = TableID.SettlementInvoice;
        }

        public virtual decimal? AmountAdvancedPayments
        {
            get
            {
                return this._AmountAdvancedPayments;
            }

            set
            {
                if (this.AreDifferent(this._AmountAdvancedPayments, value))
                {
                    this._AmountAdvancedPayments = value;
                }
            }
        }

        public virtual decimal? AmountRateFactor
        {
            get
            {
                return this._AmountRateFactor;
            }

            set
            {
                if (this.AreDifferent(this._AmountRateFactor, value))
                {
                    this._AmountRateFactor = value;
                }
            }
        }

        public virtual decimal? AmountBillableTotal
        {
            get
            {
                return this._AmountBillableTotal;
            }

            set
            {
                if (this.AreDifferent(this._AmountBillableTotal, value))
                {
                    this._AmountBillableTotal = value;
                }
            }
        }

        public virtual decimal? AmountTotalAdvancedPaidWithNewHourlyRate
        {
            get
            {
                return this._AmountTotalAdvancedPaidWithNewHourlyRate;
            }

            set
            {
                if (this.AreDifferent(this._AmountTotalAdvancedPaidWithNewHourlyRate, value))
                {
                    this._AmountTotalAdvancedPaidWithNewHourlyRate = value;
                }
            }
        }

        public virtual decimal? AmountTotalAdvancedPaidWithOldHourlyRate
        {
            get
            {
                return this._AmountTotalAdvancedPaidWithOldHourlyRate;
            }

            set
            {
                if (this.AreDifferent(this._AmountTotalAdvancedPaidWithOldHourlyRate, value))
                {
                    this._AmountTotalAdvancedPaidWithOldHourlyRate = value;
                }
            }
        }

        public virtual decimal? AmountWithRateFactor
        {
            get
            {
                return this._AmountWithRateFactor;
            }

            set
            {
                if (this.AreDifferent(this._AmountWithRateFactor, value))
                {
                    this._AmountWithRateFactor = value;
                }
            }
        }

        public virtual DateTime? ApprovalNoticeDate
        {
            get
            {
                return this._ApprovalNoticeDate;
            }

            set
            {
                if (this.AreDifferent(this._ApprovalNoticeDate, value))
                {
                    this._ApprovalNoticeDate = value;
                }
            }
        }

        public virtual decimal? ApprovedFLS
        {
            get
            {
                return this._ApprovedFLS;
            }

            set
            {
                if (this.AreDifferent(this._ApprovedFLS, value))
                {
                    this._ApprovedFLS = value;
                }
            }
        }

        public virtual decimal? ApprovedFLSWithActualHourlyRate
        {
            get
            {
                return this._ApprovedFLSWithActualHourlyRate;
            }

            set
            {
                if (this.AreDifferent(this._ApprovedFLSWithActualHourlyRate, value))
                {
                    this._ApprovedFLSWithActualHourlyRate = value;
                }
            }
        }

        public virtual decimal? ApprovedFLSWithOldHourlyRate
        {
            get
            {
                return this._ApprovedFLSWithOldHourlyRate;
            }

            set
            {
                if (this.AreDifferent(this._ApprovedFLSWithOldHourlyRate, value))
                {
                    this._ApprovedFLSWithOldHourlyRate = value;
                }
            }
        }

        public virtual decimal? Claim
        {
            get
            {
                return this._Claim;
            }

            set
            {
                if (this.AreDifferent(this._Claim, value))
                {
                    this._Claim = value;
                }
            }
        }

        public virtual decimal? HourlyRateNew
        {
            get
            {
                return this._HourlyRateNew;
            }

            set
            {
                if (this.AreDifferent(this._HourlyRateNew, value))
                {
                    this._HourlyRateNew = value;
                }
            }
        }

        public virtual DateTime? HourlyRateNewStartDate
        {
            get
            {
                return this._HourlyRateNewStartDate;
            }

            set
            {
                if (this.AreDifferent(this._HourlyRateNewStartDate, value))
                {
                    this._HourlyRateNewStartDate = value;
                }
            }
        }

        public virtual decimal? HourlyRateOld
        {
            get
            {
                return this._HourlyRateOld;
            }

            set
            {
                if (this.AreDifferent(this._HourlyRateOld, value))
                {
                    this._HourlyRateOld = value;
                }
            }
        }

        public virtual DateTime? HourlyRateOldEndDate
        {
            get
            {
                return this._HourlyRateOldEndDate;
            }

            set
            {
                if (this.AreDifferent(this._HourlyRateOldEndDate, value))
                {
                    this._HourlyRateOldEndDate = value;
                }
            }
        }

        public virtual InvoiceBase InvoiceBase
        {
            get
            {
                return this._InvoiceBase;
            }

            set
            {
                if (this.AreDifferent(this._InvoiceBase, value))
                {
                    this._InvoiceBase = value;
                }
            }
        }

        public virtual decimal? RecordedBillableFLSBrutto
        {
            get
            {
                return this._RecordedBillableFLSBrutto;
            }

            set
            {
                if (this.AreDifferent(this._RecordedBillableFLSBrutto, value))
                {
                    this._RecordedBillableFLSBrutto = value;
                }
            }
        }

        public virtual decimal? RecordedBillableFLSNetto
        {
            get
            {
                return this._RecordedBillableFLSNetto;
            }

            set
            {
                if (this.AreDifferent(this._RecordedBillableFLSNetto, value))
                {
                    this._RecordedBillableFLSNetto = value;
                }
            }
        }

        public virtual decimal? RecordedBillableFLSNotBillableCustomerAbsent
        {
            get
            {
                return this._RecordedBillableFLSNotBillableCustomerAbsent;
            }

            set
            {
                if (this.AreDifferent(this._RecordedBillableFLSNotBillableCustomerAbsent, value))
                {
                    this._RecordedBillableFLSNotBillableCustomerAbsent = value;
                }
            }
        }

        public virtual decimal? RecordedBillableFLSNotBillableOutOfApprovedSpan
        {
            get
            {
                return this._RecordedBillableFLSNotBillableOutOfApprovedSpan;
            }

            set
            {
                if (this.AreDifferent(this._RecordedBillableFLSNotBillableOutOfApprovedSpan, value))
                {
                    this._RecordedBillableFLSNotBillableOutOfApprovedSpan = value;
                }
            }
        }

		public virtual String ErrorNotice
		{
			get
			{
				return this._ErrorNotice;
			}

			set
			{
				if (this.AreDifferent(this._ErrorNotice, value))
				{
					this._ErrorNotice = value;
				}
			}
		}
	}
}