#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
//     此代码由工具生成。
//     运行时版本:4.0.30319.42000
//
//     对此文件的更改可能会导致不正确的行为,并且如果
//     重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------

namespace ICSSoft.Frame.Data.Entity
{
	using System.Data.Linq;
	using System.Data.Linq.Mapping;
	using System.Data;
	using System.Collections.Generic;
	using System.Reflection;
	using System.Linq;
	using System.Linq.Expressions;
	using System.ComponentModel;
	using System;
	
	
	[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="ICS_WMS_NW")]
	public partial class FramDataContext : System.Data.Linq.DataContext
	{
		
		private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
		
    #region 可扩展性方法定义
    partial void OnCreated();
    partial void InsertICSInventory(ICSInventory instance);
    partial void UpdateICSInventory(ICSInventory instance);
    partial void DeleteICSInventory(ICSInventory instance);
    partial void InsertICSExtension(ICSExtension instance);
    partial void UpdateICSExtension(ICSExtension instance);
    partial void DeleteICSExtension(ICSExtension instance);
    partial void InsertICSMOApply(ICSMOApply instance);
    partial void UpdateICSMOApply(ICSMOApply instance);
    partial void DeleteICSMOApply(ICSMOApply instance);
    partial void InsertICSMOApplyNeg(ICSMOApplyNeg instance);
    partial void UpdateICSMOApplyNeg(ICSMOApplyNeg instance);
    partial void DeleteICSMOApplyNeg(ICSMOApplyNeg instance);
    partial void InsertICSMOApplyNegDetail(ICSMOApplyNegDetail instance);
    partial void UpdateICSMOApplyNegDetail(ICSMOApplyNegDetail instance);
    partial void DeleteICSMOApplyNegDetail(ICSMOApplyNegDetail instance);
    partial void InsertICSTransfer(ICSTransfer instance);
    partial void UpdateICSTransfer(ICSTransfer instance);
    partial void DeleteICSTransfer(ICSTransfer instance);
    partial void InsertICSManufactureReceive(ICSManufactureReceive instance);
    partial void UpdateICSManufactureReceive(ICSManufactureReceive instance);
    partial void DeleteICSManufactureReceive(ICSManufactureReceive instance);
    partial void InsertICSSDN(ICSSDN instance);
    partial void UpdateICSSDN(ICSSDN instance);
    partial void DeleteICSSDN(ICSSDN instance);
    partial void InsertICSInventoryLotDetail(ICSInventoryLotDetail instance);
    partial void UpdateICSInventoryLotDetail(ICSInventoryLotDetail instance);
    partial void DeleteICSInventoryLotDetail(ICSInventoryLotDetail instance);
    partial void InsertICSWareHouseLotInfoLog(ICSWareHouseLotInfoLog instance);
    partial void UpdateICSWareHouseLotInfoLog(ICSWareHouseLotInfoLog instance);
    partial void DeleteICSWareHouseLotInfoLog(ICSWareHouseLotInfoLog instance);
    partial void InsertICSInventoryLot(ICSInventoryLot instance);
    partial void UpdateICSInventoryLot(ICSInventoryLot instance);
    partial void DeleteICSInventoryLot(ICSInventoryLot instance);
    partial void InsertICSWareHouseLotInfo(ICSWareHouseLotInfo instance);
    partial void UpdateICSWareHouseLotInfo(ICSWareHouseLotInfo instance);
    partial void DeleteICSWareHouseLotInfo(ICSWareHouseLotInfo instance);
    partial void InsertICSLocation(ICSLocation instance);
    partial void UpdateICSLocation(ICSLocation instance);
    partial void DeleteICSLocation(ICSLocation instance);
    partial void InsertICSWarehouse(ICSWarehouse instance);
    partial void UpdateICSWarehouse(ICSWarehouse instance);
    partial void DeleteICSWarehouse(ICSWarehouse instance);
    partial void InsertICSOtherOut(ICSOtherOut instance);
    partial void UpdateICSOtherOut(ICSOtherOut instance);
    partial void DeleteICSOtherOut(ICSOtherOut instance);
    partial void InsertICSOtherIn(ICSOtherIn instance);
    partial void UpdateICSOtherIn(ICSOtherIn instance);
    partial void DeleteICSOtherIn(ICSOtherIn instance);
    partial void InsertICSOApply(ICSOApply instance);
    partial void UpdateICSOApply(ICSOApply instance);
    partial void DeleteICSOApply(ICSOApply instance);
    partial void InsertSys_SRM_Items(Sys_SRM_Items instance);
    partial void UpdateSys_SRM_Items(Sys_SRM_Items instance);
    partial void DeleteSys_SRM_Items(Sys_SRM_Items instance);
    partial void InsertSys_SRM_ItemsDetail(Sys_SRM_ItemsDetail instance);
    partial void UpdateSys_SRM_ItemsDetail(Sys_SRM_ItemsDetail instance);
    partial void DeleteSys_SRM_ItemsDetail(Sys_SRM_ItemsDetail instance);
    partial void InsertICSWMS_HGLog(ICSWMS_HGLog instance);
    partial void UpdateICSWMS_HGLog(ICSWMS_HGLog instance);
    partial void DeleteICSWMS_HGLog(ICSWMS_HGLog instance);
    partial void InsertICSMTDOC(ICSMTDOC instance);
    partial void UpdateICSMTDOC(ICSMTDOC instance);
    partial void DeleteICSMTDOC(ICSMTDOC instance);
    partial void InsertICSInventoryDetail(ICSInventoryDetail instance);
    partial void UpdateICSInventoryDetail(ICSInventoryDetail instance);
    partial void DeleteICSInventoryDetail(ICSInventoryDetail instance);
    partial void InsertICSDeliveryNotice(ICSDeliveryNotice instance);
    partial void UpdateICSDeliveryNotice(ICSDeliveryNotice instance);
    partial void DeleteICSDeliveryNotice(ICSDeliveryNotice instance);
    #endregion
		
		public FramDataContext() : 
				base(global::ICSSoft.Frame.Data.Entity.Properties.Settings.Default.ICS_WMS_NWConnectionString2, mappingSource)
		{
			OnCreated();
		}
		
		public FramDataContext(string connection) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public FramDataContext(System.Data.IDbConnection connection) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public FramDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public FramDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public System.Data.Linq.Table<ICSInventory> ICSInventory
		{
			get
			{
				return this.GetTable<ICSInventory>();
			}
		}
		
		public System.Data.Linq.Table<ICSExtension> ICSExtension
		{
			get
			{
				return this.GetTable<ICSExtension>();
			}
		}
		
		public System.Data.Linq.Table<ICSMOApply> ICSMOApply
		{
			get
			{
				return this.GetTable<ICSMOApply>();
			}
		}
		
		public System.Data.Linq.Table<ICSMOApplyNeg> ICSMOApplyNeg
		{
			get
			{
				return this.GetTable<ICSMOApplyNeg>();
			}
		}
		
		public System.Data.Linq.Table<ICSMOApplyNegDetail> ICSMOApplyNegDetail
		{
			get
			{
				return this.GetTable<ICSMOApplyNegDetail>();
			}
		}
		
		public System.Data.Linq.Table<ICSTransfer> ICSTransfer
		{
			get
			{
				return this.GetTable<ICSTransfer>();
			}
		}
		
		public System.Data.Linq.Table<ICSManufactureReceive> ICSManufactureReceive
		{
			get
			{
				return this.GetTable<ICSManufactureReceive>();
			}
		}
		
		public System.Data.Linq.Table<ICSSDN> ICSSDN
		{
			get
			{
				return this.GetTable<ICSSDN>();
			}
		}
		
		public System.Data.Linq.Table<ICSInventoryLotDetail> ICSInventoryLotDetail
		{
			get
			{
				return this.GetTable<ICSInventoryLotDetail>();
			}
		}
		
		public System.Data.Linq.Table<ICSWareHouseLotInfoLog> ICSWareHouseLotInfoLog
		{
			get
			{
				return this.GetTable<ICSWareHouseLotInfoLog>();
			}
		}
		
		public System.Data.Linq.Table<ICSInventoryLot> ICSInventoryLot
		{
			get
			{
				return this.GetTable<ICSInventoryLot>();
			}
		}
		
		public System.Data.Linq.Table<ICSWareHouseLotInfo> ICSWareHouseLotInfo
		{
			get
			{
				return this.GetTable<ICSWareHouseLotInfo>();
			}
		}
		
		public System.Data.Linq.Table<ICSLocation> ICSLocation
		{
			get
			{
				return this.GetTable<ICSLocation>();
			}
		}
		
		public System.Data.Linq.Table<ICSWarehouse> ICSWarehouse
		{
			get
			{
				return this.GetTable<ICSWarehouse>();
			}
		}
		
		public System.Data.Linq.Table<ICSOtherOut> ICSOtherOut
		{
			get
			{
				return this.GetTable<ICSOtherOut>();
			}
		}
		
		public System.Data.Linq.Table<ICSOtherIn> ICSOtherIn
		{
			get
			{
				return this.GetTable<ICSOtherIn>();
			}
		}
		
		public System.Data.Linq.Table<ICSOApply> ICSOApply
		{
			get
			{
				return this.GetTable<ICSOApply>();
			}
		}
		
		public System.Data.Linq.Table<Sys_SRM_Items> Sys_SRM_Items
		{
			get
			{
				return this.GetTable<Sys_SRM_Items>();
			}
		}
		
		public System.Data.Linq.Table<Sys_SRM_ItemsDetail> Sys_SRM_ItemsDetail
		{
			get
			{
				return this.GetTable<Sys_SRM_ItemsDetail>();
			}
		}
		
		public System.Data.Linq.Table<ICSWMS_HGLog> ICSWMS_HGLog
		{
			get
			{
				return this.GetTable<ICSWMS_HGLog>();
			}
		}
		
		public System.Data.Linq.Table<ICSMTDOC> ICSMTDOC
		{
			get
			{
				return this.GetTable<ICSMTDOC>();
			}
		}
		
		public System.Data.Linq.Table<ICSInventoryDetail> ICSInventoryDetail
		{
			get
			{
				return this.GetTable<ICSInventoryDetail>();
			}
		}
		
		public System.Data.Linq.Table<ICSDeliveryNotice> ICSDeliveryNotice
		{
			get
			{
				return this.GetTable<ICSDeliveryNotice>();
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSInventory")]
	public partial class ICSInventory : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _InvCode;
		
		private string _InvName;
		
		private string _InvDesc;
		
		private string _InvStd;
		
		private string _InvUnit;
		
		private string _AmountUnit;
		
		private string _ClassCode;
		
		private string _ClassName;
		
		private decimal _InvRate;
		
		private string _InvVersion;
		
		private string _InvBrand;
		
		private bool _InvIQC;
		
		private bool _InvFQC;
		
		private bool _EffectiveEnable;
		
		private decimal _EffectiveDays;
		
		private bool _BatchEnable;
		
		private bool _LotEnable;
		
		private bool _PrintEnable;
		
		private string _WHUser;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
		private string _DrawingNo;
		
		private string _Version;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnInvNameChanging(string value);
    partial void OnInvNameChanged();
    partial void OnInvDescChanging(string value);
    partial void OnInvDescChanged();
    partial void OnInvStdChanging(string value);
    partial void OnInvStdChanged();
    partial void OnInvUnitChanging(string value);
    partial void OnInvUnitChanged();
    partial void OnAmountUnitChanging(string value);
    partial void OnAmountUnitChanged();
    partial void OnClassCodeChanging(string value);
    partial void OnClassCodeChanged();
    partial void OnClassNameChanging(string value);
    partial void OnClassNameChanged();
    partial void OnInvRateChanging(decimal value);
    partial void OnInvRateChanged();
    partial void OnInvVersionChanging(string value);
    partial void OnInvVersionChanged();
    partial void OnInvBrandChanging(string value);
    partial void OnInvBrandChanged();
    partial void OnInvIQCChanging(bool value);
    partial void OnInvIQCChanged();
    partial void OnInvFQCChanging(bool value);
    partial void OnInvFQCChanged();
    partial void OnEffectiveEnableChanging(bool value);
    partial void OnEffectiveEnableChanged();
    partial void OnEffectiveDaysChanging(decimal value);
    partial void OnEffectiveDaysChanged();
    partial void OnBatchEnableChanging(bool value);
    partial void OnBatchEnableChanged();
    partial void OnLotEnableChanging(bool value);
    partial void OnLotEnableChanged();
    partial void OnPrintEnableChanging(bool value);
    partial void OnPrintEnableChanged();
    partial void OnWHUserChanging(string value);
    partial void OnWHUserChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnDrawingNoChanging(string value);
    partial void OnDrawingNoChanged();
    partial void OnVersionChanging(string value);
    partial void OnVersionChanged();
    #endregion
		
		public ICSInventory()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvName", DbType="NVarChar(500) NOT NULL", CanBeNull=false)]
		public string InvName
		{
			get
			{
				return this._InvName;
			}
			set
			{
				if ((this._InvName != value))
				{
					this.OnInvNameChanging(value);
					this.SendPropertyChanging();
					this._InvName = value;
					this.SendPropertyChanged("InvName");
					this.OnInvNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvDesc", DbType="NVarChar(500)")]
		public string InvDesc
		{
			get
			{
				return this._InvDesc;
			}
			set
			{
				if ((this._InvDesc != value))
				{
					this.OnInvDescChanging(value);
					this.SendPropertyChanging();
					this._InvDesc = value;
					this.SendPropertyChanged("InvDesc");
					this.OnInvDescChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvStd", DbType="NVarChar(500)")]
		public string InvStd
		{
			get
			{
				return this._InvStd;
			}
			set
			{
				if ((this._InvStd != value))
				{
					this.OnInvStdChanging(value);
					this.SendPropertyChanging();
					this._InvStd = value;
					this.SendPropertyChanged("InvStd");
					this.OnInvStdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvUnit", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvUnit
		{
			get
			{
				return this._InvUnit;
			}
			set
			{
				if ((this._InvUnit != value))
				{
					this.OnInvUnitChanging(value);
					this.SendPropertyChanging();
					this._InvUnit = value;
					this.SendPropertyChanged("InvUnit");
					this.OnInvUnitChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AmountUnit", DbType="NVarChar(50)")]
		public string AmountUnit
		{
			get
			{
				return this._AmountUnit;
			}
			set
			{
				if ((this._AmountUnit != value))
				{
					this.OnAmountUnitChanging(value);
					this.SendPropertyChanging();
					this._AmountUnit = value;
					this.SendPropertyChanged("AmountUnit");
					this.OnAmountUnitChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ClassCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ClassCode
		{
			get
			{
				return this._ClassCode;
			}
			set
			{
				if ((this._ClassCode != value))
				{
					this.OnClassCodeChanging(value);
					this.SendPropertyChanging();
					this._ClassCode = value;
					this.SendPropertyChanged("ClassCode");
					this.OnClassCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ClassName", DbType="NVarChar(80) NOT NULL", CanBeNull=false)]
		public string ClassName
		{
			get
			{
				return this._ClassName;
			}
			set
			{
				if ((this._ClassName != value))
				{
					this.OnClassNameChanging(value);
					this.SendPropertyChanging();
					this._ClassName = value;
					this.SendPropertyChanged("ClassName");
					this.OnClassNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvRate", DbType="Decimal(18,6) NOT NULL")]
		public decimal InvRate
		{
			get
			{
				return this._InvRate;
			}
			set
			{
				if ((this._InvRate != value))
				{
					this.OnInvRateChanging(value);
					this.SendPropertyChanging();
					this._InvRate = value;
					this.SendPropertyChanged("InvRate");
					this.OnInvRateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvVersion", DbType="NVarChar(50)")]
		public string InvVersion
		{
			get
			{
				return this._InvVersion;
			}
			set
			{
				if ((this._InvVersion != value))
				{
					this.OnInvVersionChanging(value);
					this.SendPropertyChanging();
					this._InvVersion = value;
					this.SendPropertyChanged("InvVersion");
					this.OnInvVersionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvBrand", DbType="NVarChar(50)")]
		public string InvBrand
		{
			get
			{
				return this._InvBrand;
			}
			set
			{
				if ((this._InvBrand != value))
				{
					this.OnInvBrandChanging(value);
					this.SendPropertyChanging();
					this._InvBrand = value;
					this.SendPropertyChanged("InvBrand");
					this.OnInvBrandChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvIQC", DbType="Bit NOT NULL")]
		public bool InvIQC
		{
			get
			{
				return this._InvIQC;
			}
			set
			{
				if ((this._InvIQC != value))
				{
					this.OnInvIQCChanging(value);
					this.SendPropertyChanging();
					this._InvIQC = value;
					this.SendPropertyChanged("InvIQC");
					this.OnInvIQCChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvFQC", DbType="Bit NOT NULL")]
		public bool InvFQC
		{
			get
			{
				return this._InvFQC;
			}
			set
			{
				if ((this._InvFQC != value))
				{
					this.OnInvFQCChanging(value);
					this.SendPropertyChanging();
					this._InvFQC = value;
					this.SendPropertyChanged("InvFQC");
					this.OnInvFQCChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EffectiveEnable", DbType="Bit NOT NULL")]
		public bool EffectiveEnable
		{
			get
			{
				return this._EffectiveEnable;
			}
			set
			{
				if ((this._EffectiveEnable != value))
				{
					this.OnEffectiveEnableChanging(value);
					this.SendPropertyChanging();
					this._EffectiveEnable = value;
					this.SendPropertyChanged("EffectiveEnable");
					this.OnEffectiveEnableChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EffectiveDays", DbType="Decimal(18,6) NOT NULL")]
		public decimal EffectiveDays
		{
			get
			{
				return this._EffectiveDays;
			}
			set
			{
				if ((this._EffectiveDays != value))
				{
					this.OnEffectiveDaysChanging(value);
					this.SendPropertyChanging();
					this._EffectiveDays = value;
					this.SendPropertyChanged("EffectiveDays");
					this.OnEffectiveDaysChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BatchEnable", DbType="Bit NOT NULL")]
		public bool BatchEnable
		{
			get
			{
				return this._BatchEnable;
			}
			set
			{
				if ((this._BatchEnable != value))
				{
					this.OnBatchEnableChanging(value);
					this.SendPropertyChanging();
					this._BatchEnable = value;
					this.SendPropertyChanged("BatchEnable");
					this.OnBatchEnableChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LotEnable", DbType="Bit NOT NULL")]
		public bool LotEnable
		{
			get
			{
				return this._LotEnable;
			}
			set
			{
				if ((this._LotEnable != value))
				{
					this.OnLotEnableChanging(value);
					this.SendPropertyChanging();
					this._LotEnable = value;
					this.SendPropertyChanged("LotEnable");
					this.OnLotEnableChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PrintEnable", DbType="Bit NOT NULL")]
		public bool PrintEnable
		{
			get
			{
				return this._PrintEnable;
			}
			set
			{
				if ((this._PrintEnable != value))
				{
					this.OnPrintEnableChanging(value);
					this.SendPropertyChanging();
					this._PrintEnable = value;
					this.SendPropertyChanged("PrintEnable");
					this.OnPrintEnableChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHUser", DbType="NVarChar(50)")]
		public string WHUser
		{
			get
			{
				return this._WHUser;
			}
			set
			{
				if ((this._WHUser != value))
				{
					this.OnWHUserChanging(value);
					this.SendPropertyChanging();
					this._WHUser = value;
					this.SendPropertyChanged("WHUser");
					this.OnWHUserChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DrawingNo", DbType="NVarChar(50)")]
		public string DrawingNo
		{
			get
			{
				return this._DrawingNo;
			}
			set
			{
				if ((this._DrawingNo != value))
				{
					this.OnDrawingNoChanging(value);
					this.SendPropertyChanging();
					this._DrawingNo = value;
					this.SendPropertyChanged("DrawingNo");
					this.OnDrawingNoChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Version", DbType="NVarChar(50)")]
		public string Version
		{
			get
			{
				return this._Version;
			}
			set
			{
				if ((this._Version != value))
				{
					this.OnVersionChanging(value);
					this.SendPropertyChanging();
					this._Version = value;
					this.SendPropertyChanged("Version");
					this.OnVersionChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSExtension")]
	public partial class ICSExtension : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _Colspan;
		
		private string _ProjectCode;
		
		private string _BatchCode;
		
		private string _Version;
		
		private string _Brand;
		
		private string _cFree1;
		
		private string _cFree2;
		
		private string _cFree3;
		
		private string _cFree4;
		
		private string _cFree5;
		
		private string _cFree6;
		
		private string _cFree7;
		
		private string _cFree8;
		
		private string _cFree9;
		
		private string _cFree10;
		
		private System.DateTime _MTIME;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
		private string _EATTRIBUTE2;
		
		private string _EATTRIBUTE3;
		
		private string _EATTRIBUTE4;
		
		private string _EATTRIBUTE5;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnColspanChanging(string value);
    partial void OnColspanChanged();
    partial void OnProjectCodeChanging(string value);
    partial void OnProjectCodeChanged();
    partial void OnBatchCodeChanging(string value);
    partial void OnBatchCodeChanged();
    partial void OnVersionChanging(string value);
    partial void OnVersionChanged();
    partial void OnBrandChanging(string value);
    partial void OnBrandChanged();
    partial void OncFree1Changing(string value);
    partial void OncFree1Changed();
    partial void OncFree2Changing(string value);
    partial void OncFree2Changed();
    partial void OncFree3Changing(string value);
    partial void OncFree3Changed();
    partial void OncFree4Changing(string value);
    partial void OncFree4Changed();
    partial void OncFree5Changing(string value);
    partial void OncFree5Changed();
    partial void OncFree6Changing(string value);
    partial void OncFree6Changed();
    partial void OncFree7Changing(string value);
    partial void OncFree7Changed();
    partial void OncFree8Changing(string value);
    partial void OncFree8Changed();
    partial void OncFree9Changing(string value);
    partial void OncFree9Changed();
    partial void OncFree10Changing(string value);
    partial void OncFree10Changed();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnEATTRIBUTE2Changing(string value);
    partial void OnEATTRIBUTE2Changed();
    partial void OnEATTRIBUTE3Changing(string value);
    partial void OnEATTRIBUTE3Changed();
    partial void OnEATTRIBUTE4Changing(string value);
    partial void OnEATTRIBUTE4Changed();
    partial void OnEATTRIBUTE5Changing(string value);
    partial void OnEATTRIBUTE5Changed();
    #endregion
		
		public ICSExtension()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Colspan", DbType="NVarChar(500) NOT NULL", CanBeNull=false)]
		public string Colspan
		{
			get
			{
				return this._Colspan;
			}
			set
			{
				if ((this._Colspan != value))
				{
					this.OnColspanChanging(value);
					this.SendPropertyChanging();
					this._Colspan = value;
					this.SendPropertyChanged("Colspan");
					this.OnColspanChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectCode", DbType="NVarChar(100)")]
		public string ProjectCode
		{
			get
			{
				return this._ProjectCode;
			}
			set
			{
				if ((this._ProjectCode != value))
				{
					this.OnProjectCodeChanging(value);
					this.SendPropertyChanging();
					this._ProjectCode = value;
					this.SendPropertyChanged("ProjectCode");
					this.OnProjectCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BatchCode", DbType="NVarChar(100)")]
		public string BatchCode
		{
			get
			{
				return this._BatchCode;
			}
			set
			{
				if ((this._BatchCode != value))
				{
					this.OnBatchCodeChanging(value);
					this.SendPropertyChanging();
					this._BatchCode = value;
					this.SendPropertyChanged("BatchCode");
					this.OnBatchCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Version", DbType="NVarChar(100)")]
		public string Version
		{
			get
			{
				return this._Version;
			}
			set
			{
				if ((this._Version != value))
				{
					this.OnVersionChanging(value);
					this.SendPropertyChanging();
					this._Version = value;
					this.SendPropertyChanged("Version");
					this.OnVersionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Brand", DbType="NVarChar(100)")]
		public string Brand
		{
			get
			{
				return this._Brand;
			}
			set
			{
				if ((this._Brand != value))
				{
					this.OnBrandChanging(value);
					this.SendPropertyChanging();
					this._Brand = value;
					this.SendPropertyChanged("Brand");
					this.OnBrandChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_cFree1", DbType="NVarChar(100)")]
		public string cFree1
		{
			get
			{
				return this._cFree1;
			}
			set
			{
				if ((this._cFree1 != value))
				{
					this.OncFree1Changing(value);
					this.SendPropertyChanging();
					this._cFree1 = value;
					this.SendPropertyChanged("cFree1");
					this.OncFree1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_cFree2", DbType="NVarChar(100)")]
		public string cFree2
		{
			get
			{
				return this._cFree2;
			}
			set
			{
				if ((this._cFree2 != value))
				{
					this.OncFree2Changing(value);
					this.SendPropertyChanging();
					this._cFree2 = value;
					this.SendPropertyChanged("cFree2");
					this.OncFree2Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_cFree3", DbType="NVarChar(100)")]
		public string cFree3
		{
			get
			{
				return this._cFree3;
			}
			set
			{
				if ((this._cFree3 != value))
				{
					this.OncFree3Changing(value);
					this.SendPropertyChanging();
					this._cFree3 = value;
					this.SendPropertyChanged("cFree3");
					this.OncFree3Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_cFree4", DbType="NVarChar(100)")]
		public string cFree4
		{
			get
			{
				return this._cFree4;
			}
			set
			{
				if ((this._cFree4 != value))
				{
					this.OncFree4Changing(value);
					this.SendPropertyChanging();
					this._cFree4 = value;
					this.SendPropertyChanged("cFree4");
					this.OncFree4Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_cFree5", DbType="NVarChar(100)")]
		public string cFree5
		{
			get
			{
				return this._cFree5;
			}
			set
			{
				if ((this._cFree5 != value))
				{
					this.OncFree5Changing(value);
					this.SendPropertyChanging();
					this._cFree5 = value;
					this.SendPropertyChanged("cFree5");
					this.OncFree5Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_cFree6", DbType="NVarChar(100)")]
		public string cFree6
		{
			get
			{
				return this._cFree6;
			}
			set
			{
				if ((this._cFree6 != value))
				{
					this.OncFree6Changing(value);
					this.SendPropertyChanging();
					this._cFree6 = value;
					this.SendPropertyChanged("cFree6");
					this.OncFree6Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_cFree7", DbType="NVarChar(100)")]
		public string cFree7
		{
			get
			{
				return this._cFree7;
			}
			set
			{
				if ((this._cFree7 != value))
				{
					this.OncFree7Changing(value);
					this.SendPropertyChanging();
					this._cFree7 = value;
					this.SendPropertyChanged("cFree7");
					this.OncFree7Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_cFree8", DbType="NVarChar(100)")]
		public string cFree8
		{
			get
			{
				return this._cFree8;
			}
			set
			{
				if ((this._cFree8 != value))
				{
					this.OncFree8Changing(value);
					this.SendPropertyChanging();
					this._cFree8 = value;
					this.SendPropertyChanged("cFree8");
					this.OncFree8Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_cFree9", DbType="NVarChar(100)")]
		public string cFree9
		{
			get
			{
				return this._cFree9;
			}
			set
			{
				if ((this._cFree9 != value))
				{
					this.OncFree9Changing(value);
					this.SendPropertyChanging();
					this._cFree9 = value;
					this.SendPropertyChanged("cFree9");
					this.OncFree9Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_cFree10", DbType="NVarChar(100)")]
		public string cFree10
		{
			get
			{
				return this._cFree10;
			}
			set
			{
				if ((this._cFree10 != value))
				{
					this.OncFree10Changing(value);
					this.SendPropertyChanging();
					this._cFree10 = value;
					this.SendPropertyChanged("cFree10");
					this.OncFree10Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="VarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE2", DbType="NVarChar(50)")]
		public string EATTRIBUTE2
		{
			get
			{
				return this._EATTRIBUTE2;
			}
			set
			{
				if ((this._EATTRIBUTE2 != value))
				{
					this.OnEATTRIBUTE2Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE2 = value;
					this.SendPropertyChanged("EATTRIBUTE2");
					this.OnEATTRIBUTE2Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE3", DbType="NVarChar(50)")]
		public string EATTRIBUTE3
		{
			get
			{
				return this._EATTRIBUTE3;
			}
			set
			{
				if ((this._EATTRIBUTE3 != value))
				{
					this.OnEATTRIBUTE3Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE3 = value;
					this.SendPropertyChanged("EATTRIBUTE3");
					this.OnEATTRIBUTE3Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE4", DbType="NVarChar(50)")]
		public string EATTRIBUTE4
		{
			get
			{
				return this._EATTRIBUTE4;
			}
			set
			{
				if ((this._EATTRIBUTE4 != value))
				{
					this.OnEATTRIBUTE4Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE4 = value;
					this.SendPropertyChanged("EATTRIBUTE4");
					this.OnEATTRIBUTE4Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE5", DbType="NVarChar(50)")]
		public string EATTRIBUTE5
		{
			get
			{
				return this._EATTRIBUTE5;
			}
			set
			{
				if ((this._EATTRIBUTE5 != value))
				{
					this.OnEATTRIBUTE5Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE5 = value;
					this.SendPropertyChanged("EATTRIBUTE5");
					this.OnEATTRIBUTE5Changed();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSMOApply")]
	public partial class ICSMOApply : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _ApplyCode;
		
		private string _Sequence;
		
		private string _SourceCode;
		
		private string _SourceSequence;
		
		private string _InvCode;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private System.Nullable<decimal> _IssueQuantity;
		
		private string _WHCode;
		
		private string _Type;
		
		private string _Status;
		
		private string _CreatePerson;
		
		private System.DateTime _CreateDateTime;
		
		private string _ApplyID;
		
		private string _ApplyDetailID;
		
		private string _ExtensionID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE;
		
		private string _OrderNumber;
		
		private System.Nullable<decimal> _Sets;
		
		private string _OrderInvCode;
		
		private string _OrderInvDescribe;
		
		private string _BillType;
		
		private string _Remarks;
		
		private string _Desks;
		
		private string _DispatchNumber;
		
		private string _DispatcherName;
		
		private string _ReceiverNumber;
		
		private string _ReceiverName;
		
		private string _Urgency;
		
		private string _NeedDate;
		
		private string _NeedTime;
		
		private string _RemarksTerm;
		
		private string _TextNumber;
		
		private string _InvDescribe;
		
		private string _Unit;
		
		private string _StockIndicator;
		
		private string _IsSerialNumber;
		
		private string _SAPSequence;
		
		private string _CustomerName;
		
		private string _Pagination;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnApplyCodeChanging(string value);
    partial void OnApplyCodeChanged();
    partial void OnSequenceChanging(string value);
    partial void OnSequenceChanged();
    partial void OnSourceCodeChanging(string value);
    partial void OnSourceCodeChanged();
    partial void OnSourceSequenceChanging(string value);
    partial void OnSourceSequenceChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnIssueQuantityChanging(System.Nullable<decimal> value);
    partial void OnIssueQuantityChanged();
    partial void OnWHCodeChanging(string value);
    partial void OnWHCodeChanged();
    partial void OnTypeChanging(string value);
    partial void OnTypeChanged();
    partial void OnStatusChanging(string value);
    partial void OnStatusChanged();
    partial void OnCreatePersonChanging(string value);
    partial void OnCreatePersonChanged();
    partial void OnCreateDateTimeChanging(System.DateTime value);
    partial void OnCreateDateTimeChanged();
    partial void OnApplyIDChanging(string value);
    partial void OnApplyIDChanged();
    partial void OnApplyDetailIDChanging(string value);
    partial void OnApplyDetailIDChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTEChanging(string value);
    partial void OnEATTRIBUTEChanged();
    partial void OnOrderNumberChanging(string value);
    partial void OnOrderNumberChanged();
    partial void OnSetsChanging(System.Nullable<decimal> value);
    partial void OnSetsChanged();
    partial void OnOrderInvCodeChanging(string value);
    partial void OnOrderInvCodeChanged();
    partial void OnOrderInvDescribeChanging(string value);
    partial void OnOrderInvDescribeChanged();
    partial void OnBillTypeChanging(string value);
    partial void OnBillTypeChanged();
    partial void OnRemarksChanging(string value);
    partial void OnRemarksChanged();
    partial void OnDesksChanging(string value);
    partial void OnDesksChanged();
    partial void OnDispatchNumberChanging(string value);
    partial void OnDispatchNumberChanged();
    partial void OnDispatcherNameChanging(string value);
    partial void OnDispatcherNameChanged();
    partial void OnReceiverNumberChanging(string value);
    partial void OnReceiverNumberChanged();
    partial void OnReceiverNameChanging(string value);
    partial void OnReceiverNameChanged();
    partial void OnUrgencyChanging(string value);
    partial void OnUrgencyChanged();
    partial void OnNeedDateChanging(string value);
    partial void OnNeedDateChanged();
    partial void OnNeedTimeChanging(string value);
    partial void OnNeedTimeChanged();
    partial void OnRemarksTermChanging(string value);
    partial void OnRemarksTermChanged();
    partial void OnTextNumberChanging(string value);
    partial void OnTextNumberChanged();
    partial void OnInvDescribeChanging(string value);
    partial void OnInvDescribeChanged();
    partial void OnUnitChanging(string value);
    partial void OnUnitChanged();
    partial void OnStockIndicatorChanging(string value);
    partial void OnStockIndicatorChanged();
    partial void OnIsSerialNumberChanging(string value);
    partial void OnIsSerialNumberChanged();
    partial void OnSAPSequenceChanging(string value);
    partial void OnSAPSequenceChanged();
    partial void OnCustomerNameChanging(string value);
    partial void OnCustomerNameChanged();
    partial void OnPaginationChanging(string value);
    partial void OnPaginationChanged();
    #endregion
		
		public ICSMOApply()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplyCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ApplyCode
		{
			get
			{
				return this._ApplyCode;
			}
			set
			{
				if ((this._ApplyCode != value))
				{
					this.OnApplyCodeChanging(value);
					this.SendPropertyChanging();
					this._ApplyCode = value;
					this.SendPropertyChanged("ApplyCode");
					this.OnApplyCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Sequence
		{
			get
			{
				return this._Sequence;
			}
			set
			{
				if ((this._Sequence != value))
				{
					this.OnSequenceChanging(value);
					this.SendPropertyChanging();
					this._Sequence = value;
					this.SendPropertyChanged("Sequence");
					this.OnSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SourceCode", DbType="NVarChar(50)")]
		public string SourceCode
		{
			get
			{
				return this._SourceCode;
			}
			set
			{
				if ((this._SourceCode != value))
				{
					this.OnSourceCodeChanging(value);
					this.SendPropertyChanging();
					this._SourceCode = value;
					this.SendPropertyChanged("SourceCode");
					this.OnSourceCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SourceSequence", DbType="NVarChar(50)")]
		public string SourceSequence
		{
			get
			{
				return this._SourceSequence;
			}
			set
			{
				if ((this._SourceSequence != value))
				{
					this.OnSourceSequenceChanging(value);
					this.SendPropertyChanging();
					this._SourceSequence = value;
					this.SendPropertyChanged("SourceSequence");
					this.OnSourceSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IssueQuantity", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> IssueQuantity
		{
			get
			{
				return this._IssueQuantity;
			}
			set
			{
				if ((this._IssueQuantity != value))
				{
					this.OnIssueQuantityChanging(value);
					this.SendPropertyChanging();
					this._IssueQuantity = value;
					this.SendPropertyChanged("IssueQuantity");
					this.OnIssueQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WHCode
		{
			get
			{
				return this._WHCode;
			}
			set
			{
				if ((this._WHCode != value))
				{
					this.OnWHCodeChanging(value);
					this.SendPropertyChanging();
					this._WHCode = value;
					this.SendPropertyChanged("WHCode");
					this.OnWHCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Type
		{
			get
			{
				return this._Type;
			}
			set
			{
				if ((this._Type != value))
				{
					this.OnTypeChanging(value);
					this.SendPropertyChanging();
					this._Type = value;
					this.SendPropertyChanged("Type");
					this.OnTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Status
		{
			get
			{
				return this._Status;
			}
			set
			{
				if ((this._Status != value))
				{
					this.OnStatusChanging(value);
					this.SendPropertyChanging();
					this._Status = value;
					this.SendPropertyChanged("Status");
					this.OnStatusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatePerson", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CreatePerson
		{
			get
			{
				return this._CreatePerson;
			}
			set
			{
				if ((this._CreatePerson != value))
				{
					this.OnCreatePersonChanging(value);
					this.SendPropertyChanging();
					this._CreatePerson = value;
					this.SendPropertyChanged("CreatePerson");
					this.OnCreatePersonChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDateTime", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDateTime
		{
			get
			{
				return this._CreateDateTime;
			}
			set
			{
				if ((this._CreateDateTime != value))
				{
					this.OnCreateDateTimeChanging(value);
					this.SendPropertyChanging();
					this._CreateDateTime = value;
					this.SendPropertyChanged("CreateDateTime");
					this.OnCreateDateTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplyID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ApplyID
		{
			get
			{
				return this._ApplyID;
			}
			set
			{
				if ((this._ApplyID != value))
				{
					this.OnApplyIDChanging(value);
					this.SendPropertyChanging();
					this._ApplyID = value;
					this.SendPropertyChanged("ApplyID");
					this.OnApplyIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplyDetailID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ApplyDetailID
		{
			get
			{
				return this._ApplyDetailID;
			}
			set
			{
				if ((this._ApplyDetailID != value))
				{
					this.OnApplyDetailIDChanging(value);
					this.SendPropertyChanging();
					this._ApplyDetailID = value;
					this.SendPropertyChanged("ApplyDetailID");
					this.OnApplyDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE", DbType="NVarChar(50)")]
		public string EATTRIBUTE
		{
			get
			{
				return this._EATTRIBUTE;
			}
			set
			{
				if ((this._EATTRIBUTE != value))
				{
					this.OnEATTRIBUTEChanging(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE = value;
					this.SendPropertyChanged("EATTRIBUTE");
					this.OnEATTRIBUTEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderNumber", DbType="NVarChar(12)")]
		public string OrderNumber
		{
			get
			{
				return this._OrderNumber;
			}
			set
			{
				if ((this._OrderNumber != value))
				{
					this.OnOrderNumberChanging(value);
					this.SendPropertyChanging();
					this._OrderNumber = value;
					this.SendPropertyChanged("OrderNumber");
					this.OnOrderNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sets", DbType="Decimal(4,0)")]
		public System.Nullable<decimal> Sets
		{
			get
			{
				return this._Sets;
			}
			set
			{
				if ((this._Sets != value))
				{
					this.OnSetsChanging(value);
					this.SendPropertyChanging();
					this._Sets = value;
					this.SendPropertyChanged("Sets");
					this.OnSetsChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderInvCode", DbType="NVarChar(18)")]
		public string OrderInvCode
		{
			get
			{
				return this._OrderInvCode;
			}
			set
			{
				if ((this._OrderInvCode != value))
				{
					this.OnOrderInvCodeChanging(value);
					this.SendPropertyChanging();
					this._OrderInvCode = value;
					this.SendPropertyChanged("OrderInvCode");
					this.OnOrderInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderInvDescribe", DbType="NVarChar(40)")]
		public string OrderInvDescribe
		{
			get
			{
				return this._OrderInvDescribe;
			}
			set
			{
				if ((this._OrderInvDescribe != value))
				{
					this.OnOrderInvDescribeChanging(value);
					this.SendPropertyChanging();
					this._OrderInvDescribe = value;
					this.SendPropertyChanged("OrderInvDescribe");
					this.OnOrderInvDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BillType", DbType="NVarChar(1)")]
		public string BillType
		{
			get
			{
				return this._BillType;
			}
			set
			{
				if ((this._BillType != value))
				{
					this.OnBillTypeChanging(value);
					this.SendPropertyChanging();
					this._BillType = value;
					this.SendPropertyChanged("BillType");
					this.OnBillTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remarks", DbType="NVarChar(40)")]
		public string Remarks
		{
			get
			{
				return this._Remarks;
			}
			set
			{
				if ((this._Remarks != value))
				{
					this.OnRemarksChanging(value);
					this.SendPropertyChanging();
					this._Remarks = value;
					this.SendPropertyChanged("Remarks");
					this.OnRemarksChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Desks", DbType="NVarChar(20)")]
		public string Desks
		{
			get
			{
				return this._Desks;
			}
			set
			{
				if ((this._Desks != value))
				{
					this.OnDesksChanging(value);
					this.SendPropertyChanging();
					this._Desks = value;
					this.SendPropertyChanged("Desks");
					this.OnDesksChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DispatchNumber", DbType="NVarChar(20)")]
		public string DispatchNumber
		{
			get
			{
				return this._DispatchNumber;
			}
			set
			{
				if ((this._DispatchNumber != value))
				{
					this.OnDispatchNumberChanging(value);
					this.SendPropertyChanging();
					this._DispatchNumber = value;
					this.SendPropertyChanged("DispatchNumber");
					this.OnDispatchNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DispatcherName", DbType="NVarChar(20)")]
		public string DispatcherName
		{
			get
			{
				return this._DispatcherName;
			}
			set
			{
				if ((this._DispatcherName != value))
				{
					this.OnDispatcherNameChanging(value);
					this.SendPropertyChanging();
					this._DispatcherName = value;
					this.SendPropertyChanged("DispatcherName");
					this.OnDispatcherNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReceiverNumber", DbType="NVarChar(20)")]
		public string ReceiverNumber
		{
			get
			{
				return this._ReceiverNumber;
			}
			set
			{
				if ((this._ReceiverNumber != value))
				{
					this.OnReceiverNumberChanging(value);
					this.SendPropertyChanging();
					this._ReceiverNumber = value;
					this.SendPropertyChanged("ReceiverNumber");
					this.OnReceiverNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReceiverName", DbType="NVarChar(20)")]
		public string ReceiverName
		{
			get
			{
				return this._ReceiverName;
			}
			set
			{
				if ((this._ReceiverName != value))
				{
					this.OnReceiverNameChanging(value);
					this.SendPropertyChanging();
					this._ReceiverName = value;
					this.SendPropertyChanged("ReceiverName");
					this.OnReceiverNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Urgency", DbType="NVarChar(20)")]
		public string Urgency
		{
			get
			{
				return this._Urgency;
			}
			set
			{
				if ((this._Urgency != value))
				{
					this.OnUrgencyChanging(value);
					this.SendPropertyChanging();
					this._Urgency = value;
					this.SendPropertyChanged("Urgency");
					this.OnUrgencyChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NeedDate", DbType="NVarChar(20)")]
		public string NeedDate
		{
			get
			{
				return this._NeedDate;
			}
			set
			{
				if ((this._NeedDate != value))
				{
					this.OnNeedDateChanging(value);
					this.SendPropertyChanging();
					this._NeedDate = value;
					this.SendPropertyChanged("NeedDate");
					this.OnNeedDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NeedTime", DbType="NVarChar(20)")]
		public string NeedTime
		{
			get
			{
				return this._NeedTime;
			}
			set
			{
				if ((this._NeedTime != value))
				{
					this.OnNeedTimeChanging(value);
					this.SendPropertyChanging();
					this._NeedTime = value;
					this.SendPropertyChanged("NeedTime");
					this.OnNeedTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarksTerm", DbType="NVarChar(120)")]
		public string RemarksTerm
		{
			get
			{
				return this._RemarksTerm;
			}
			set
			{
				if ((this._RemarksTerm != value))
				{
					this.OnRemarksTermChanging(value);
					this.SendPropertyChanging();
					this._RemarksTerm = value;
					this.SendPropertyChanged("RemarksTerm");
					this.OnRemarksTermChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TextNumber", DbType="NVarChar(7)")]
		public string TextNumber
		{
			get
			{
				return this._TextNumber;
			}
			set
			{
				if ((this._TextNumber != value))
				{
					this.OnTextNumberChanging(value);
					this.SendPropertyChanging();
					this._TextNumber = value;
					this.SendPropertyChanged("TextNumber");
					this.OnTextNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvDescribe", DbType="NVarChar(40)")]
		public string InvDescribe
		{
			get
			{
				return this._InvDescribe;
			}
			set
			{
				if ((this._InvDescribe != value))
				{
					this.OnInvDescribeChanging(value);
					this.SendPropertyChanging();
					this._InvDescribe = value;
					this.SendPropertyChanged("InvDescribe");
					this.OnInvDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(50)")]
		public string Unit
		{
			get
			{
				return this._Unit;
			}
			set
			{
				if ((this._Unit != value))
				{
					this.OnUnitChanging(value);
					this.SendPropertyChanging();
					this._Unit = value;
					this.SendPropertyChanged("Unit");
					this.OnUnitChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StockIndicator", DbType="NVarChar(1)")]
		public string StockIndicator
		{
			get
			{
				return this._StockIndicator;
			}
			set
			{
				if ((this._StockIndicator != value))
				{
					this.OnStockIndicatorChanging(value);
					this.SendPropertyChanging();
					this._StockIndicator = value;
					this.SendPropertyChanged("StockIndicator");
					this.OnStockIndicatorChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSerialNumber", DbType="NVarChar(4)")]
		public string IsSerialNumber
		{
			get
			{
				return this._IsSerialNumber;
			}
			set
			{
				if ((this._IsSerialNumber != value))
				{
					this.OnIsSerialNumberChanging(value);
					this.SendPropertyChanging();
					this._IsSerialNumber = value;
					this.SendPropertyChanged("IsSerialNumber");
					this.OnIsSerialNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SAPSequence", DbType="VarChar(50)")]
		public string SAPSequence
		{
			get
			{
				return this._SAPSequence;
			}
			set
			{
				if ((this._SAPSequence != value))
				{
					this.OnSAPSequenceChanging(value);
					this.SendPropertyChanging();
					this._SAPSequence = value;
					this.SendPropertyChanged("SAPSequence");
					this.OnSAPSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CustomerName", DbType="NVarChar(50)")]
		public string CustomerName
		{
			get
			{
				return this._CustomerName;
			}
			set
			{
				if ((this._CustomerName != value))
				{
					this.OnCustomerNameChanging(value);
					this.SendPropertyChanging();
					this._CustomerName = value;
					this.SendPropertyChanged("CustomerName");
					this.OnCustomerNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Pagination", DbType="NVarChar(50)")]
		public string Pagination
		{
			get
			{
				return this._Pagination;
			}
			set
			{
				if ((this._Pagination != value))
				{
					this.OnPaginationChanging(value);
					this.SendPropertyChanging();
					this._Pagination = value;
					this.SendPropertyChanged("Pagination");
					this.OnPaginationChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSMOApplyNeg")]
	public partial class ICSMOApplyNeg : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _ApplyNegCode;
		
		private string _Status;
		
		private string _Type;
		
		private string _Memo;
		
		private string _CreatePerson;
		
		private System.DateTime _CreateDateTime;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnApplyNegCodeChanging(string value);
    partial void OnApplyNegCodeChanged();
    partial void OnStatusChanging(string value);
    partial void OnStatusChanged();
    partial void OnTypeChanging(string value);
    partial void OnTypeChanged();
    partial void OnMemoChanging(string value);
    partial void OnMemoChanged();
    partial void OnCreatePersonChanging(string value);
    partial void OnCreatePersonChanged();
    partial void OnCreateDateTimeChanging(System.DateTime value);
    partial void OnCreateDateTimeChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    #endregion
		
		public ICSMOApplyNeg()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplyNegCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ApplyNegCode
		{
			get
			{
				return this._ApplyNegCode;
			}
			set
			{
				if ((this._ApplyNegCode != value))
				{
					this.OnApplyNegCodeChanging(value);
					this.SendPropertyChanging();
					this._ApplyNegCode = value;
					this.SendPropertyChanged("ApplyNegCode");
					this.OnApplyNegCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Status
		{
			get
			{
				return this._Status;
			}
			set
			{
				if ((this._Status != value))
				{
					this.OnStatusChanging(value);
					this.SendPropertyChanging();
					this._Status = value;
					this.SendPropertyChanged("Status");
					this.OnStatusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Type
		{
			get
			{
				return this._Type;
			}
			set
			{
				if ((this._Type != value))
				{
					this.OnTypeChanging(value);
					this.SendPropertyChanging();
					this._Type = value;
					this.SendPropertyChanged("Type");
					this.OnTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Memo", DbType="NVarChar(1000)")]
		public string Memo
		{
			get
			{
				return this._Memo;
			}
			set
			{
				if ((this._Memo != value))
				{
					this.OnMemoChanging(value);
					this.SendPropertyChanging();
					this._Memo = value;
					this.SendPropertyChanged("Memo");
					this.OnMemoChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatePerson", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CreatePerson
		{
			get
			{
				return this._CreatePerson;
			}
			set
			{
				if ((this._CreatePerson != value))
				{
					this.OnCreatePersonChanging(value);
					this.SendPropertyChanging();
					this._CreatePerson = value;
					this.SendPropertyChanged("CreatePerson");
					this.OnCreatePersonChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDateTime", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDateTime
		{
			get
			{
				return this._CreateDateTime;
			}
			set
			{
				if ((this._CreateDateTime != value))
				{
					this.OnCreateDateTimeChanging(value);
					this.SendPropertyChanging();
					this._CreateDateTime = value;
					this.SendPropertyChanged("CreateDateTime");
					this.OnCreateDateTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSMOApplyNegDetail")]
	public partial class ICSMOApplyNegDetail : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _ApplyNegCode;
		
		private string _Sequence;
		
		private string _SourceDetailID;
		
		private string _InvCode;
		
		private string _WHCode;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private System.Nullable<decimal> _IssueNegQuantity;
		
		private string _ExtensionID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE;
		
		private string _SAPSequence;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnApplyNegCodeChanging(string value);
    partial void OnApplyNegCodeChanged();
    partial void OnSequenceChanging(string value);
    partial void OnSequenceChanged();
    partial void OnSourceDetailIDChanging(string value);
    partial void OnSourceDetailIDChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnWHCodeChanging(string value);
    partial void OnWHCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnIssueNegQuantityChanging(System.Nullable<decimal> value);
    partial void OnIssueNegQuantityChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTEChanging(string value);
    partial void OnEATTRIBUTEChanged();
    partial void OnSAPSequenceChanging(string value);
    partial void OnSAPSequenceChanged();
    #endregion
		
		public ICSMOApplyNegDetail()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplyNegCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ApplyNegCode
		{
			get
			{
				return this._ApplyNegCode;
			}
			set
			{
				if ((this._ApplyNegCode != value))
				{
					this.OnApplyNegCodeChanging(value);
					this.SendPropertyChanging();
					this._ApplyNegCode = value;
					this.SendPropertyChanged("ApplyNegCode");
					this.OnApplyNegCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Sequence
		{
			get
			{
				return this._Sequence;
			}
			set
			{
				if ((this._Sequence != value))
				{
					this.OnSequenceChanging(value);
					this.SendPropertyChanging();
					this._Sequence = value;
					this.SendPropertyChanged("Sequence");
					this.OnSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SourceDetailID", DbType="NVarChar(50)")]
		public string SourceDetailID
		{
			get
			{
				return this._SourceDetailID;
			}
			set
			{
				if ((this._SourceDetailID != value))
				{
					this.OnSourceDetailIDChanging(value);
					this.SendPropertyChanging();
					this._SourceDetailID = value;
					this.SendPropertyChanged("SourceDetailID");
					this.OnSourceDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHCode", DbType="NVarChar(50)")]
		public string WHCode
		{
			get
			{
				return this._WHCode;
			}
			set
			{
				if ((this._WHCode != value))
				{
					this.OnWHCodeChanging(value);
					this.SendPropertyChanging();
					this._WHCode = value;
					this.SendPropertyChanged("WHCode");
					this.OnWHCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IssueNegQuantity", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> IssueNegQuantity
		{
			get
			{
				return this._IssueNegQuantity;
			}
			set
			{
				if ((this._IssueNegQuantity != value))
				{
					this.OnIssueNegQuantityChanging(value);
					this.SendPropertyChanging();
					this._IssueNegQuantity = value;
					this.SendPropertyChanged("IssueNegQuantity");
					this.OnIssueNegQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE", DbType="NVarChar(50)")]
		public string EATTRIBUTE
		{
			get
			{
				return this._EATTRIBUTE;
			}
			set
			{
				if ((this._EATTRIBUTE != value))
				{
					this.OnEATTRIBUTEChanging(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE = value;
					this.SendPropertyChanged("EATTRIBUTE");
					this.OnEATTRIBUTEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SAPSequence", DbType="VarChar(50)")]
		public string SAPSequence
		{
			get
			{
				return this._SAPSequence;
			}
			set
			{
				if ((this._SAPSequence != value))
				{
					this.OnSAPSequenceChanging(value);
					this.SendPropertyChanging();
					this._SAPSequence = value;
					this.SendPropertyChanged("SAPSequence");
					this.OnSAPSequenceChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSTransfer")]
	public partial class ICSTransfer : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _TransferNO;
		
		private string _Sequence;
		
		private string _FromWarehouseCode;
		
		private string _FromLocationCode;
		
		private string _ToWarehouseCode;
		
		private string _ToLocationCode;
		
		private string _Status;
		
		private string _InvCode;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private System.Nullable<decimal> _TransferQuantity;
		
		private string _Type;
		
		private string _Memo;
		
		private string _CreatePerson;
		
		private System.DateTime _CreateDateTime;
		
		private string _TransferID;
		
		private string _TransferDetailID;
		
		private string _ExtensionID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
		private string _OrderType;
		
		private string _TypeDescribe;
		
		private string _Remarks;
		
		private string _PersonNumber;
		
		private string _InvDescribe;
		
		private string _Unit;
		
		private string _StockIndicator;
		
		private string _ReceiveInvCode;
		
		private string _ReceiveInvDescribe;
		
		private string _ReceiveStock;
		
		private string _ReceiveSales;
		
		private string _ReceiveSequence;
		
		private string _Remark2;
		
		private string _IsSerialNumber;
		
		private string _SAPSequence;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnTransferNOChanging(string value);
    partial void OnTransferNOChanged();
    partial void OnSequenceChanging(string value);
    partial void OnSequenceChanged();
    partial void OnFromWarehouseCodeChanging(string value);
    partial void OnFromWarehouseCodeChanged();
    partial void OnFromLocationCodeChanging(string value);
    partial void OnFromLocationCodeChanged();
    partial void OnToWarehouseCodeChanging(string value);
    partial void OnToWarehouseCodeChanged();
    partial void OnToLocationCodeChanging(string value);
    partial void OnToLocationCodeChanged();
    partial void OnStatusChanging(string value);
    partial void OnStatusChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnTransferQuantityChanging(System.Nullable<decimal> value);
    partial void OnTransferQuantityChanged();
    partial void OnTypeChanging(string value);
    partial void OnTypeChanged();
    partial void OnMemoChanging(string value);
    partial void OnMemoChanged();
    partial void OnCreatePersonChanging(string value);
    partial void OnCreatePersonChanged();
    partial void OnCreateDateTimeChanging(System.DateTime value);
    partial void OnCreateDateTimeChanged();
    partial void OnTransferIDChanging(string value);
    partial void OnTransferIDChanged();
    partial void OnTransferDetailIDChanging(string value);
    partial void OnTransferDetailIDChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnOrderTypeChanging(string value);
    partial void OnOrderTypeChanged();
    partial void OnTypeDescribeChanging(string value);
    partial void OnTypeDescribeChanged();
    partial void OnRemarksChanging(string value);
    partial void OnRemarksChanged();
    partial void OnPersonNumberChanging(string value);
    partial void OnPersonNumberChanged();
    partial void OnInvDescribeChanging(string value);
    partial void OnInvDescribeChanged();
    partial void OnUnitChanging(string value);
    partial void OnUnitChanged();
    partial void OnStockIndicatorChanging(string value);
    partial void OnStockIndicatorChanged();
    partial void OnReceiveInvCodeChanging(string value);
    partial void OnReceiveInvCodeChanged();
    partial void OnReceiveInvDescribeChanging(string value);
    partial void OnReceiveInvDescribeChanged();
    partial void OnReceiveStockChanging(string value);
    partial void OnReceiveStockChanged();
    partial void OnReceiveSalesChanging(string value);
    partial void OnReceiveSalesChanged();
    partial void OnReceiveSequenceChanging(string value);
    partial void OnReceiveSequenceChanged();
    partial void OnRemark2Changing(string value);
    partial void OnRemark2Changed();
    partial void OnIsSerialNumberChanging(string value);
    partial void OnIsSerialNumberChanged();
    partial void OnSAPSequenceChanging(string value);
    partial void OnSAPSequenceChanged();
    #endregion
		
		public ICSTransfer()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransferNO", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string TransferNO
		{
			get
			{
				return this._TransferNO;
			}
			set
			{
				if ((this._TransferNO != value))
				{
					this.OnTransferNOChanging(value);
					this.SendPropertyChanging();
					this._TransferNO = value;
					this.SendPropertyChanged("TransferNO");
					this.OnTransferNOChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Sequence
		{
			get
			{
				return this._Sequence;
			}
			set
			{
				if ((this._Sequence != value))
				{
					this.OnSequenceChanging(value);
					this.SendPropertyChanging();
					this._Sequence = value;
					this.SendPropertyChanged("Sequence");
					this.OnSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FromWarehouseCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string FromWarehouseCode
		{
			get
			{
				return this._FromWarehouseCode;
			}
			set
			{
				if ((this._FromWarehouseCode != value))
				{
					this.OnFromWarehouseCodeChanging(value);
					this.SendPropertyChanging();
					this._FromWarehouseCode = value;
					this.SendPropertyChanged("FromWarehouseCode");
					this.OnFromWarehouseCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FromLocationCode", DbType="NVarChar(50)")]
		public string FromLocationCode
		{
			get
			{
				return this._FromLocationCode;
			}
			set
			{
				if ((this._FromLocationCode != value))
				{
					this.OnFromLocationCodeChanging(value);
					this.SendPropertyChanging();
					this._FromLocationCode = value;
					this.SendPropertyChanged("FromLocationCode");
					this.OnFromLocationCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ToWarehouseCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ToWarehouseCode
		{
			get
			{
				return this._ToWarehouseCode;
			}
			set
			{
				if ((this._ToWarehouseCode != value))
				{
					this.OnToWarehouseCodeChanging(value);
					this.SendPropertyChanging();
					this._ToWarehouseCode = value;
					this.SendPropertyChanged("ToWarehouseCode");
					this.OnToWarehouseCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ToLocationCode", DbType="NVarChar(50)")]
		public string ToLocationCode
		{
			get
			{
				return this._ToLocationCode;
			}
			set
			{
				if ((this._ToLocationCode != value))
				{
					this.OnToLocationCodeChanging(value);
					this.SendPropertyChanging();
					this._ToLocationCode = value;
					this.SendPropertyChanged("ToLocationCode");
					this.OnToLocationCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Status
		{
			get
			{
				return this._Status;
			}
			set
			{
				if ((this._Status != value))
				{
					this.OnStatusChanging(value);
					this.SendPropertyChanging();
					this._Status = value;
					this.SendPropertyChanged("Status");
					this.OnStatusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransferQuantity", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> TransferQuantity
		{
			get
			{
				return this._TransferQuantity;
			}
			set
			{
				if ((this._TransferQuantity != value))
				{
					this.OnTransferQuantityChanging(value);
					this.SendPropertyChanging();
					this._TransferQuantity = value;
					this.SendPropertyChanged("TransferQuantity");
					this.OnTransferQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="NVarChar(50)")]
		public string Type
		{
			get
			{
				return this._Type;
			}
			set
			{
				if ((this._Type != value))
				{
					this.OnTypeChanging(value);
					this.SendPropertyChanging();
					this._Type = value;
					this.SendPropertyChanged("Type");
					this.OnTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Memo", DbType="NVarChar(1000)")]
		public string Memo
		{
			get
			{
				return this._Memo;
			}
			set
			{
				if ((this._Memo != value))
				{
					this.OnMemoChanging(value);
					this.SendPropertyChanging();
					this._Memo = value;
					this.SendPropertyChanged("Memo");
					this.OnMemoChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatePerson", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CreatePerson
		{
			get
			{
				return this._CreatePerson;
			}
			set
			{
				if ((this._CreatePerson != value))
				{
					this.OnCreatePersonChanging(value);
					this.SendPropertyChanging();
					this._CreatePerson = value;
					this.SendPropertyChanged("CreatePerson");
					this.OnCreatePersonChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDateTime", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDateTime
		{
			get
			{
				return this._CreateDateTime;
			}
			set
			{
				if ((this._CreateDateTime != value))
				{
					this.OnCreateDateTimeChanging(value);
					this.SendPropertyChanging();
					this._CreateDateTime = value;
					this.SendPropertyChanged("CreateDateTime");
					this.OnCreateDateTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransferID", DbType="NVarChar(50)")]
		public string TransferID
		{
			get
			{
				return this._TransferID;
			}
			set
			{
				if ((this._TransferID != value))
				{
					this.OnTransferIDChanging(value);
					this.SendPropertyChanging();
					this._TransferID = value;
					this.SendPropertyChanged("TransferID");
					this.OnTransferIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransferDetailID", DbType="NVarChar(50)")]
		public string TransferDetailID
		{
			get
			{
				return this._TransferDetailID;
			}
			set
			{
				if ((this._TransferDetailID != value))
				{
					this.OnTransferDetailIDChanging(value);
					this.SendPropertyChanging();
					this._TransferDetailID = value;
					this.SendPropertyChanged("TransferDetailID");
					this.OnTransferDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderType", DbType="NVarChar(2)")]
		public string OrderType
		{
			get
			{
				return this._OrderType;
			}
			set
			{
				if ((this._OrderType != value))
				{
					this.OnOrderTypeChanging(value);
					this.SendPropertyChanging();
					this._OrderType = value;
					this.SendPropertyChanged("OrderType");
					this.OnOrderTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TypeDescribe", DbType="NVarChar(20)")]
		public string TypeDescribe
		{
			get
			{
				return this._TypeDescribe;
			}
			set
			{
				if ((this._TypeDescribe != value))
				{
					this.OnTypeDescribeChanging(value);
					this.SendPropertyChanging();
					this._TypeDescribe = value;
					this.SendPropertyChanged("TypeDescribe");
					this.OnTypeDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remarks", DbType="NVarChar(40)")]
		public string Remarks
		{
			get
			{
				return this._Remarks;
			}
			set
			{
				if ((this._Remarks != value))
				{
					this.OnRemarksChanging(value);
					this.SendPropertyChanging();
					this._Remarks = value;
					this.SendPropertyChanged("Remarks");
					this.OnRemarksChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonNumber", DbType="NVarChar(10)")]
		public string PersonNumber
		{
			get
			{
				return this._PersonNumber;
			}
			set
			{
				if ((this._PersonNumber != value))
				{
					this.OnPersonNumberChanging(value);
					this.SendPropertyChanging();
					this._PersonNumber = value;
					this.SendPropertyChanged("PersonNumber");
					this.OnPersonNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvDescribe", DbType="NVarChar(40)")]
		public string InvDescribe
		{
			get
			{
				return this._InvDescribe;
			}
			set
			{
				if ((this._InvDescribe != value))
				{
					this.OnInvDescribeChanging(value);
					this.SendPropertyChanging();
					this._InvDescribe = value;
					this.SendPropertyChanged("InvDescribe");
					this.OnInvDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(10)")]
		public string Unit
		{
			get
			{
				return this._Unit;
			}
			set
			{
				if ((this._Unit != value))
				{
					this.OnUnitChanging(value);
					this.SendPropertyChanging();
					this._Unit = value;
					this.SendPropertyChanged("Unit");
					this.OnUnitChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StockIndicator", DbType="NVarChar(1)")]
		public string StockIndicator
		{
			get
			{
				return this._StockIndicator;
			}
			set
			{
				if ((this._StockIndicator != value))
				{
					this.OnStockIndicatorChanging(value);
					this.SendPropertyChanging();
					this._StockIndicator = value;
					this.SendPropertyChanged("StockIndicator");
					this.OnStockIndicatorChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReceiveInvCode", DbType="NVarChar(18)")]
		public string ReceiveInvCode
		{
			get
			{
				return this._ReceiveInvCode;
			}
			set
			{
				if ((this._ReceiveInvCode != value))
				{
					this.OnReceiveInvCodeChanging(value);
					this.SendPropertyChanging();
					this._ReceiveInvCode = value;
					this.SendPropertyChanged("ReceiveInvCode");
					this.OnReceiveInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReceiveInvDescribe", DbType="NVarChar(40)")]
		public string ReceiveInvDescribe
		{
			get
			{
				return this._ReceiveInvDescribe;
			}
			set
			{
				if ((this._ReceiveInvDescribe != value))
				{
					this.OnReceiveInvDescribeChanging(value);
					this.SendPropertyChanging();
					this._ReceiveInvDescribe = value;
					this.SendPropertyChanged("ReceiveInvDescribe");
					this.OnReceiveInvDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReceiveStock", DbType="NVarChar(1)")]
		public string ReceiveStock
		{
			get
			{
				return this._ReceiveStock;
			}
			set
			{
				if ((this._ReceiveStock != value))
				{
					this.OnReceiveStockChanging(value);
					this.SendPropertyChanging();
					this._ReceiveStock = value;
					this.SendPropertyChanged("ReceiveStock");
					this.OnReceiveStockChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReceiveSales", DbType="NVarChar(10)")]
		public string ReceiveSales
		{
			get
			{
				return this._ReceiveSales;
			}
			set
			{
				if ((this._ReceiveSales != value))
				{
					this.OnReceiveSalesChanging(value);
					this.SendPropertyChanging();
					this._ReceiveSales = value;
					this.SendPropertyChanged("ReceiveSales");
					this.OnReceiveSalesChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReceiveSequence", DbType="NVarChar(10)")]
		public string ReceiveSequence
		{
			get
			{
				return this._ReceiveSequence;
			}
			set
			{
				if ((this._ReceiveSequence != value))
				{
					this.OnReceiveSequenceChanging(value);
					this.SendPropertyChanging();
					this._ReceiveSequence = value;
					this.SendPropertyChanged("ReceiveSequence");
					this.OnReceiveSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark2", DbType="NVarChar(40)")]
		public string Remark2
		{
			get
			{
				return this._Remark2;
			}
			set
			{
				if ((this._Remark2 != value))
				{
					this.OnRemark2Changing(value);
					this.SendPropertyChanging();
					this._Remark2 = value;
					this.SendPropertyChanged("Remark2");
					this.OnRemark2Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSerialNumber", DbType="NVarChar(4)")]
		public string IsSerialNumber
		{
			get
			{
				return this._IsSerialNumber;
			}
			set
			{
				if ((this._IsSerialNumber != value))
				{
					this.OnIsSerialNumberChanging(value);
					this.SendPropertyChanging();
					this._IsSerialNumber = value;
					this.SendPropertyChanged("IsSerialNumber");
					this.OnIsSerialNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SAPSequence", DbType="VarChar(50)")]
		public string SAPSequence
		{
			get
			{
				return this._SAPSequence;
			}
			set
			{
				if ((this._SAPSequence != value))
				{
					this.OnSAPSequenceChanging(value);
					this.SendPropertyChanging();
					this._SAPSequence = value;
					this.SendPropertyChanged("SAPSequence");
					this.OnSAPSequenceChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSManufactureReceive")]
	public partial class ICSManufactureReceive : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _RCVCode;
		
		private string _Sequence;
		
		private string _SourceCode;
		
		private string _SourceSequence;
		
		private string _InvCode;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private System.Nullable<decimal> _RCVQuantity;
		
		private string _WHCode;
		
		private string _Type;
		
		private string _Status;
		
		private string _CreatePerson;
		
		private System.DateTime _CreateDateTime;
		
		private string _RCVID;
		
		private string _RCVDetailID;
		
		private string _ExtensionID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE;
		
		private string _InvDescribe;
		
		private string _OrderNumber;
		
		private string _OrderInvCode;
		
		private string _OrderInvDescribe;
		
		private string _BillType;
		
		private string _Remarks;
		
		private string _Unit;
		
		private string _StockIndicator;
		
		private string _RemarksTerm;
		
		private string _IsSerialNumber;
		
		private string _SAPSequence;
		
		private string _Desks;
		
		private string _DispatcherName;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnRCVCodeChanging(string value);
    partial void OnRCVCodeChanged();
    partial void OnSequenceChanging(string value);
    partial void OnSequenceChanged();
    partial void OnSourceCodeChanging(string value);
    partial void OnSourceCodeChanged();
    partial void OnSourceSequenceChanging(string value);
    partial void OnSourceSequenceChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnRCVQuantityChanging(System.Nullable<decimal> value);
    partial void OnRCVQuantityChanged();
    partial void OnWHCodeChanging(string value);
    partial void OnWHCodeChanged();
    partial void OnTypeChanging(string value);
    partial void OnTypeChanged();
    partial void OnStatusChanging(string value);
    partial void OnStatusChanged();
    partial void OnCreatePersonChanging(string value);
    partial void OnCreatePersonChanged();
    partial void OnCreateDateTimeChanging(System.DateTime value);
    partial void OnCreateDateTimeChanged();
    partial void OnRCVIDChanging(string value);
    partial void OnRCVIDChanged();
    partial void OnRCVDetailIDChanging(string value);
    partial void OnRCVDetailIDChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTEChanging(string value);
    partial void OnEATTRIBUTEChanged();
    partial void OnInvDescribeChanging(string value);
    partial void OnInvDescribeChanged();
    partial void OnOrderNumberChanging(string value);
    partial void OnOrderNumberChanged();
    partial void OnOrderInvCodeChanging(string value);
    partial void OnOrderInvCodeChanged();
    partial void OnOrderInvDescribeChanging(string value);
    partial void OnOrderInvDescribeChanged();
    partial void OnBillTypeChanging(string value);
    partial void OnBillTypeChanged();
    partial void OnRemarksChanging(string value);
    partial void OnRemarksChanged();
    partial void OnUnitChanging(string value);
    partial void OnUnitChanged();
    partial void OnStockIndicatorChanging(string value);
    partial void OnStockIndicatorChanged();
    partial void OnRemarksTermChanging(string value);
    partial void OnRemarksTermChanged();
    partial void OnIsSerialNumberChanging(string value);
    partial void OnIsSerialNumberChanged();
    partial void OnSAPSequenceChanging(string value);
    partial void OnSAPSequenceChanged();
    partial void OnDesksChanging(string value);
    partial void OnDesksChanged();
    partial void OnDispatcherNameChanging(string value);
    partial void OnDispatcherNameChanged();
    #endregion
		
		public ICSManufactureReceive()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RCVCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string RCVCode
		{
			get
			{
				return this._RCVCode;
			}
			set
			{
				if ((this._RCVCode != value))
				{
					this.OnRCVCodeChanging(value);
					this.SendPropertyChanging();
					this._RCVCode = value;
					this.SendPropertyChanged("RCVCode");
					this.OnRCVCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Sequence
		{
			get
			{
				return this._Sequence;
			}
			set
			{
				if ((this._Sequence != value))
				{
					this.OnSequenceChanging(value);
					this.SendPropertyChanging();
					this._Sequence = value;
					this.SendPropertyChanged("Sequence");
					this.OnSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SourceCode", DbType="NVarChar(50)")]
		public string SourceCode
		{
			get
			{
				return this._SourceCode;
			}
			set
			{
				if ((this._SourceCode != value))
				{
					this.OnSourceCodeChanging(value);
					this.SendPropertyChanging();
					this._SourceCode = value;
					this.SendPropertyChanged("SourceCode");
					this.OnSourceCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SourceSequence", DbType="NVarChar(50)")]
		public string SourceSequence
		{
			get
			{
				return this._SourceSequence;
			}
			set
			{
				if ((this._SourceSequence != value))
				{
					this.OnSourceSequenceChanging(value);
					this.SendPropertyChanging();
					this._SourceSequence = value;
					this.SendPropertyChanged("SourceSequence");
					this.OnSourceSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RCVQuantity", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> RCVQuantity
		{
			get
			{
				return this._RCVQuantity;
			}
			set
			{
				if ((this._RCVQuantity != value))
				{
					this.OnRCVQuantityChanging(value);
					this.SendPropertyChanging();
					this._RCVQuantity = value;
					this.SendPropertyChanged("RCVQuantity");
					this.OnRCVQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WHCode
		{
			get
			{
				return this._WHCode;
			}
			set
			{
				if ((this._WHCode != value))
				{
					this.OnWHCodeChanging(value);
					this.SendPropertyChanging();
					this._WHCode = value;
					this.SendPropertyChanged("WHCode");
					this.OnWHCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Type
		{
			get
			{
				return this._Type;
			}
			set
			{
				if ((this._Type != value))
				{
					this.OnTypeChanging(value);
					this.SendPropertyChanging();
					this._Type = value;
					this.SendPropertyChanged("Type");
					this.OnTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Status
		{
			get
			{
				return this._Status;
			}
			set
			{
				if ((this._Status != value))
				{
					this.OnStatusChanging(value);
					this.SendPropertyChanging();
					this._Status = value;
					this.SendPropertyChanged("Status");
					this.OnStatusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatePerson", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CreatePerson
		{
			get
			{
				return this._CreatePerson;
			}
			set
			{
				if ((this._CreatePerson != value))
				{
					this.OnCreatePersonChanging(value);
					this.SendPropertyChanging();
					this._CreatePerson = value;
					this.SendPropertyChanged("CreatePerson");
					this.OnCreatePersonChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDateTime", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDateTime
		{
			get
			{
				return this._CreateDateTime;
			}
			set
			{
				if ((this._CreateDateTime != value))
				{
					this.OnCreateDateTimeChanging(value);
					this.SendPropertyChanging();
					this._CreateDateTime = value;
					this.SendPropertyChanged("CreateDateTime");
					this.OnCreateDateTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RCVID", DbType="NVarChar(50)")]
		public string RCVID
		{
			get
			{
				return this._RCVID;
			}
			set
			{
				if ((this._RCVID != value))
				{
					this.OnRCVIDChanging(value);
					this.SendPropertyChanging();
					this._RCVID = value;
					this.SendPropertyChanged("RCVID");
					this.OnRCVIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RCVDetailID", DbType="NVarChar(50)")]
		public string RCVDetailID
		{
			get
			{
				return this._RCVDetailID;
			}
			set
			{
				if ((this._RCVDetailID != value))
				{
					this.OnRCVDetailIDChanging(value);
					this.SendPropertyChanging();
					this._RCVDetailID = value;
					this.SendPropertyChanged("RCVDetailID");
					this.OnRCVDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE", DbType="NVarChar(50)")]
		public string EATTRIBUTE
		{
			get
			{
				return this._EATTRIBUTE;
			}
			set
			{
				if ((this._EATTRIBUTE != value))
				{
					this.OnEATTRIBUTEChanging(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE = value;
					this.SendPropertyChanged("EATTRIBUTE");
					this.OnEATTRIBUTEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvDescribe", DbType="NVarChar(40)")]
		public string InvDescribe
		{
			get
			{
				return this._InvDescribe;
			}
			set
			{
				if ((this._InvDescribe != value))
				{
					this.OnInvDescribeChanging(value);
					this.SendPropertyChanging();
					this._InvDescribe = value;
					this.SendPropertyChanged("InvDescribe");
					this.OnInvDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderNumber", DbType="NVarChar(12)")]
		public string OrderNumber
		{
			get
			{
				return this._OrderNumber;
			}
			set
			{
				if ((this._OrderNumber != value))
				{
					this.OnOrderNumberChanging(value);
					this.SendPropertyChanging();
					this._OrderNumber = value;
					this.SendPropertyChanged("OrderNumber");
					this.OnOrderNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderInvCode", DbType="NVarChar(18)")]
		public string OrderInvCode
		{
			get
			{
				return this._OrderInvCode;
			}
			set
			{
				if ((this._OrderInvCode != value))
				{
					this.OnOrderInvCodeChanging(value);
					this.SendPropertyChanging();
					this._OrderInvCode = value;
					this.SendPropertyChanged("OrderInvCode");
					this.OnOrderInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderInvDescribe", DbType="NVarChar(40)")]
		public string OrderInvDescribe
		{
			get
			{
				return this._OrderInvDescribe;
			}
			set
			{
				if ((this._OrderInvDescribe != value))
				{
					this.OnOrderInvDescribeChanging(value);
					this.SendPropertyChanging();
					this._OrderInvDescribe = value;
					this.SendPropertyChanged("OrderInvDescribe");
					this.OnOrderInvDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BillType", DbType="NVarChar(1)")]
		public string BillType
		{
			get
			{
				return this._BillType;
			}
			set
			{
				if ((this._BillType != value))
				{
					this.OnBillTypeChanging(value);
					this.SendPropertyChanging();
					this._BillType = value;
					this.SendPropertyChanged("BillType");
					this.OnBillTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remarks", DbType="NVarChar(40)")]
		public string Remarks
		{
			get
			{
				return this._Remarks;
			}
			set
			{
				if ((this._Remarks != value))
				{
					this.OnRemarksChanging(value);
					this.SendPropertyChanging();
					this._Remarks = value;
					this.SendPropertyChanged("Remarks");
					this.OnRemarksChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(10)")]
		public string Unit
		{
			get
			{
				return this._Unit;
			}
			set
			{
				if ((this._Unit != value))
				{
					this.OnUnitChanging(value);
					this.SendPropertyChanging();
					this._Unit = value;
					this.SendPropertyChanged("Unit");
					this.OnUnitChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StockIndicator", DbType="NVarChar(1)")]
		public string StockIndicator
		{
			get
			{
				return this._StockIndicator;
			}
			set
			{
				if ((this._StockIndicator != value))
				{
					this.OnStockIndicatorChanging(value);
					this.SendPropertyChanging();
					this._StockIndicator = value;
					this.SendPropertyChanged("StockIndicator");
					this.OnStockIndicatorChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarksTerm", DbType="NVarChar(120)")]
		public string RemarksTerm
		{
			get
			{
				return this._RemarksTerm;
			}
			set
			{
				if ((this._RemarksTerm != value))
				{
					this.OnRemarksTermChanging(value);
					this.SendPropertyChanging();
					this._RemarksTerm = value;
					this.SendPropertyChanged("RemarksTerm");
					this.OnRemarksTermChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSerialNumber", DbType="NVarChar(4)")]
		public string IsSerialNumber
		{
			get
			{
				return this._IsSerialNumber;
			}
			set
			{
				if ((this._IsSerialNumber != value))
				{
					this.OnIsSerialNumberChanging(value);
					this.SendPropertyChanging();
					this._IsSerialNumber = value;
					this.SendPropertyChanged("IsSerialNumber");
					this.OnIsSerialNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SAPSequence", DbType="VarChar(50)")]
		public string SAPSequence
		{
			get
			{
				return this._SAPSequence;
			}
			set
			{
				if ((this._SAPSequence != value))
				{
					this.OnSAPSequenceChanging(value);
					this.SendPropertyChanging();
					this._SAPSequence = value;
					this.SendPropertyChanged("SAPSequence");
					this.OnSAPSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Desks", DbType="NVarChar(50)")]
		public string Desks
		{
			get
			{
				return this._Desks;
			}
			set
			{
				if ((this._Desks != value))
				{
					this.OnDesksChanging(value);
					this.SendPropertyChanging();
					this._Desks = value;
					this.SendPropertyChanged("Desks");
					this.OnDesksChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DispatcherName", DbType="VarChar(50)")]
		public string DispatcherName
		{
			get
			{
				return this._DispatcherName;
			}
			set
			{
				if ((this._DispatcherName != value))
				{
					this.OnDispatcherNameChanging(value);
					this.SendPropertyChanging();
					this._DispatcherName = value;
					this.SendPropertyChanged("DispatcherName");
					this.OnDispatcherNameChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSSDN")]
	public partial class ICSSDN : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _SDNCode;
		
		private string _Sequence;
		
		private string _SOCode;
		
		private string _SOSequence;
		
		private string _CusCode;
		
		private string _CusName;
		
		private string _Type;
		
		private System.DateTime _ArriveDate;
		
		private string _WHCode;
		
		private string _InvCode;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private System.Nullable<decimal> _SDNQuantity;
		
		private string _CreatePerson;
		
		private System.DateTime _CreateDateTime;
		
		private string _Status;
		
		private string _SDNID;
		
		private string _SDNDetailID;
		
		private string _ExtensionID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
		private string _Points;
		
		private string _DeliveryType;
		
		private string _DeliveryDescribe;
		
		private string _InvDescribe;
		
		private string _OtherDescribe;
		
		private string _SalesUnit;
		
		private string _StockIndicator;
		
		private string _IsSerialNumber;
		
		private string _SAPSequence;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnSDNCodeChanging(string value);
    partial void OnSDNCodeChanged();
    partial void OnSequenceChanging(string value);
    partial void OnSequenceChanged();
    partial void OnSOCodeChanging(string value);
    partial void OnSOCodeChanged();
    partial void OnSOSequenceChanging(string value);
    partial void OnSOSequenceChanged();
    partial void OnCusCodeChanging(string value);
    partial void OnCusCodeChanged();
    partial void OnCusNameChanging(string value);
    partial void OnCusNameChanged();
    partial void OnTypeChanging(string value);
    partial void OnTypeChanged();
    partial void OnArriveDateChanging(System.DateTime value);
    partial void OnArriveDateChanged();
    partial void OnWHCodeChanging(string value);
    partial void OnWHCodeChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnSDNQuantityChanging(System.Nullable<decimal> value);
    partial void OnSDNQuantityChanged();
    partial void OnCreatePersonChanging(string value);
    partial void OnCreatePersonChanged();
    partial void OnCreateDateTimeChanging(System.DateTime value);
    partial void OnCreateDateTimeChanged();
    partial void OnStatusChanging(string value);
    partial void OnStatusChanged();
    partial void OnSDNIDChanging(string value);
    partial void OnSDNIDChanged();
    partial void OnSDNDetailIDChanging(string value);
    partial void OnSDNDetailIDChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnPointsChanging(string value);
    partial void OnPointsChanged();
    partial void OnDeliveryTypeChanging(string value);
    partial void OnDeliveryTypeChanged();
    partial void OnDeliveryDescribeChanging(string value);
    partial void OnDeliveryDescribeChanged();
    partial void OnInvDescribeChanging(string value);
    partial void OnInvDescribeChanged();
    partial void OnOtherDescribeChanging(string value);
    partial void OnOtherDescribeChanged();
    partial void OnSalesUnitChanging(string value);
    partial void OnSalesUnitChanged();
    partial void OnStockIndicatorChanging(string value);
    partial void OnStockIndicatorChanged();
    partial void OnIsSerialNumberChanging(string value);
    partial void OnIsSerialNumberChanged();
    partial void OnSAPSequenceChanging(string value);
    partial void OnSAPSequenceChanged();
    #endregion
		
		public ICSSDN()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SDNCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string SDNCode
		{
			get
			{
				return this._SDNCode;
			}
			set
			{
				if ((this._SDNCode != value))
				{
					this.OnSDNCodeChanging(value);
					this.SendPropertyChanging();
					this._SDNCode = value;
					this.SendPropertyChanged("SDNCode");
					this.OnSDNCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Sequence
		{
			get
			{
				return this._Sequence;
			}
			set
			{
				if ((this._Sequence != value))
				{
					this.OnSequenceChanging(value);
					this.SendPropertyChanging();
					this._Sequence = value;
					this.SendPropertyChanged("Sequence");
					this.OnSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SOCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string SOCode
		{
			get
			{
				return this._SOCode;
			}
			set
			{
				if ((this._SOCode != value))
				{
					this.OnSOCodeChanging(value);
					this.SendPropertyChanging();
					this._SOCode = value;
					this.SendPropertyChanged("SOCode");
					this.OnSOCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SOSequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string SOSequence
		{
			get
			{
				return this._SOSequence;
			}
			set
			{
				if ((this._SOSequence != value))
				{
					this.OnSOSequenceChanging(value);
					this.SendPropertyChanging();
					this._SOSequence = value;
					this.SendPropertyChanged("SOSequence");
					this.OnSOSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CusCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CusCode
		{
			get
			{
				return this._CusCode;
			}
			set
			{
				if ((this._CusCode != value))
				{
					this.OnCusCodeChanging(value);
					this.SendPropertyChanging();
					this._CusCode = value;
					this.SendPropertyChanged("CusCode");
					this.OnCusCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CusName", DbType="NVarChar(500) NOT NULL", CanBeNull=false)]
		public string CusName
		{
			get
			{
				return this._CusName;
			}
			set
			{
				if ((this._CusName != value))
				{
					this.OnCusNameChanging(value);
					this.SendPropertyChanging();
					this._CusName = value;
					this.SendPropertyChanged("CusName");
					this.OnCusNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Type
		{
			get
			{
				return this._Type;
			}
			set
			{
				if ((this._Type != value))
				{
					this.OnTypeChanging(value);
					this.SendPropertyChanging();
					this._Type = value;
					this.SendPropertyChanged("Type");
					this.OnTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ArriveDate", DbType="DateTime NOT NULL")]
		public System.DateTime ArriveDate
		{
			get
			{
				return this._ArriveDate;
			}
			set
			{
				if ((this._ArriveDate != value))
				{
					this.OnArriveDateChanging(value);
					this.SendPropertyChanging();
					this._ArriveDate = value;
					this.SendPropertyChanged("ArriveDate");
					this.OnArriveDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WHCode
		{
			get
			{
				return this._WHCode;
			}
			set
			{
				if ((this._WHCode != value))
				{
					this.OnWHCodeChanging(value);
					this.SendPropertyChanging();
					this._WHCode = value;
					this.SendPropertyChanged("WHCode");
					this.OnWHCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SDNQuantity", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> SDNQuantity
		{
			get
			{
				return this._SDNQuantity;
			}
			set
			{
				if ((this._SDNQuantity != value))
				{
					this.OnSDNQuantityChanging(value);
					this.SendPropertyChanging();
					this._SDNQuantity = value;
					this.SendPropertyChanged("SDNQuantity");
					this.OnSDNQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatePerson", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CreatePerson
		{
			get
			{
				return this._CreatePerson;
			}
			set
			{
				if ((this._CreatePerson != value))
				{
					this.OnCreatePersonChanging(value);
					this.SendPropertyChanging();
					this._CreatePerson = value;
					this.SendPropertyChanged("CreatePerson");
					this.OnCreatePersonChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDateTime", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDateTime
		{
			get
			{
				return this._CreateDateTime;
			}
			set
			{
				if ((this._CreateDateTime != value))
				{
					this.OnCreateDateTimeChanging(value);
					this.SendPropertyChanging();
					this._CreateDateTime = value;
					this.SendPropertyChanged("CreateDateTime");
					this.OnCreateDateTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Status
		{
			get
			{
				return this._Status;
			}
			set
			{
				if ((this._Status != value))
				{
					this.OnStatusChanging(value);
					this.SendPropertyChanging();
					this._Status = value;
					this.SendPropertyChanged("Status");
					this.OnStatusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SDNID", DbType="NVarChar(50)")]
		public string SDNID
		{
			get
			{
				return this._SDNID;
			}
			set
			{
				if ((this._SDNID != value))
				{
					this.OnSDNIDChanging(value);
					this.SendPropertyChanging();
					this._SDNID = value;
					this.SendPropertyChanged("SDNID");
					this.OnSDNIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SDNDetailID", DbType="NVarChar(50)")]
		public string SDNDetailID
		{
			get
			{
				return this._SDNDetailID;
			}
			set
			{
				if ((this._SDNDetailID != value))
				{
					this.OnSDNDetailIDChanging(value);
					this.SendPropertyChanging();
					this._SDNDetailID = value;
					this.SendPropertyChanged("SDNDetailID");
					this.OnSDNDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Points", DbType="NVarChar(4)")]
		public string Points
		{
			get
			{
				return this._Points;
			}
			set
			{
				if ((this._Points != value))
				{
					this.OnPointsChanging(value);
					this.SendPropertyChanging();
					this._Points = value;
					this.SendPropertyChanged("Points");
					this.OnPointsChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DeliveryType", DbType="NVarChar(4)")]
		public string DeliveryType
		{
			get
			{
				return this._DeliveryType;
			}
			set
			{
				if ((this._DeliveryType != value))
				{
					this.OnDeliveryTypeChanging(value);
					this.SendPropertyChanging();
					this._DeliveryType = value;
					this.SendPropertyChanged("DeliveryType");
					this.OnDeliveryTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DeliveryDescribe", DbType="NVarChar(20)")]
		public string DeliveryDescribe
		{
			get
			{
				return this._DeliveryDescribe;
			}
			set
			{
				if ((this._DeliveryDescribe != value))
				{
					this.OnDeliveryDescribeChanging(value);
					this.SendPropertyChanging();
					this._DeliveryDescribe = value;
					this.SendPropertyChanged("DeliveryDescribe");
					this.OnDeliveryDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvDescribe", DbType="NVarChar(40)")]
		public string InvDescribe
		{
			get
			{
				return this._InvDescribe;
			}
			set
			{
				if ((this._InvDescribe != value))
				{
					this.OnInvDescribeChanging(value);
					this.SendPropertyChanging();
					this._InvDescribe = value;
					this.SendPropertyChanged("InvDescribe");
					this.OnInvDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OtherDescribe", DbType="NVarChar(80)")]
		public string OtherDescribe
		{
			get
			{
				return this._OtherDescribe;
			}
			set
			{
				if ((this._OtherDescribe != value))
				{
					this.OnOtherDescribeChanging(value);
					this.SendPropertyChanging();
					this._OtherDescribe = value;
					this.SendPropertyChanged("OtherDescribe");
					this.OnOtherDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SalesUnit", DbType="NVarChar(10)")]
		public string SalesUnit
		{
			get
			{
				return this._SalesUnit;
			}
			set
			{
				if ((this._SalesUnit != value))
				{
					this.OnSalesUnitChanging(value);
					this.SendPropertyChanging();
					this._SalesUnit = value;
					this.SendPropertyChanged("SalesUnit");
					this.OnSalesUnitChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StockIndicator", DbType="NVarChar(1)")]
		public string StockIndicator
		{
			get
			{
				return this._StockIndicator;
			}
			set
			{
				if ((this._StockIndicator != value))
				{
					this.OnStockIndicatorChanging(value);
					this.SendPropertyChanging();
					this._StockIndicator = value;
					this.SendPropertyChanged("StockIndicator");
					this.OnStockIndicatorChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSerialNumber", DbType="NVarChar(4)")]
		public string IsSerialNumber
		{
			get
			{
				return this._IsSerialNumber;
			}
			set
			{
				if ((this._IsSerialNumber != value))
				{
					this.OnIsSerialNumberChanging(value);
					this.SendPropertyChanging();
					this._IsSerialNumber = value;
					this.SendPropertyChanged("IsSerialNumber");
					this.OnIsSerialNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SAPSequence", DbType="VarChar(50)")]
		public string SAPSequence
		{
			get
			{
				return this._SAPSequence;
			}
			set
			{
				if ((this._SAPSequence != value))
				{
					this.OnSAPSequenceChanging(value);
					this.SendPropertyChanging();
					this._SAPSequence = value;
					this.SendPropertyChanged("SAPSequence");
					this.OnSAPSequenceChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSInventoryLotDetail")]
	public partial class ICSInventoryLotDetail : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _LotNo;
		
		private string _TransCode;
		
		private string _TransSequence;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnLotNoChanging(string value);
    partial void OnLotNoChanged();
    partial void OnTransCodeChanging(string value);
    partial void OnTransCodeChanged();
    partial void OnTransSequenceChanging(string value);
    partial void OnTransSequenceChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    #endregion
		
		public ICSInventoryLotDetail()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LotNo", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string LotNo
		{
			get
			{
				return this._LotNo;
			}
			set
			{
				if ((this._LotNo != value))
				{
					this.OnLotNoChanging(value);
					this.SendPropertyChanging();
					this._LotNo = value;
					this.SendPropertyChanged("LotNo");
					this.OnLotNoChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string TransCode
		{
			get
			{
				return this._TransCode;
			}
			set
			{
				if ((this._TransCode != value))
				{
					this.OnTransCodeChanging(value);
					this.SendPropertyChanging();
					this._TransCode = value;
					this.SendPropertyChanged("TransCode");
					this.OnTransCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransSequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string TransSequence
		{
			get
			{
				return this._TransSequence;
			}
			set
			{
				if ((this._TransSequence != value))
				{
					this.OnTransSequenceChanging(value);
					this.SendPropertyChanging();
					this._TransSequence = value;
					this.SendPropertyChanged("TransSequence");
					this.OnTransSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSWareHouseLotInfoLog")]
	public partial class ICSWareHouseLotInfoLog : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _Identification;
		
		private string _TransCode;
		
		private string _TransSequence;
		
		private string _LotNo;
		
		private string _InvCode;
		
		private string _FromWarehouseCode;
		
		private string _FromLocationCode;
		
		private string _ToWarehouseCode;
		
		private string _ToLocationCode;
		
		private decimal _Quantity;
		
		private string _Memo;
		
		private bool _Lock;
		
		private string _TransType;
		
		private string _BusinessCode;
		
		private System.Nullable<bool> _ERPUpload;
		
		private string _ERPID;
		
		private string _ERPDetailID;
		
		private string _ERPCode;
		
		private string _ERPSequence;
		
		private string _LogID;
		
		private string _MergeID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.Nullable<System.DateTime> _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
		private string _EATTRIBUTE2;
		
		private string _EATTRIBUTE3;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnIdentificationChanging(string value);
    partial void OnIdentificationChanged();
    partial void OnTransCodeChanging(string value);
    partial void OnTransCodeChanged();
    partial void OnTransSequenceChanging(string value);
    partial void OnTransSequenceChanged();
    partial void OnLotNoChanging(string value);
    partial void OnLotNoChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnFromWarehouseCodeChanging(string value);
    partial void OnFromWarehouseCodeChanged();
    partial void OnFromLocationCodeChanging(string value);
    partial void OnFromLocationCodeChanged();
    partial void OnToWarehouseCodeChanging(string value);
    partial void OnToWarehouseCodeChanged();
    partial void OnToLocationCodeChanging(string value);
    partial void OnToLocationCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnMemoChanging(string value);
    partial void OnMemoChanged();
    partial void OnLockChanging(bool value);
    partial void OnLockChanged();
    partial void OnTransTypeChanging(string value);
    partial void OnTransTypeChanged();
    partial void OnBusinessCodeChanging(string value);
    partial void OnBusinessCodeChanged();
    partial void OnERPUploadChanging(System.Nullable<bool> value);
    partial void OnERPUploadChanged();
    partial void OnERPIDChanging(string value);
    partial void OnERPIDChanged();
    partial void OnERPDetailIDChanging(string value);
    partial void OnERPDetailIDChanged();
    partial void OnERPCodeChanging(string value);
    partial void OnERPCodeChanged();
    partial void OnERPSequenceChanging(string value);
    partial void OnERPSequenceChanged();
    partial void OnLogIDChanging(string value);
    partial void OnLogIDChanged();
    partial void OnMergeIDChanging(string value);
    partial void OnMergeIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.Nullable<System.DateTime> value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnEATTRIBUTE2Changing(string value);
    partial void OnEATTRIBUTE2Changed();
    partial void OnEATTRIBUTE3Changing(string value);
    partial void OnEATTRIBUTE3Changed();
    #endregion
		
		public ICSWareHouseLotInfoLog()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Identification", DbType="NVarChar(50)")]
		public string Identification
		{
			get
			{
				return this._Identification;
			}
			set
			{
				if ((this._Identification != value))
				{
					this.OnIdentificationChanging(value);
					this.SendPropertyChanging();
					this._Identification = value;
					this.SendPropertyChanged("Identification");
					this.OnIdentificationChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransCode", DbType="NVarChar(100)")]
		public string TransCode
		{
			get
			{
				return this._TransCode;
			}
			set
			{
				if ((this._TransCode != value))
				{
					this.OnTransCodeChanging(value);
					this.SendPropertyChanging();
					this._TransCode = value;
					this.SendPropertyChanged("TransCode");
					this.OnTransCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransSequence", DbType="NVarChar(50)")]
		public string TransSequence
		{
			get
			{
				return this._TransSequence;
			}
			set
			{
				if ((this._TransSequence != value))
				{
					this.OnTransSequenceChanging(value);
					this.SendPropertyChanging();
					this._TransSequence = value;
					this.SendPropertyChanged("TransSequence");
					this.OnTransSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LotNo", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string LotNo
		{
			get
			{
				return this._LotNo;
			}
			set
			{
				if ((this._LotNo != value))
				{
					this.OnLotNoChanging(value);
					this.SendPropertyChanging();
					this._LotNo = value;
					this.SendPropertyChanged("LotNo");
					this.OnLotNoChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FromWarehouseCode", DbType="NVarChar(50)")]
		public string FromWarehouseCode
		{
			get
			{
				return this._FromWarehouseCode;
			}
			set
			{
				if ((this._FromWarehouseCode != value))
				{
					this.OnFromWarehouseCodeChanging(value);
					this.SendPropertyChanging();
					this._FromWarehouseCode = value;
					this.SendPropertyChanged("FromWarehouseCode");
					this.OnFromWarehouseCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FromLocationCode", DbType="NVarChar(50)")]
		public string FromLocationCode
		{
			get
			{
				return this._FromLocationCode;
			}
			set
			{
				if ((this._FromLocationCode != value))
				{
					this.OnFromLocationCodeChanging(value);
					this.SendPropertyChanging();
					this._FromLocationCode = value;
					this.SendPropertyChanged("FromLocationCode");
					this.OnFromLocationCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ToWarehouseCode", DbType="NVarChar(50)")]
		public string ToWarehouseCode
		{
			get
			{
				return this._ToWarehouseCode;
			}
			set
			{
				if ((this._ToWarehouseCode != value))
				{
					this.OnToWarehouseCodeChanging(value);
					this.SendPropertyChanging();
					this._ToWarehouseCode = value;
					this.SendPropertyChanged("ToWarehouseCode");
					this.OnToWarehouseCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ToLocationCode", DbType="NVarChar(50)")]
		public string ToLocationCode
		{
			get
			{
				return this._ToLocationCode;
			}
			set
			{
				if ((this._ToLocationCode != value))
				{
					this.OnToLocationCodeChanging(value);
					this.SendPropertyChanging();
					this._ToLocationCode = value;
					this.SendPropertyChanged("ToLocationCode");
					this.OnToLocationCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Memo", DbType="NVarChar(1000)")]
		public string Memo
		{
			get
			{
				return this._Memo;
			}
			set
			{
				if ((this._Memo != value))
				{
					this.OnMemoChanging(value);
					this.SendPropertyChanging();
					this._Memo = value;
					this.SendPropertyChanged("Memo");
					this.OnMemoChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Lock", DbType="Bit NOT NULL")]
		public bool Lock
		{
			get
			{
				return this._Lock;
			}
			set
			{
				if ((this._Lock != value))
				{
					this.OnLockChanging(value);
					this.SendPropertyChanging();
					this._Lock = value;
					this.SendPropertyChanged("Lock");
					this.OnLockChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransType", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string TransType
		{
			get
			{
				return this._TransType;
			}
			set
			{
				if ((this._TransType != value))
				{
					this.OnTransTypeChanging(value);
					this.SendPropertyChanging();
					this._TransType = value;
					this.SendPropertyChanged("TransType");
					this.OnTransTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BusinessCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string BusinessCode
		{
			get
			{
				return this._BusinessCode;
			}
			set
			{
				if ((this._BusinessCode != value))
				{
					this.OnBusinessCodeChanging(value);
					this.SendPropertyChanging();
					this._BusinessCode = value;
					this.SendPropertyChanged("BusinessCode");
					this.OnBusinessCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ERPUpload", DbType="Bit")]
		public System.Nullable<bool> ERPUpload
		{
			get
			{
				return this._ERPUpload;
			}
			set
			{
				if ((this._ERPUpload != value))
				{
					this.OnERPUploadChanging(value);
					this.SendPropertyChanging();
					this._ERPUpload = value;
					this.SendPropertyChanged("ERPUpload");
					this.OnERPUploadChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ERPID", DbType="NVarChar(50)")]
		public string ERPID
		{
			get
			{
				return this._ERPID;
			}
			set
			{
				if ((this._ERPID != value))
				{
					this.OnERPIDChanging(value);
					this.SendPropertyChanging();
					this._ERPID = value;
					this.SendPropertyChanged("ERPID");
					this.OnERPIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ERPDetailID", DbType="NVarChar(50)")]
		public string ERPDetailID
		{
			get
			{
				return this._ERPDetailID;
			}
			set
			{
				if ((this._ERPDetailID != value))
				{
					this.OnERPDetailIDChanging(value);
					this.SendPropertyChanging();
					this._ERPDetailID = value;
					this.SendPropertyChanged("ERPDetailID");
					this.OnERPDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ERPCode", DbType="NVarChar(50)")]
		public string ERPCode
		{
			get
			{
				return this._ERPCode;
			}
			set
			{
				if ((this._ERPCode != value))
				{
					this.OnERPCodeChanging(value);
					this.SendPropertyChanging();
					this._ERPCode = value;
					this.SendPropertyChanged("ERPCode");
					this.OnERPCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ERPSequence", DbType="NVarChar(50)")]
		public string ERPSequence
		{
			get
			{
				return this._ERPSequence;
			}
			set
			{
				if ((this._ERPSequence != value))
				{
					this.OnERPSequenceChanging(value);
					this.SendPropertyChanging();
					this._ERPSequence = value;
					this.SendPropertyChanged("ERPSequence");
					this.OnERPSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LogID", DbType="NVarChar(50)")]
		public string LogID
		{
			get
			{
				return this._LogID;
			}
			set
			{
				if ((this._LogID != value))
				{
					this.OnLogIDChanging(value);
					this.SendPropertyChanging();
					this._LogID = value;
					this.SendPropertyChanged("LogID");
					this.OnLogIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MergeID", DbType="NVarChar(50)")]
		public string MergeID
		{
			get
			{
				return this._MergeID;
			}
			set
			{
				if ((this._MergeID != value))
				{
					this.OnMergeIDChanging(value);
					this.SendPropertyChanging();
					this._MergeID = value;
					this.SendPropertyChanged("MergeID");
					this.OnMergeIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime2(7)")]
		public System.Nullable<System.DateTime> MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE2", DbType="NVarChar(50)")]
		public string EATTRIBUTE2
		{
			get
			{
				return this._EATTRIBUTE2;
			}
			set
			{
				if ((this._EATTRIBUTE2 != value))
				{
					this.OnEATTRIBUTE2Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE2 = value;
					this.SendPropertyChanged("EATTRIBUTE2");
					this.OnEATTRIBUTE2Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE3", DbType="NVarChar(50)")]
		public string EATTRIBUTE3
		{
			get
			{
				return this._EATTRIBUTE3;
			}
			set
			{
				if ((this._EATTRIBUTE3 != value))
				{
					this.OnEATTRIBUTE3Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE3 = value;
					this.SendPropertyChanged("EATTRIBUTE3");
					this.OnEATTRIBUTE3Changed();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSInventoryLot")]
	public partial class ICSInventoryLot : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _LotNo;
		
		private string _InvCode;
		
		private System.DateTime _ProductDate;
		
		private System.DateTime _ExpirationDate;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private string _ExtensionID;
		
		private string _Type;
		
		private System.Nullable<int> _PrintTimes;
		
		private string _LastPrintUser;
		
		private System.Nullable<System.DateTime> _LastPrintTime;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnLotNoChanging(string value);
    partial void OnLotNoChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnProductDateChanging(System.DateTime value);
    partial void OnProductDateChanged();
    partial void OnExpirationDateChanging(System.DateTime value);
    partial void OnExpirationDateChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnTypeChanging(string value);
    partial void OnTypeChanged();
    partial void OnPrintTimesChanging(System.Nullable<int> value);
    partial void OnPrintTimesChanged();
    partial void OnLastPrintUserChanging(string value);
    partial void OnLastPrintUserChanged();
    partial void OnLastPrintTimeChanging(System.Nullable<System.DateTime> value);
    partial void OnLastPrintTimeChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    #endregion
		
		public ICSInventoryLot()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LotNo", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string LotNo
		{
			get
			{
				return this._LotNo;
			}
			set
			{
				if ((this._LotNo != value))
				{
					this.OnLotNoChanging(value);
					this.SendPropertyChanging();
					this._LotNo = value;
					this.SendPropertyChanged("LotNo");
					this.OnLotNoChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProductDate", DbType="DateTime NOT NULL")]
		public System.DateTime ProductDate
		{
			get
			{
				return this._ProductDate;
			}
			set
			{
				if ((this._ProductDate != value))
				{
					this.OnProductDateChanging(value);
					this.SendPropertyChanging();
					this._ProductDate = value;
					this.SendPropertyChanged("ProductDate");
					this.OnProductDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExpirationDate", DbType="DateTime NOT NULL")]
		public System.DateTime ExpirationDate
		{
			get
			{
				return this._ExpirationDate;
			}
			set
			{
				if ((this._ExpirationDate != value))
				{
					this.OnExpirationDateChanging(value);
					this.SendPropertyChanging();
					this._ExpirationDate = value;
					this.SendPropertyChanged("ExpirationDate");
					this.OnExpirationDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(100)")]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Type
		{
			get
			{
				return this._Type;
			}
			set
			{
				if ((this._Type != value))
				{
					this.OnTypeChanging(value);
					this.SendPropertyChanging();
					this._Type = value;
					this.SendPropertyChanged("Type");
					this.OnTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PrintTimes", DbType="Int")]
		public System.Nullable<int> PrintTimes
		{
			get
			{
				return this._PrintTimes;
			}
			set
			{
				if ((this._PrintTimes != value))
				{
					this.OnPrintTimesChanging(value);
					this.SendPropertyChanging();
					this._PrintTimes = value;
					this.SendPropertyChanged("PrintTimes");
					this.OnPrintTimesChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastPrintUser", DbType="NVarChar(50)")]
		public string LastPrintUser
		{
			get
			{
				return this._LastPrintUser;
			}
			set
			{
				if ((this._LastPrintUser != value))
				{
					this.OnLastPrintUserChanging(value);
					this.SendPropertyChanging();
					this._LastPrintUser = value;
					this.SendPropertyChanged("LastPrintUser");
					this.OnLastPrintUserChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastPrintTime", DbType="DateTime")]
		public System.Nullable<System.DateTime> LastPrintTime
		{
			get
			{
				return this._LastPrintTime;
			}
			set
			{
				if ((this._LastPrintTime != value))
				{
					this.OnLastPrintTimeChanging(value);
					this.SendPropertyChanging();
					this._LastPrintTime = value;
					this.SendPropertyChanged("LastPrintTime");
					this.OnLastPrintTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSWareHouseLotInfo")]
	public partial class ICSWareHouseLotInfo : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _LotNo;
		
		private string _WarehouseCode;
		
		private string _LocationCode;
		
		private string _InvCode;
		
		private decimal _Quantity;
		
		private System.Nullable<System.DateTime> _InDate;
		
		private decimal _LockQuantity;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.Nullable<System.DateTime> _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnLotNoChanging(string value);
    partial void OnLotNoChanged();
    partial void OnWarehouseCodeChanging(string value);
    partial void OnWarehouseCodeChanged();
    partial void OnLocationCodeChanging(string value);
    partial void OnLocationCodeChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnInDateChanging(System.Nullable<System.DateTime> value);
    partial void OnInDateChanged();
    partial void OnLockQuantityChanging(decimal value);
    partial void OnLockQuantityChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.Nullable<System.DateTime> value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    #endregion
		
		public ICSWareHouseLotInfo()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LotNo", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string LotNo
		{
			get
			{
				return this._LotNo;
			}
			set
			{
				if ((this._LotNo != value))
				{
					this.OnLotNoChanging(value);
					this.SendPropertyChanging();
					this._LotNo = value;
					this.SendPropertyChanged("LotNo");
					this.OnLotNoChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WarehouseCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WarehouseCode
		{
			get
			{
				return this._WarehouseCode;
			}
			set
			{
				if ((this._WarehouseCode != value))
				{
					this.OnWarehouseCodeChanging(value);
					this.SendPropertyChanging();
					this._WarehouseCode = value;
					this.SendPropertyChanged("WarehouseCode");
					this.OnWarehouseCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LocationCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string LocationCode
		{
			get
			{
				return this._LocationCode;
			}
			set
			{
				if ((this._LocationCode != value))
				{
					this.OnLocationCodeChanging(value);
					this.SendPropertyChanging();
					this._LocationCode = value;
					this.SendPropertyChanged("LocationCode");
					this.OnLocationCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InDate", DbType="DateTime2(7)")]
		public System.Nullable<System.DateTime> InDate
		{
			get
			{
				return this._InDate;
			}
			set
			{
				if ((this._InDate != value))
				{
					this.OnInDateChanging(value);
					this.SendPropertyChanging();
					this._InDate = value;
					this.SendPropertyChanged("InDate");
					this.OnInDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LockQuantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal LockQuantity
		{
			get
			{
				return this._LockQuantity;
			}
			set
			{
				if ((this._LockQuantity != value))
				{
					this.OnLockQuantityChanging(value);
					this.SendPropertyChanging();
					this._LockQuantity = value;
					this.SendPropertyChanged("LockQuantity");
					this.OnLockQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime2(7)")]
		public System.Nullable<System.DateTime> MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSLocation")]
	public partial class ICSLocation : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _LocationCode;
		
		private string _LocationName;
		
		private string _WHID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
		private string _Region;
		
		private string _Row;
		
		private string _GoodsShelf;
		
		private string _Tier;
		
		private string _Grid;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnLocationCodeChanging(string value);
    partial void OnLocationCodeChanged();
    partial void OnLocationNameChanging(string value);
    partial void OnLocationNameChanged();
    partial void OnWHIDChanging(string value);
    partial void OnWHIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnRegionChanging(string value);
    partial void OnRegionChanged();
    partial void OnRowChanging(string value);
    partial void OnRowChanged();
    partial void OnGoodsShelfChanging(string value);
    partial void OnGoodsShelfChanged();
    partial void OnTierChanging(string value);
    partial void OnTierChanged();
    partial void OnGridChanging(string value);
    partial void OnGridChanged();
    #endregion
		
		public ICSLocation()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LocationCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string LocationCode
		{
			get
			{
				return this._LocationCode;
			}
			set
			{
				if ((this._LocationCode != value))
				{
					this.OnLocationCodeChanging(value);
					this.SendPropertyChanging();
					this._LocationCode = value;
					this.SendPropertyChanged("LocationCode");
					this.OnLocationCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LocationName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string LocationName
		{
			get
			{
				return this._LocationName;
			}
			set
			{
				if ((this._LocationName != value))
				{
					this.OnLocationNameChanging(value);
					this.SendPropertyChanging();
					this._LocationName = value;
					this.SendPropertyChanged("LocationName");
					this.OnLocationNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WHID
		{
			get
			{
				return this._WHID;
			}
			set
			{
				if ((this._WHID != value))
				{
					this.OnWHIDChanging(value);
					this.SendPropertyChanging();
					this._WHID = value;
					this.SendPropertyChanged("WHID");
					this.OnWHIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50)")]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="VarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Region", DbType="NVarChar(50)")]
		public string Region
		{
			get
			{
				return this._Region;
			}
			set
			{
				if ((this._Region != value))
				{
					this.OnRegionChanging(value);
					this.SendPropertyChanging();
					this._Region = value;
					this.SendPropertyChanged("Region");
					this.OnRegionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Row", DbType="NVarChar(50)")]
		public string Row
		{
			get
			{
				return this._Row;
			}
			set
			{
				if ((this._Row != value))
				{
					this.OnRowChanging(value);
					this.SendPropertyChanging();
					this._Row = value;
					this.SendPropertyChanged("Row");
					this.OnRowChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Name="GoodsShelf ", Storage="_GoodsShelf", DbType="NVarChar(50)")]
		public string GoodsShelf
		{
			get
			{
				return this._GoodsShelf;
			}
			set
			{
				if ((this._GoodsShelf != value))
				{
					this.OnGoodsShelfChanging(value);
					this.SendPropertyChanging();
					this._GoodsShelf = value;
					this.SendPropertyChanged("GoodsShelf");
					this.OnGoodsShelfChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Tier", DbType="NVarChar(50)")]
		public string Tier
		{
			get
			{
				return this._Tier;
			}
			set
			{
				if ((this._Tier != value))
				{
					this.OnTierChanging(value);
					this.SendPropertyChanging();
					this._Tier = value;
					this.SendPropertyChanged("Tier");
					this.OnTierChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Grid", DbType="NVarChar(50)")]
		public string Grid
		{
			get
			{
				return this._Grid;
			}
			set
			{
				if ((this._Grid != value))
				{
					this.OnGridChanging(value);
					this.SendPropertyChanging();
					this._Grid = value;
					this.SendPropertyChanged("Grid");
					this.OnGridChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSWarehouse")]
	public partial class ICSWarehouse : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _WarehouseCode;
		
		private string _WarehouseName;
		
		private bool _Enable;
		
		private bool _BatchEnable;
		
		private bool _Asset;
		
		private bool _Proxy;
		
		private bool _InCost;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnWarehouseCodeChanging(string value);
    partial void OnWarehouseCodeChanged();
    partial void OnWarehouseNameChanging(string value);
    partial void OnWarehouseNameChanged();
    partial void OnEnableChanging(bool value);
    partial void OnEnableChanged();
    partial void OnBatchEnableChanging(bool value);
    partial void OnBatchEnableChanged();
    partial void OnAssetChanging(bool value);
    partial void OnAssetChanged();
    partial void OnProxyChanging(bool value);
    partial void OnProxyChanged();
    partial void OnInCostChanging(bool value);
    partial void OnInCostChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    #endregion
		
		public ICSWarehouse()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WarehouseCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WarehouseCode
		{
			get
			{
				return this._WarehouseCode;
			}
			set
			{
				if ((this._WarehouseCode != value))
				{
					this.OnWarehouseCodeChanging(value);
					this.SendPropertyChanging();
					this._WarehouseCode = value;
					this.SendPropertyChanged("WarehouseCode");
					this.OnWarehouseCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WarehouseName", DbType="NVarChar(100) NOT NULL", CanBeNull=false)]
		public string WarehouseName
		{
			get
			{
				return this._WarehouseName;
			}
			set
			{
				if ((this._WarehouseName != value))
				{
					this.OnWarehouseNameChanging(value);
					this.SendPropertyChanging();
					this._WarehouseName = value;
					this.SendPropertyChanged("WarehouseName");
					this.OnWarehouseNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Enable", DbType="Bit NOT NULL")]
		public bool Enable
		{
			get
			{
				return this._Enable;
			}
			set
			{
				if ((this._Enable != value))
				{
					this.OnEnableChanging(value);
					this.SendPropertyChanging();
					this._Enable = value;
					this.SendPropertyChanged("Enable");
					this.OnEnableChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BatchEnable", DbType="Bit NOT NULL")]
		public bool BatchEnable
		{
			get
			{
				return this._BatchEnable;
			}
			set
			{
				if ((this._BatchEnable != value))
				{
					this.OnBatchEnableChanging(value);
					this.SendPropertyChanging();
					this._BatchEnable = value;
					this.SendPropertyChanged("BatchEnable");
					this.OnBatchEnableChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Asset", DbType="Bit NOT NULL")]
		public bool Asset
		{
			get
			{
				return this._Asset;
			}
			set
			{
				if ((this._Asset != value))
				{
					this.OnAssetChanging(value);
					this.SendPropertyChanging();
					this._Asset = value;
					this.SendPropertyChanged("Asset");
					this.OnAssetChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Proxy", DbType="Bit NOT NULL")]
		public bool Proxy
		{
			get
			{
				return this._Proxy;
			}
			set
			{
				if ((this._Proxy != value))
				{
					this.OnProxyChanging(value);
					this.SendPropertyChanging();
					this._Proxy = value;
					this.SendPropertyChanged("Proxy");
					this.OnProxyChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InCost", DbType="Bit NOT NULL")]
		public bool InCost
		{
			get
			{
				return this._InCost;
			}
			set
			{
				if ((this._InCost != value))
				{
					this.OnInCostChanging(value);
					this.SendPropertyChanging();
					this._InCost = value;
					this.SendPropertyChanged("InCost");
					this.OnInCostChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50)")]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="VarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSOtherOut")]
	public partial class ICSOtherOut : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _OutCode;
		
		private string _WHCode;
		
		private string _Sequence;
		
		private string _InvCode;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private System.Nullable<decimal> _OutQuantity;
		
		private string _Status;
		
		private string _CreatePerson;
		
		private System.DateTime _CreateDateTime;
		
		private string _OutID;
		
		private string _OutDetailID;
		
		private string _TransferID;
		
		private string _TransferDetailID;
		
		private string _ExtensionID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
		private string _OrderType;
		
		private string _TypeDescribe;
		
		private string _CostCenter;
		
		private string _Remarks;
		
		private string _PersonNumber;
		
		private string _InvDescribe;
		
		private string _Unit;
		
		private string _StockIndicator;
		
		private string _IsSerialNumber;
		
		private string _SAPSequence;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnOutCodeChanging(string value);
    partial void OnOutCodeChanged();
    partial void OnWHCodeChanging(string value);
    partial void OnWHCodeChanged();
    partial void OnSequenceChanging(string value);
    partial void OnSequenceChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnOutQuantityChanging(System.Nullable<decimal> value);
    partial void OnOutQuantityChanged();
    partial void OnStatusChanging(string value);
    partial void OnStatusChanged();
    partial void OnCreatePersonChanging(string value);
    partial void OnCreatePersonChanged();
    partial void OnCreateDateTimeChanging(System.DateTime value);
    partial void OnCreateDateTimeChanged();
    partial void OnOutIDChanging(string value);
    partial void OnOutIDChanged();
    partial void OnOutDetailIDChanging(string value);
    partial void OnOutDetailIDChanged();
    partial void OnTransferIDChanging(string value);
    partial void OnTransferIDChanged();
    partial void OnTransferDetailIDChanging(string value);
    partial void OnTransferDetailIDChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnOrderTypeChanging(string value);
    partial void OnOrderTypeChanged();
    partial void OnTypeDescribeChanging(string value);
    partial void OnTypeDescribeChanged();
    partial void OnCostCenterChanging(string value);
    partial void OnCostCenterChanged();
    partial void OnRemarksChanging(string value);
    partial void OnRemarksChanged();
    partial void OnPersonNumberChanging(string value);
    partial void OnPersonNumberChanged();
    partial void OnInvDescribeChanging(string value);
    partial void OnInvDescribeChanged();
    partial void OnUnitChanging(string value);
    partial void OnUnitChanged();
    partial void OnStockIndicatorChanging(string value);
    partial void OnStockIndicatorChanged();
    partial void OnIsSerialNumberChanging(string value);
    partial void OnIsSerialNumberChanged();
    partial void OnSAPSequenceChanging(string value);
    partial void OnSAPSequenceChanged();
    #endregion
		
		public ICSOtherOut()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OutCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string OutCode
		{
			get
			{
				return this._OutCode;
			}
			set
			{
				if ((this._OutCode != value))
				{
					this.OnOutCodeChanging(value);
					this.SendPropertyChanging();
					this._OutCode = value;
					this.SendPropertyChanged("OutCode");
					this.OnOutCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WHCode
		{
			get
			{
				return this._WHCode;
			}
			set
			{
				if ((this._WHCode != value))
				{
					this.OnWHCodeChanging(value);
					this.SendPropertyChanging();
					this._WHCode = value;
					this.SendPropertyChanged("WHCode");
					this.OnWHCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Sequence
		{
			get
			{
				return this._Sequence;
			}
			set
			{
				if ((this._Sequence != value))
				{
					this.OnSequenceChanging(value);
					this.SendPropertyChanging();
					this._Sequence = value;
					this.SendPropertyChanged("Sequence");
					this.OnSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,3) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OutQuantity", DbType="Decimal(18,2)")]
		public System.Nullable<decimal> OutQuantity
		{
			get
			{
				return this._OutQuantity;
			}
			set
			{
				if ((this._OutQuantity != value))
				{
					this.OnOutQuantityChanging(value);
					this.SendPropertyChanging();
					this._OutQuantity = value;
					this.SendPropertyChanged("OutQuantity");
					this.OnOutQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="NVarChar(10) NOT NULL", CanBeNull=false)]
		public string Status
		{
			get
			{
				return this._Status;
			}
			set
			{
				if ((this._Status != value))
				{
					this.OnStatusChanging(value);
					this.SendPropertyChanging();
					this._Status = value;
					this.SendPropertyChanged("Status");
					this.OnStatusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatePerson", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CreatePerson
		{
			get
			{
				return this._CreatePerson;
			}
			set
			{
				if ((this._CreatePerson != value))
				{
					this.OnCreatePersonChanging(value);
					this.SendPropertyChanging();
					this._CreatePerson = value;
					this.SendPropertyChanged("CreatePerson");
					this.OnCreatePersonChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDateTime", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDateTime
		{
			get
			{
				return this._CreateDateTime;
			}
			set
			{
				if ((this._CreateDateTime != value))
				{
					this.OnCreateDateTimeChanging(value);
					this.SendPropertyChanging();
					this._CreateDateTime = value;
					this.SendPropertyChanged("CreateDateTime");
					this.OnCreateDateTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OutID", DbType="NVarChar(50)")]
		public string OutID
		{
			get
			{
				return this._OutID;
			}
			set
			{
				if ((this._OutID != value))
				{
					this.OnOutIDChanging(value);
					this.SendPropertyChanging();
					this._OutID = value;
					this.SendPropertyChanged("OutID");
					this.OnOutIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OutDetailID", DbType="NVarChar(50)")]
		public string OutDetailID
		{
			get
			{
				return this._OutDetailID;
			}
			set
			{
				if ((this._OutDetailID != value))
				{
					this.OnOutDetailIDChanging(value);
					this.SendPropertyChanging();
					this._OutDetailID = value;
					this.SendPropertyChanged("OutDetailID");
					this.OnOutDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransferID", DbType="NVarChar(50)")]
		public string TransferID
		{
			get
			{
				return this._TransferID;
			}
			set
			{
				if ((this._TransferID != value))
				{
					this.OnTransferIDChanging(value);
					this.SendPropertyChanging();
					this._TransferID = value;
					this.SendPropertyChanged("TransferID");
					this.OnTransferIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransferDetailID", DbType="NVarChar(50)")]
		public string TransferDetailID
		{
			get
			{
				return this._TransferDetailID;
			}
			set
			{
				if ((this._TransferDetailID != value))
				{
					this.OnTransferDetailIDChanging(value);
					this.SendPropertyChanging();
					this._TransferDetailID = value;
					this.SendPropertyChanged("TransferDetailID");
					this.OnTransferDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderType", DbType="NVarChar(2)")]
		public string OrderType
		{
			get
			{
				return this._OrderType;
			}
			set
			{
				if ((this._OrderType != value))
				{
					this.OnOrderTypeChanging(value);
					this.SendPropertyChanging();
					this._OrderType = value;
					this.SendPropertyChanged("OrderType");
					this.OnOrderTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TypeDescribe", DbType="NVarChar(20)")]
		public string TypeDescribe
		{
			get
			{
				return this._TypeDescribe;
			}
			set
			{
				if ((this._TypeDescribe != value))
				{
					this.OnTypeDescribeChanging(value);
					this.SendPropertyChanging();
					this._TypeDescribe = value;
					this.SendPropertyChanged("TypeDescribe");
					this.OnTypeDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CostCenter", DbType="NVarChar(10)")]
		public string CostCenter
		{
			get
			{
				return this._CostCenter;
			}
			set
			{
				if ((this._CostCenter != value))
				{
					this.OnCostCenterChanging(value);
					this.SendPropertyChanging();
					this._CostCenter = value;
					this.SendPropertyChanged("CostCenter");
					this.OnCostCenterChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remarks", DbType="NVarChar(40)")]
		public string Remarks
		{
			get
			{
				return this._Remarks;
			}
			set
			{
				if ((this._Remarks != value))
				{
					this.OnRemarksChanging(value);
					this.SendPropertyChanging();
					this._Remarks = value;
					this.SendPropertyChanged("Remarks");
					this.OnRemarksChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonNumber", DbType="NVarChar(10)")]
		public string PersonNumber
		{
			get
			{
				return this._PersonNumber;
			}
			set
			{
				if ((this._PersonNumber != value))
				{
					this.OnPersonNumberChanging(value);
					this.SendPropertyChanging();
					this._PersonNumber = value;
					this.SendPropertyChanged("PersonNumber");
					this.OnPersonNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvDescribe", DbType="NVarChar(18)")]
		public string InvDescribe
		{
			get
			{
				return this._InvDescribe;
			}
			set
			{
				if ((this._InvDescribe != value))
				{
					this.OnInvDescribeChanging(value);
					this.SendPropertyChanging();
					this._InvDescribe = value;
					this.SendPropertyChanged("InvDescribe");
					this.OnInvDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(10)")]
		public string Unit
		{
			get
			{
				return this._Unit;
			}
			set
			{
				if ((this._Unit != value))
				{
					this.OnUnitChanging(value);
					this.SendPropertyChanging();
					this._Unit = value;
					this.SendPropertyChanged("Unit");
					this.OnUnitChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StockIndicator", DbType="NVarChar(1)")]
		public string StockIndicator
		{
			get
			{
				return this._StockIndicator;
			}
			set
			{
				if ((this._StockIndicator != value))
				{
					this.OnStockIndicatorChanging(value);
					this.SendPropertyChanging();
					this._StockIndicator = value;
					this.SendPropertyChanged("StockIndicator");
					this.OnStockIndicatorChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSerialNumber", DbType="NVarChar(4)")]
		public string IsSerialNumber
		{
			get
			{
				return this._IsSerialNumber;
			}
			set
			{
				if ((this._IsSerialNumber != value))
				{
					this.OnIsSerialNumberChanging(value);
					this.SendPropertyChanging();
					this._IsSerialNumber = value;
					this.SendPropertyChanged("IsSerialNumber");
					this.OnIsSerialNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SAPSequence", DbType="VarChar(50)")]
		public string SAPSequence
		{
			get
			{
				return this._SAPSequence;
			}
			set
			{
				if ((this._SAPSequence != value))
				{
					this.OnSAPSequenceChanging(value);
					this.SendPropertyChanging();
					this._SAPSequence = value;
					this.SendPropertyChanged("SAPSequence");
					this.OnSAPSequenceChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSOtherIn")]
	public partial class ICSOtherIn : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _InCode;
		
		private string _WHCode;
		
		private string _Sequence;
		
		private string _InvCode;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private System.Nullable<decimal> _InQuantity;
		
		private string _Status;
		
		private string _CreatePerson;
		
		private System.DateTime _CreateDateTime;
		
		private string _InID;
		
		private string _InDetailID;
		
		private string _TransferID;
		
		private string _TransferDetailID;
		
		private string _ExtensionID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
		private string _OrderType;
		
		private string _TypeDescribe;
		
		private string _CostCenter;
		
		private string _Remarks;
		
		private string _PersonNumber;
		
		private string _InvDescribe;
		
		private string _Unit;
		
		private string _StockIndicator;
		
		private string _IsSerialNumber;
		
		private string _SAPSequence;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnInCodeChanging(string value);
    partial void OnInCodeChanged();
    partial void OnWHCodeChanging(string value);
    partial void OnWHCodeChanged();
    partial void OnSequenceChanging(string value);
    partial void OnSequenceChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnInQuantityChanging(System.Nullable<decimal> value);
    partial void OnInQuantityChanged();
    partial void OnStatusChanging(string value);
    partial void OnStatusChanged();
    partial void OnCreatePersonChanging(string value);
    partial void OnCreatePersonChanged();
    partial void OnCreateDateTimeChanging(System.DateTime value);
    partial void OnCreateDateTimeChanged();
    partial void OnInIDChanging(string value);
    partial void OnInIDChanged();
    partial void OnInDetailIDChanging(string value);
    partial void OnInDetailIDChanged();
    partial void OnTransferIDChanging(string value);
    partial void OnTransferIDChanged();
    partial void OnTransferDetailIDChanging(string value);
    partial void OnTransferDetailIDChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnOrderTypeChanging(string value);
    partial void OnOrderTypeChanged();
    partial void OnTypeDescribeChanging(string value);
    partial void OnTypeDescribeChanged();
    partial void OnCostCenterChanging(string value);
    partial void OnCostCenterChanged();
    partial void OnRemarksChanging(string value);
    partial void OnRemarksChanged();
    partial void OnPersonNumberChanging(string value);
    partial void OnPersonNumberChanged();
    partial void OnInvDescribeChanging(string value);
    partial void OnInvDescribeChanged();
    partial void OnUnitChanging(string value);
    partial void OnUnitChanged();
    partial void OnStockIndicatorChanging(string value);
    partial void OnStockIndicatorChanged();
    partial void OnIsSerialNumberChanging(string value);
    partial void OnIsSerialNumberChanged();
    partial void OnSAPSequenceChanging(string value);
    partial void OnSAPSequenceChanged();
    #endregion
		
		public ICSOtherIn()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InCode
		{
			get
			{
				return this._InCode;
			}
			set
			{
				if ((this._InCode != value))
				{
					this.OnInCodeChanging(value);
					this.SendPropertyChanging();
					this._InCode = value;
					this.SendPropertyChanged("InCode");
					this.OnInCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WHCode
		{
			get
			{
				return this._WHCode;
			}
			set
			{
				if ((this._WHCode != value))
				{
					this.OnWHCodeChanging(value);
					this.SendPropertyChanging();
					this._WHCode = value;
					this.SendPropertyChanged("WHCode");
					this.OnWHCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Sequence
		{
			get
			{
				return this._Sequence;
			}
			set
			{
				if ((this._Sequence != value))
				{
					this.OnSequenceChanging(value);
					this.SendPropertyChanging();
					this._Sequence = value;
					this.SendPropertyChanged("Sequence");
					this.OnSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,3) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InQuantity", DbType="Decimal(18,2)")]
		public System.Nullable<decimal> InQuantity
		{
			get
			{
				return this._InQuantity;
			}
			set
			{
				if ((this._InQuantity != value))
				{
					this.OnInQuantityChanging(value);
					this.SendPropertyChanging();
					this._InQuantity = value;
					this.SendPropertyChanged("InQuantity");
					this.OnInQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="NVarChar(10) NOT NULL", CanBeNull=false)]
		public string Status
		{
			get
			{
				return this._Status;
			}
			set
			{
				if ((this._Status != value))
				{
					this.OnStatusChanging(value);
					this.SendPropertyChanging();
					this._Status = value;
					this.SendPropertyChanged("Status");
					this.OnStatusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatePerson", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CreatePerson
		{
			get
			{
				return this._CreatePerson;
			}
			set
			{
				if ((this._CreatePerson != value))
				{
					this.OnCreatePersonChanging(value);
					this.SendPropertyChanging();
					this._CreatePerson = value;
					this.SendPropertyChanged("CreatePerson");
					this.OnCreatePersonChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDateTime", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDateTime
		{
			get
			{
				return this._CreateDateTime;
			}
			set
			{
				if ((this._CreateDateTime != value))
				{
					this.OnCreateDateTimeChanging(value);
					this.SendPropertyChanging();
					this._CreateDateTime = value;
					this.SendPropertyChanged("CreateDateTime");
					this.OnCreateDateTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InID", DbType="NVarChar(50)")]
		public string InID
		{
			get
			{
				return this._InID;
			}
			set
			{
				if ((this._InID != value))
				{
					this.OnInIDChanging(value);
					this.SendPropertyChanging();
					this._InID = value;
					this.SendPropertyChanged("InID");
					this.OnInIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InDetailID", DbType="NVarChar(50)")]
		public string InDetailID
		{
			get
			{
				return this._InDetailID;
			}
			set
			{
				if ((this._InDetailID != value))
				{
					this.OnInDetailIDChanging(value);
					this.SendPropertyChanging();
					this._InDetailID = value;
					this.SendPropertyChanged("InDetailID");
					this.OnInDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransferID", DbType="NVarChar(50)")]
		public string TransferID
		{
			get
			{
				return this._TransferID;
			}
			set
			{
				if ((this._TransferID != value))
				{
					this.OnTransferIDChanging(value);
					this.SendPropertyChanging();
					this._TransferID = value;
					this.SendPropertyChanged("TransferID");
					this.OnTransferIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TransferDetailID", DbType="NVarChar(50)")]
		public string TransferDetailID
		{
			get
			{
				return this._TransferDetailID;
			}
			set
			{
				if ((this._TransferDetailID != value))
				{
					this.OnTransferDetailIDChanging(value);
					this.SendPropertyChanging();
					this._TransferDetailID = value;
					this.SendPropertyChanged("TransferDetailID");
					this.OnTransferDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderType", DbType="NVarChar(2)")]
		public string OrderType
		{
			get
			{
				return this._OrderType;
			}
			set
			{
				if ((this._OrderType != value))
				{
					this.OnOrderTypeChanging(value);
					this.SendPropertyChanging();
					this._OrderType = value;
					this.SendPropertyChanged("OrderType");
					this.OnOrderTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TypeDescribe", DbType="NVarChar(20)")]
		public string TypeDescribe
		{
			get
			{
				return this._TypeDescribe;
			}
			set
			{
				if ((this._TypeDescribe != value))
				{
					this.OnTypeDescribeChanging(value);
					this.SendPropertyChanging();
					this._TypeDescribe = value;
					this.SendPropertyChanged("TypeDescribe");
					this.OnTypeDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CostCenter", DbType="NVarChar(10)")]
		public string CostCenter
		{
			get
			{
				return this._CostCenter;
			}
			set
			{
				if ((this._CostCenter != value))
				{
					this.OnCostCenterChanging(value);
					this.SendPropertyChanging();
					this._CostCenter = value;
					this.SendPropertyChanged("CostCenter");
					this.OnCostCenterChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remarks", DbType="NVarChar(40)")]
		public string Remarks
		{
			get
			{
				return this._Remarks;
			}
			set
			{
				if ((this._Remarks != value))
				{
					this.OnRemarksChanging(value);
					this.SendPropertyChanging();
					this._Remarks = value;
					this.SendPropertyChanged("Remarks");
					this.OnRemarksChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonNumber", DbType="NVarChar(10)")]
		public string PersonNumber
		{
			get
			{
				return this._PersonNumber;
			}
			set
			{
				if ((this._PersonNumber != value))
				{
					this.OnPersonNumberChanging(value);
					this.SendPropertyChanging();
					this._PersonNumber = value;
					this.SendPropertyChanged("PersonNumber");
					this.OnPersonNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvDescribe", DbType="NVarChar(18)")]
		public string InvDescribe
		{
			get
			{
				return this._InvDescribe;
			}
			set
			{
				if ((this._InvDescribe != value))
				{
					this.OnInvDescribeChanging(value);
					this.SendPropertyChanging();
					this._InvDescribe = value;
					this.SendPropertyChanged("InvDescribe");
					this.OnInvDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(10)")]
		public string Unit
		{
			get
			{
				return this._Unit;
			}
			set
			{
				if ((this._Unit != value))
				{
					this.OnUnitChanging(value);
					this.SendPropertyChanging();
					this._Unit = value;
					this.SendPropertyChanged("Unit");
					this.OnUnitChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StockIndicator", DbType="NVarChar(1)")]
		public string StockIndicator
		{
			get
			{
				return this._StockIndicator;
			}
			set
			{
				if ((this._StockIndicator != value))
				{
					this.OnStockIndicatorChanging(value);
					this.SendPropertyChanging();
					this._StockIndicator = value;
					this.SendPropertyChanged("StockIndicator");
					this.OnStockIndicatorChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSerialNumber", DbType="NVarChar(4)")]
		public string IsSerialNumber
		{
			get
			{
				return this._IsSerialNumber;
			}
			set
			{
				if ((this._IsSerialNumber != value))
				{
					this.OnIsSerialNumberChanging(value);
					this.SendPropertyChanging();
					this._IsSerialNumber = value;
					this.SendPropertyChanged("IsSerialNumber");
					this.OnIsSerialNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SAPSequence", DbType="VarChar(50)")]
		public string SAPSequence
		{
			get
			{
				return this._SAPSequence;
			}
			set
			{
				if ((this._SAPSequence != value))
				{
					this.OnSAPSequenceChanging(value);
					this.SendPropertyChanging();
					this._SAPSequence = value;
					this.SendPropertyChanged("SAPSequence");
					this.OnSAPSequenceChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSOApply")]
	public partial class ICSOApply : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _ApplyCode;
		
		private string _Sequence;
		
		private string _SourceCode;
		
		private string _SourceSequence;
		
		private string _InvCode;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private System.Nullable<decimal> _IssueQuantity;
		
		private string _WHCode;
		
		private string _Type;
		
		private string _Status;
		
		private string _CreatePerson;
		
		private System.DateTime _CreateDateTime;
		
		private string _ApplyID;
		
		private string _ApplyDetailID;
		
		private string _ExtensionID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE;
		
		private string _SAPSequence;
		
		private string _VenCode;
		
		private string _VenName;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnApplyCodeChanging(string value);
    partial void OnApplyCodeChanged();
    partial void OnSequenceChanging(string value);
    partial void OnSequenceChanged();
    partial void OnSourceCodeChanging(string value);
    partial void OnSourceCodeChanged();
    partial void OnSourceSequenceChanging(string value);
    partial void OnSourceSequenceChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnIssueQuantityChanging(System.Nullable<decimal> value);
    partial void OnIssueQuantityChanged();
    partial void OnWHCodeChanging(string value);
    partial void OnWHCodeChanged();
    partial void OnTypeChanging(string value);
    partial void OnTypeChanged();
    partial void OnStatusChanging(string value);
    partial void OnStatusChanged();
    partial void OnCreatePersonChanging(string value);
    partial void OnCreatePersonChanged();
    partial void OnCreateDateTimeChanging(System.DateTime value);
    partial void OnCreateDateTimeChanged();
    partial void OnApplyIDChanging(string value);
    partial void OnApplyIDChanged();
    partial void OnApplyDetailIDChanging(string value);
    partial void OnApplyDetailIDChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTEChanging(string value);
    partial void OnEATTRIBUTEChanged();
    partial void OnSAPSequenceChanging(string value);
    partial void OnSAPSequenceChanged();
    partial void OnVenCodeChanging(string value);
    partial void OnVenCodeChanged();
    partial void OnVenNameChanging(string value);
    partial void OnVenNameChanged();
    #endregion
		
		public ICSOApply()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplyCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ApplyCode
		{
			get
			{
				return this._ApplyCode;
			}
			set
			{
				if ((this._ApplyCode != value))
				{
					this.OnApplyCodeChanging(value);
					this.SendPropertyChanging();
					this._ApplyCode = value;
					this.SendPropertyChanged("ApplyCode");
					this.OnApplyCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Sequence
		{
			get
			{
				return this._Sequence;
			}
			set
			{
				if ((this._Sequence != value))
				{
					this.OnSequenceChanging(value);
					this.SendPropertyChanging();
					this._Sequence = value;
					this.SendPropertyChanged("Sequence");
					this.OnSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SourceCode", DbType="NVarChar(50)")]
		public string SourceCode
		{
			get
			{
				return this._SourceCode;
			}
			set
			{
				if ((this._SourceCode != value))
				{
					this.OnSourceCodeChanging(value);
					this.SendPropertyChanging();
					this._SourceCode = value;
					this.SendPropertyChanged("SourceCode");
					this.OnSourceCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SourceSequence", DbType="NVarChar(50)")]
		public string SourceSequence
		{
			get
			{
				return this._SourceSequence;
			}
			set
			{
				if ((this._SourceSequence != value))
				{
					this.OnSourceSequenceChanging(value);
					this.SendPropertyChanging();
					this._SourceSequence = value;
					this.SendPropertyChanged("SourceSequence");
					this.OnSourceSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IssueQuantity", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> IssueQuantity
		{
			get
			{
				return this._IssueQuantity;
			}
			set
			{
				if ((this._IssueQuantity != value))
				{
					this.OnIssueQuantityChanging(value);
					this.SendPropertyChanging();
					this._IssueQuantity = value;
					this.SendPropertyChanged("IssueQuantity");
					this.OnIssueQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WHCode
		{
			get
			{
				return this._WHCode;
			}
			set
			{
				if ((this._WHCode != value))
				{
					this.OnWHCodeChanging(value);
					this.SendPropertyChanging();
					this._WHCode = value;
					this.SendPropertyChanged("WHCode");
					this.OnWHCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Type
		{
			get
			{
				return this._Type;
			}
			set
			{
				if ((this._Type != value))
				{
					this.OnTypeChanging(value);
					this.SendPropertyChanging();
					this._Type = value;
					this.SendPropertyChanged("Type");
					this.OnTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Status
		{
			get
			{
				return this._Status;
			}
			set
			{
				if ((this._Status != value))
				{
					this.OnStatusChanging(value);
					this.SendPropertyChanging();
					this._Status = value;
					this.SendPropertyChanged("Status");
					this.OnStatusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatePerson", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CreatePerson
		{
			get
			{
				return this._CreatePerson;
			}
			set
			{
				if ((this._CreatePerson != value))
				{
					this.OnCreatePersonChanging(value);
					this.SendPropertyChanging();
					this._CreatePerson = value;
					this.SendPropertyChanged("CreatePerson");
					this.OnCreatePersonChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDateTime", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDateTime
		{
			get
			{
				return this._CreateDateTime;
			}
			set
			{
				if ((this._CreateDateTime != value))
				{
					this.OnCreateDateTimeChanging(value);
					this.SendPropertyChanging();
					this._CreateDateTime = value;
					this.SendPropertyChanged("CreateDateTime");
					this.OnCreateDateTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplyID", DbType="NVarChar(50)")]
		public string ApplyID
		{
			get
			{
				return this._ApplyID;
			}
			set
			{
				if ((this._ApplyID != value))
				{
					this.OnApplyIDChanging(value);
					this.SendPropertyChanging();
					this._ApplyID = value;
					this.SendPropertyChanged("ApplyID");
					this.OnApplyIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplyDetailID", DbType="NVarChar(50)")]
		public string ApplyDetailID
		{
			get
			{
				return this._ApplyDetailID;
			}
			set
			{
				if ((this._ApplyDetailID != value))
				{
					this.OnApplyDetailIDChanging(value);
					this.SendPropertyChanging();
					this._ApplyDetailID = value;
					this.SendPropertyChanged("ApplyDetailID");
					this.OnApplyDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE", DbType="NVarChar(50)")]
		public string EATTRIBUTE
		{
			get
			{
				return this._EATTRIBUTE;
			}
			set
			{
				if ((this._EATTRIBUTE != value))
				{
					this.OnEATTRIBUTEChanging(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE = value;
					this.SendPropertyChanged("EATTRIBUTE");
					this.OnEATTRIBUTEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SAPSequence", DbType="NVarChar(50)")]
		public string SAPSequence
		{
			get
			{
				return this._SAPSequence;
			}
			set
			{
				if ((this._SAPSequence != value))
				{
					this.OnSAPSequenceChanging(value);
					this.SendPropertyChanging();
					this._SAPSequence = value;
					this.SendPropertyChanged("SAPSequence");
					this.OnSAPSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_VenCode", DbType="NVarChar(50)")]
		public string VenCode
		{
			get
			{
				return this._VenCode;
			}
			set
			{
				if ((this._VenCode != value))
				{
					this.OnVenCodeChanging(value);
					this.SendPropertyChanging();
					this._VenCode = value;
					this.SendPropertyChanged("VenCode");
					this.OnVenCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_VenName", DbType="NVarChar(50)")]
		public string VenName
		{
			get
			{
				return this._VenName;
			}
			set
			{
				if ((this._VenName != value))
				{
					this.OnVenNameChanging(value);
					this.SendPropertyChanging();
					this._VenName = value;
					this.SendPropertyChanged("VenName");
					this.OnVenNameChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Sys_SRM_Items")]
	public partial class Sys_SRM_Items : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _F_Id;
		
		private string _F_ParentId;
		
		private string _F_EnCode;
		
		private string _F_FullName;
		
		private System.Nullable<bool> _F_IsTree;
		
		private System.Nullable<int> _F_Layers;
		
		private System.Nullable<int> _F_SortCode;
		
		private System.Nullable<bool> _F_DeleteMark;
		
		private System.Nullable<bool> _F_EnabledMark;
		
		private string _F_Description;
		
		private System.Nullable<System.DateTime> _F_CreatorTime;
		
		private string _F_CreatorUserId;
		
		private System.Nullable<System.DateTime> _F_LastModifyTime;
		
		private string _F_LastModifyUserId;
		
		private System.Nullable<System.DateTime> _F_DeleteTime;
		
		private string _F_DeleteUserId;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnF_IdChanging(string value);
    partial void OnF_IdChanged();
    partial void OnF_ParentIdChanging(string value);
    partial void OnF_ParentIdChanged();
    partial void OnF_EnCodeChanging(string value);
    partial void OnF_EnCodeChanged();
    partial void OnF_FullNameChanging(string value);
    partial void OnF_FullNameChanged();
    partial void OnF_IsTreeChanging(System.Nullable<bool> value);
    partial void OnF_IsTreeChanged();
    partial void OnF_LayersChanging(System.Nullable<int> value);
    partial void OnF_LayersChanged();
    partial void OnF_SortCodeChanging(System.Nullable<int> value);
    partial void OnF_SortCodeChanged();
    partial void OnF_DeleteMarkChanging(System.Nullable<bool> value);
    partial void OnF_DeleteMarkChanged();
    partial void OnF_EnabledMarkChanging(System.Nullable<bool> value);
    partial void OnF_EnabledMarkChanged();
    partial void OnF_DescriptionChanging(string value);
    partial void OnF_DescriptionChanged();
    partial void OnF_CreatorTimeChanging(System.Nullable<System.DateTime> value);
    partial void OnF_CreatorTimeChanged();
    partial void OnF_CreatorUserIdChanging(string value);
    partial void OnF_CreatorUserIdChanged();
    partial void OnF_LastModifyTimeChanging(System.Nullable<System.DateTime> value);
    partial void OnF_LastModifyTimeChanged();
    partial void OnF_LastModifyUserIdChanging(string value);
    partial void OnF_LastModifyUserIdChanged();
    partial void OnF_DeleteTimeChanging(System.Nullable<System.DateTime> value);
    partial void OnF_DeleteTimeChanged();
    partial void OnF_DeleteUserIdChanging(string value);
    partial void OnF_DeleteUserIdChanged();
    #endregion
		
		public Sys_SRM_Items()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_Id", DbType="VarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string F_Id
		{
			get
			{
				return this._F_Id;
			}
			set
			{
				if ((this._F_Id != value))
				{
					this.OnF_IdChanging(value);
					this.SendPropertyChanging();
					this._F_Id = value;
					this.SendPropertyChanged("F_Id");
					this.OnF_IdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_ParentId", DbType="VarChar(50)")]
		public string F_ParentId
		{
			get
			{
				return this._F_ParentId;
			}
			set
			{
				if ((this._F_ParentId != value))
				{
					this.OnF_ParentIdChanging(value);
					this.SendPropertyChanging();
					this._F_ParentId = value;
					this.SendPropertyChanged("F_ParentId");
					this.OnF_ParentIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_EnCode", DbType="VarChar(50)")]
		public string F_EnCode
		{
			get
			{
				return this._F_EnCode;
			}
			set
			{
				if ((this._F_EnCode != value))
				{
					this.OnF_EnCodeChanging(value);
					this.SendPropertyChanging();
					this._F_EnCode = value;
					this.SendPropertyChanged("F_EnCode");
					this.OnF_EnCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_FullName", DbType="VarChar(50)")]
		public string F_FullName
		{
			get
			{
				return this._F_FullName;
			}
			set
			{
				if ((this._F_FullName != value))
				{
					this.OnF_FullNameChanging(value);
					this.SendPropertyChanging();
					this._F_FullName = value;
					this.SendPropertyChanged("F_FullName");
					this.OnF_FullNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_IsTree", DbType="Bit")]
		public System.Nullable<bool> F_IsTree
		{
			get
			{
				return this._F_IsTree;
			}
			set
			{
				if ((this._F_IsTree != value))
				{
					this.OnF_IsTreeChanging(value);
					this.SendPropertyChanging();
					this._F_IsTree = value;
					this.SendPropertyChanged("F_IsTree");
					this.OnF_IsTreeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_Layers", DbType="Int")]
		public System.Nullable<int> F_Layers
		{
			get
			{
				return this._F_Layers;
			}
			set
			{
				if ((this._F_Layers != value))
				{
					this.OnF_LayersChanging(value);
					this.SendPropertyChanging();
					this._F_Layers = value;
					this.SendPropertyChanged("F_Layers");
					this.OnF_LayersChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_SortCode", DbType="Int")]
		public System.Nullable<int> F_SortCode
		{
			get
			{
				return this._F_SortCode;
			}
			set
			{
				if ((this._F_SortCode != value))
				{
					this.OnF_SortCodeChanging(value);
					this.SendPropertyChanging();
					this._F_SortCode = value;
					this.SendPropertyChanged("F_SortCode");
					this.OnF_SortCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_DeleteMark", DbType="Bit")]
		public System.Nullable<bool> F_DeleteMark
		{
			get
			{
				return this._F_DeleteMark;
			}
			set
			{
				if ((this._F_DeleteMark != value))
				{
					this.OnF_DeleteMarkChanging(value);
					this.SendPropertyChanging();
					this._F_DeleteMark = value;
					this.SendPropertyChanged("F_DeleteMark");
					this.OnF_DeleteMarkChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_EnabledMark", DbType="Bit")]
		public System.Nullable<bool> F_EnabledMark
		{
			get
			{
				return this._F_EnabledMark;
			}
			set
			{
				if ((this._F_EnabledMark != value))
				{
					this.OnF_EnabledMarkChanging(value);
					this.SendPropertyChanging();
					this._F_EnabledMark = value;
					this.SendPropertyChanged("F_EnabledMark");
					this.OnF_EnabledMarkChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_Description", DbType="VarChar(500)")]
		public string F_Description
		{
			get
			{
				return this._F_Description;
			}
			set
			{
				if ((this._F_Description != value))
				{
					this.OnF_DescriptionChanging(value);
					this.SendPropertyChanging();
					this._F_Description = value;
					this.SendPropertyChanged("F_Description");
					this.OnF_DescriptionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_CreatorTime", DbType="DateTime")]
		public System.Nullable<System.DateTime> F_CreatorTime
		{
			get
			{
				return this._F_CreatorTime;
			}
			set
			{
				if ((this._F_CreatorTime != value))
				{
					this.OnF_CreatorTimeChanging(value);
					this.SendPropertyChanging();
					this._F_CreatorTime = value;
					this.SendPropertyChanged("F_CreatorTime");
					this.OnF_CreatorTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_CreatorUserId", DbType="VarChar(50)")]
		public string F_CreatorUserId
		{
			get
			{
				return this._F_CreatorUserId;
			}
			set
			{
				if ((this._F_CreatorUserId != value))
				{
					this.OnF_CreatorUserIdChanging(value);
					this.SendPropertyChanging();
					this._F_CreatorUserId = value;
					this.SendPropertyChanged("F_CreatorUserId");
					this.OnF_CreatorUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_LastModifyTime", DbType="DateTime")]
		public System.Nullable<System.DateTime> F_LastModifyTime
		{
			get
			{
				return this._F_LastModifyTime;
			}
			set
			{
				if ((this._F_LastModifyTime != value))
				{
					this.OnF_LastModifyTimeChanging(value);
					this.SendPropertyChanging();
					this._F_LastModifyTime = value;
					this.SendPropertyChanged("F_LastModifyTime");
					this.OnF_LastModifyTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_LastModifyUserId", DbType="VarChar(50)")]
		public string F_LastModifyUserId
		{
			get
			{
				return this._F_LastModifyUserId;
			}
			set
			{
				if ((this._F_LastModifyUserId != value))
				{
					this.OnF_LastModifyUserIdChanging(value);
					this.SendPropertyChanging();
					this._F_LastModifyUserId = value;
					this.SendPropertyChanged("F_LastModifyUserId");
					this.OnF_LastModifyUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_DeleteTime", DbType="DateTime")]
		public System.Nullable<System.DateTime> F_DeleteTime
		{
			get
			{
				return this._F_DeleteTime;
			}
			set
			{
				if ((this._F_DeleteTime != value))
				{
					this.OnF_DeleteTimeChanging(value);
					this.SendPropertyChanging();
					this._F_DeleteTime = value;
					this.SendPropertyChanged("F_DeleteTime");
					this.OnF_DeleteTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_DeleteUserId", DbType="VarChar(50)")]
		public string F_DeleteUserId
		{
			get
			{
				return this._F_DeleteUserId;
			}
			set
			{
				if ((this._F_DeleteUserId != value))
				{
					this.OnF_DeleteUserIdChanging(value);
					this.SendPropertyChanging();
					this._F_DeleteUserId = value;
					this.SendPropertyChanged("F_DeleteUserId");
					this.OnF_DeleteUserIdChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Sys_SRM_ItemsDetail")]
	public partial class Sys_SRM_ItemsDetail : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _F_Id;
		
		private string _F_ItemId;
		
		private string _F_ParentId;
		
		private string _F_ItemCode;
		
		private string _F_ItemName;
		
		private string _F_SimpleSpelling;
		
		private System.Nullable<bool> _F_IsDefault;
		
		private System.Nullable<int> _F_Layers;
		
		private System.Nullable<int> _F_SortCode;
		
		private System.Nullable<bool> _F_DeleteMark;
		
		private System.Nullable<bool> _F_EnabledMark;
		
		private string _F_Description;
		
		private System.Nullable<System.DateTime> _F_CreatorTime;
		
		private string _F_CreatorUserId;
		
		private System.Nullable<System.DateTime> _F_LastModifyTime;
		
		private string _F_LastModifyUserId;
		
		private System.Nullable<System.DateTime> _F_DeleteTime;
		
		private string _F_DeleteUserId;
		
		private string _F_Define1;
		
		private string _F_Define2;
		
		private string _F_Define3;
		
		private string _F_Define4;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnF_IdChanging(string value);
    partial void OnF_IdChanged();
    partial void OnF_ItemIdChanging(string value);
    partial void OnF_ItemIdChanged();
    partial void OnF_ParentIdChanging(string value);
    partial void OnF_ParentIdChanged();
    partial void OnF_ItemCodeChanging(string value);
    partial void OnF_ItemCodeChanged();
    partial void OnF_ItemNameChanging(string value);
    partial void OnF_ItemNameChanged();
    partial void OnF_SimpleSpellingChanging(string value);
    partial void OnF_SimpleSpellingChanged();
    partial void OnF_IsDefaultChanging(System.Nullable<bool> value);
    partial void OnF_IsDefaultChanged();
    partial void OnF_LayersChanging(System.Nullable<int> value);
    partial void OnF_LayersChanged();
    partial void OnF_SortCodeChanging(System.Nullable<int> value);
    partial void OnF_SortCodeChanged();
    partial void OnF_DeleteMarkChanging(System.Nullable<bool> value);
    partial void OnF_DeleteMarkChanged();
    partial void OnF_EnabledMarkChanging(System.Nullable<bool> value);
    partial void OnF_EnabledMarkChanged();
    partial void OnF_DescriptionChanging(string value);
    partial void OnF_DescriptionChanged();
    partial void OnF_CreatorTimeChanging(System.Nullable<System.DateTime> value);
    partial void OnF_CreatorTimeChanged();
    partial void OnF_CreatorUserIdChanging(string value);
    partial void OnF_CreatorUserIdChanged();
    partial void OnF_LastModifyTimeChanging(System.Nullable<System.DateTime> value);
    partial void OnF_LastModifyTimeChanged();
    partial void OnF_LastModifyUserIdChanging(string value);
    partial void OnF_LastModifyUserIdChanged();
    partial void OnF_DeleteTimeChanging(System.Nullable<System.DateTime> value);
    partial void OnF_DeleteTimeChanged();
    partial void OnF_DeleteUserIdChanging(string value);
    partial void OnF_DeleteUserIdChanged();
    partial void OnF_Define1Changing(string value);
    partial void OnF_Define1Changed();
    partial void OnF_Define2Changing(string value);
    partial void OnF_Define2Changed();
    partial void OnF_Define3Changing(string value);
    partial void OnF_Define3Changed();
    partial void OnF_Define4Changing(string value);
    partial void OnF_Define4Changed();
    #endregion
		
		public Sys_SRM_ItemsDetail()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_Id", DbType="VarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string F_Id
		{
			get
			{
				return this._F_Id;
			}
			set
			{
				if ((this._F_Id != value))
				{
					this.OnF_IdChanging(value);
					this.SendPropertyChanging();
					this._F_Id = value;
					this.SendPropertyChanged("F_Id");
					this.OnF_IdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_ItemId", DbType="VarChar(50)")]
		public string F_ItemId
		{
			get
			{
				return this._F_ItemId;
			}
			set
			{
				if ((this._F_ItemId != value))
				{
					this.OnF_ItemIdChanging(value);
					this.SendPropertyChanging();
					this._F_ItemId = value;
					this.SendPropertyChanged("F_ItemId");
					this.OnF_ItemIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_ParentId", DbType="VarChar(50)")]
		public string F_ParentId
		{
			get
			{
				return this._F_ParentId;
			}
			set
			{
				if ((this._F_ParentId != value))
				{
					this.OnF_ParentIdChanging(value);
					this.SendPropertyChanging();
					this._F_ParentId = value;
					this.SendPropertyChanged("F_ParentId");
					this.OnF_ParentIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_ItemCode", DbType="VarChar(50)")]
		public string F_ItemCode
		{
			get
			{
				return this._F_ItemCode;
			}
			set
			{
				if ((this._F_ItemCode != value))
				{
					this.OnF_ItemCodeChanging(value);
					this.SendPropertyChanging();
					this._F_ItemCode = value;
					this.SendPropertyChanged("F_ItemCode");
					this.OnF_ItemCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_ItemName", DbType="VarChar(50)")]
		public string F_ItemName
		{
			get
			{
				return this._F_ItemName;
			}
			set
			{
				if ((this._F_ItemName != value))
				{
					this.OnF_ItemNameChanging(value);
					this.SendPropertyChanging();
					this._F_ItemName = value;
					this.SendPropertyChanged("F_ItemName");
					this.OnF_ItemNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_SimpleSpelling", DbType="VarChar(500)")]
		public string F_SimpleSpelling
		{
			get
			{
				return this._F_SimpleSpelling;
			}
			set
			{
				if ((this._F_SimpleSpelling != value))
				{
					this.OnF_SimpleSpellingChanging(value);
					this.SendPropertyChanging();
					this._F_SimpleSpelling = value;
					this.SendPropertyChanged("F_SimpleSpelling");
					this.OnF_SimpleSpellingChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_IsDefault", DbType="Bit")]
		public System.Nullable<bool> F_IsDefault
		{
			get
			{
				return this._F_IsDefault;
			}
			set
			{
				if ((this._F_IsDefault != value))
				{
					this.OnF_IsDefaultChanging(value);
					this.SendPropertyChanging();
					this._F_IsDefault = value;
					this.SendPropertyChanged("F_IsDefault");
					this.OnF_IsDefaultChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_Layers", DbType="Int")]
		public System.Nullable<int> F_Layers
		{
			get
			{
				return this._F_Layers;
			}
			set
			{
				if ((this._F_Layers != value))
				{
					this.OnF_LayersChanging(value);
					this.SendPropertyChanging();
					this._F_Layers = value;
					this.SendPropertyChanged("F_Layers");
					this.OnF_LayersChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_SortCode", DbType="Int")]
		public System.Nullable<int> F_SortCode
		{
			get
			{
				return this._F_SortCode;
			}
			set
			{
				if ((this._F_SortCode != value))
				{
					this.OnF_SortCodeChanging(value);
					this.SendPropertyChanging();
					this._F_SortCode = value;
					this.SendPropertyChanged("F_SortCode");
					this.OnF_SortCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_DeleteMark", DbType="Bit")]
		public System.Nullable<bool> F_DeleteMark
		{
			get
			{
				return this._F_DeleteMark;
			}
			set
			{
				if ((this._F_DeleteMark != value))
				{
					this.OnF_DeleteMarkChanging(value);
					this.SendPropertyChanging();
					this._F_DeleteMark = value;
					this.SendPropertyChanged("F_DeleteMark");
					this.OnF_DeleteMarkChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_EnabledMark", DbType="Bit")]
		public System.Nullable<bool> F_EnabledMark
		{
			get
			{
				return this._F_EnabledMark;
			}
			set
			{
				if ((this._F_EnabledMark != value))
				{
					this.OnF_EnabledMarkChanging(value);
					this.SendPropertyChanging();
					this._F_EnabledMark = value;
					this.SendPropertyChanged("F_EnabledMark");
					this.OnF_EnabledMarkChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_Description", DbType="VarChar(500)")]
		public string F_Description
		{
			get
			{
				return this._F_Description;
			}
			set
			{
				if ((this._F_Description != value))
				{
					this.OnF_DescriptionChanging(value);
					this.SendPropertyChanging();
					this._F_Description = value;
					this.SendPropertyChanged("F_Description");
					this.OnF_DescriptionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_CreatorTime", DbType="DateTime")]
		public System.Nullable<System.DateTime> F_CreatorTime
		{
			get
			{
				return this._F_CreatorTime;
			}
			set
			{
				if ((this._F_CreatorTime != value))
				{
					this.OnF_CreatorTimeChanging(value);
					this.SendPropertyChanging();
					this._F_CreatorTime = value;
					this.SendPropertyChanged("F_CreatorTime");
					this.OnF_CreatorTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_CreatorUserId", DbType="VarChar(50)")]
		public string F_CreatorUserId
		{
			get
			{
				return this._F_CreatorUserId;
			}
			set
			{
				if ((this._F_CreatorUserId != value))
				{
					this.OnF_CreatorUserIdChanging(value);
					this.SendPropertyChanging();
					this._F_CreatorUserId = value;
					this.SendPropertyChanged("F_CreatorUserId");
					this.OnF_CreatorUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_LastModifyTime", DbType="DateTime")]
		public System.Nullable<System.DateTime> F_LastModifyTime
		{
			get
			{
				return this._F_LastModifyTime;
			}
			set
			{
				if ((this._F_LastModifyTime != value))
				{
					this.OnF_LastModifyTimeChanging(value);
					this.SendPropertyChanging();
					this._F_LastModifyTime = value;
					this.SendPropertyChanged("F_LastModifyTime");
					this.OnF_LastModifyTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_LastModifyUserId", DbType="VarChar(50)")]
		public string F_LastModifyUserId
		{
			get
			{
				return this._F_LastModifyUserId;
			}
			set
			{
				if ((this._F_LastModifyUserId != value))
				{
					this.OnF_LastModifyUserIdChanging(value);
					this.SendPropertyChanging();
					this._F_LastModifyUserId = value;
					this.SendPropertyChanged("F_LastModifyUserId");
					this.OnF_LastModifyUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_DeleteTime", DbType="DateTime")]
		public System.Nullable<System.DateTime> F_DeleteTime
		{
			get
			{
				return this._F_DeleteTime;
			}
			set
			{
				if ((this._F_DeleteTime != value))
				{
					this.OnF_DeleteTimeChanging(value);
					this.SendPropertyChanging();
					this._F_DeleteTime = value;
					this.SendPropertyChanged("F_DeleteTime");
					this.OnF_DeleteTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_DeleteUserId", DbType="VarChar(50)")]
		public string F_DeleteUserId
		{
			get
			{
				return this._F_DeleteUserId;
			}
			set
			{
				if ((this._F_DeleteUserId != value))
				{
					this.OnF_DeleteUserIdChanging(value);
					this.SendPropertyChanging();
					this._F_DeleteUserId = value;
					this.SendPropertyChanged("F_DeleteUserId");
					this.OnF_DeleteUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_Define1", DbType="VarChar(150)")]
		public string F_Define1
		{
			get
			{
				return this._F_Define1;
			}
			set
			{
				if ((this._F_Define1 != value))
				{
					this.OnF_Define1Changing(value);
					this.SendPropertyChanging();
					this._F_Define1 = value;
					this.SendPropertyChanged("F_Define1");
					this.OnF_Define1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_Define2", DbType="VarChar(150)")]
		public string F_Define2
		{
			get
			{
				return this._F_Define2;
			}
			set
			{
				if ((this._F_Define2 != value))
				{
					this.OnF_Define2Changing(value);
					this.SendPropertyChanging();
					this._F_Define2 = value;
					this.SendPropertyChanged("F_Define2");
					this.OnF_Define2Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_Define3", DbType="VarChar(150)")]
		public string F_Define3
		{
			get
			{
				return this._F_Define3;
			}
			set
			{
				if ((this._F_Define3 != value))
				{
					this.OnF_Define3Changing(value);
					this.SendPropertyChanging();
					this._F_Define3 = value;
					this.SendPropertyChanged("F_Define3");
					this.OnF_Define3Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_F_Define4", DbType="VarChar(150)")]
		public string F_Define4
		{
			get
			{
				return this._F_Define4;
			}
			set
			{
				if ((this._F_Define4 != value))
				{
					this.OnF_Define4Changing(value);
					this.SendPropertyChanging();
					this._F_Define4 = value;
					this.SendPropertyChanged("F_Define4");
					this.OnF_Define4Changed();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSWMS_HGLog")]
	public partial class ICSWMS_HGLog : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private System.Nullable<System.DateTime> _MTIME;
		
		private string _InputJSON;
		
		private string _ReturnResult;
		
		private string _WorkPoint;
		
		private string _MUSER;
		
		private string _MUSERNAME;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnMTIMEChanging(System.Nullable<System.DateTime> value);
    partial void OnMTIMEChanged();
    partial void OnInputJSONChanging(string value);
    partial void OnInputJSONChanged();
    partial void OnReturnResultChanging(string value);
    partial void OnReturnResultChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNAMEChanging(string value);
    partial void OnMUSERNAMEChanged();
    #endregion
		
		public ICSWMS_HGLog()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime")]
		public System.Nullable<System.DateTime> MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InputJSON", DbType="NVarChar(MAX)")]
		public string InputJSON
		{
			get
			{
				return this._InputJSON;
			}
			set
			{
				if ((this._InputJSON != value))
				{
					this.OnInputJSONChanging(value);
					this.SendPropertyChanging();
					this._InputJSON = value;
					this.SendPropertyChanged("InputJSON");
					this.OnInputJSONChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReturnResult", DbType="NVarChar(MAX)")]
		public string ReturnResult
		{
			get
			{
				return this._ReturnResult;
			}
			set
			{
				if ((this._ReturnResult != value))
				{
					this.OnReturnResultChanging(value);
					this.SendPropertyChanging();
					this._ReturnResult = value;
					this.SendPropertyChanged("ReturnResult");
					this.OnReturnResultChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(10)")]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(20)")]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERNAME", DbType="NVarChar(20)")]
		public string MUSERNAME
		{
			get
			{
				return this._MUSERNAME;
			}
			set
			{
				if ((this._MUSERNAME != value))
				{
					this.OnMUSERNAMEChanging(value);
					this.SendPropertyChanging();
					this._MUSERNAME = value;
					this.SendPropertyChanged("MUSERNAME");
					this.OnMUSERNAMEChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSMTDOC")]
	public partial class ICSMTDOC : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _MTDOCCode;
		
		private string _DepCode;
		
		private string _WHCode;
		
		private string _Sequence;
		
		private string _INVCode;
		
		private string _SOCode;
		
		private string _SOSequence;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private System.Nullable<decimal> _MTDOCQuantity;
		
		private string _MTDOCType;
		
		private string _Memo;
		
		private string _Status;
		
		private string _CreatePerson;
		
		private System.DateTime _CreateDateTime;
		
		private string _MTDOCID;
		
		private string _MTDOCDetailID;
		
		private string _ExtensionID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
		private string _SAPSequence;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnMTDOCCodeChanging(string value);
    partial void OnMTDOCCodeChanged();
    partial void OnDepCodeChanging(string value);
    partial void OnDepCodeChanged();
    partial void OnWHCodeChanging(string value);
    partial void OnWHCodeChanged();
    partial void OnSequenceChanging(string value);
    partial void OnSequenceChanged();
    partial void OnINVCodeChanging(string value);
    partial void OnINVCodeChanged();
    partial void OnSOCodeChanging(string value);
    partial void OnSOCodeChanged();
    partial void OnSOSequenceChanging(string value);
    partial void OnSOSequenceChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnMTDOCQuantityChanging(System.Nullable<decimal> value);
    partial void OnMTDOCQuantityChanged();
    partial void OnMTDOCTypeChanging(string value);
    partial void OnMTDOCTypeChanged();
    partial void OnMemoChanging(string value);
    partial void OnMemoChanged();
    partial void OnStatusChanging(string value);
    partial void OnStatusChanged();
    partial void OnCreatePersonChanging(string value);
    partial void OnCreatePersonChanged();
    partial void OnCreateDateTimeChanging(System.DateTime value);
    partial void OnCreateDateTimeChanged();
    partial void OnMTDOCIDChanging(string value);
    partial void OnMTDOCIDChanged();
    partial void OnMTDOCDetailIDChanging(string value);
    partial void OnMTDOCDetailIDChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnSAPSequenceChanging(string value);
    partial void OnSAPSequenceChanged();
    #endregion
		
		public ICSMTDOC()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTDOCCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MTDOCCode
		{
			get
			{
				return this._MTDOCCode;
			}
			set
			{
				if ((this._MTDOCCode != value))
				{
					this.OnMTDOCCodeChanging(value);
					this.SendPropertyChanging();
					this._MTDOCCode = value;
					this.SendPropertyChanged("MTDOCCode");
					this.OnMTDOCCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DepCode", DbType="NVarChar(50)")]
		public string DepCode
		{
			get
			{
				return this._DepCode;
			}
			set
			{
				if ((this._DepCode != value))
				{
					this.OnDepCodeChanging(value);
					this.SendPropertyChanging();
					this._DepCode = value;
					this.SendPropertyChanged("DepCode");
					this.OnDepCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WHCode
		{
			get
			{
				return this._WHCode;
			}
			set
			{
				if ((this._WHCode != value))
				{
					this.OnWHCodeChanging(value);
					this.SendPropertyChanging();
					this._WHCode = value;
					this.SendPropertyChanged("WHCode");
					this.OnWHCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sequence", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string Sequence
		{
			get
			{
				return this._Sequence;
			}
			set
			{
				if ((this._Sequence != value))
				{
					this.OnSequenceChanging(value);
					this.SendPropertyChanging();
					this._Sequence = value;
					this.SendPropertyChanged("Sequence");
					this.OnSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_INVCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string INVCode
		{
			get
			{
				return this._INVCode;
			}
			set
			{
				if ((this._INVCode != value))
				{
					this.OnINVCodeChanging(value);
					this.SendPropertyChanging();
					this._INVCode = value;
					this.SendPropertyChanged("INVCode");
					this.OnINVCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SOCode", DbType="NVarChar(50)")]
		public string SOCode
		{
			get
			{
				return this._SOCode;
			}
			set
			{
				if ((this._SOCode != value))
				{
					this.OnSOCodeChanging(value);
					this.SendPropertyChanging();
					this._SOCode = value;
					this.SendPropertyChanged("SOCode");
					this.OnSOCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SOSequence", DbType="NVarChar(50)")]
		public string SOSequence
		{
			get
			{
				return this._SOSequence;
			}
			set
			{
				if ((this._SOSequence != value))
				{
					this.OnSOSequenceChanging(value);
					this.SendPropertyChanging();
					this._SOSequence = value;
					this.SendPropertyChanged("SOSequence");
					this.OnSOSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,3) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTDOCQuantity", DbType="Decimal(18,2)")]
		public System.Nullable<decimal> MTDOCQuantity
		{
			get
			{
				return this._MTDOCQuantity;
			}
			set
			{
				if ((this._MTDOCQuantity != value))
				{
					this.OnMTDOCQuantityChanging(value);
					this.SendPropertyChanging();
					this._MTDOCQuantity = value;
					this.SendPropertyChanged("MTDOCQuantity");
					this.OnMTDOCQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTDOCType", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MTDOCType
		{
			get
			{
				return this._MTDOCType;
			}
			set
			{
				if ((this._MTDOCType != value))
				{
					this.OnMTDOCTypeChanging(value);
					this.SendPropertyChanging();
					this._MTDOCType = value;
					this.SendPropertyChanged("MTDOCType");
					this.OnMTDOCTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Memo", DbType="NVarChar(500)")]
		public string Memo
		{
			get
			{
				return this._Memo;
			}
			set
			{
				if ((this._Memo != value))
				{
					this.OnMemoChanging(value);
					this.SendPropertyChanging();
					this._Memo = value;
					this.SendPropertyChanged("Memo");
					this.OnMemoChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="NVarChar(10) NOT NULL", CanBeNull=false)]
		public string Status
		{
			get
			{
				return this._Status;
			}
			set
			{
				if ((this._Status != value))
				{
					this.OnStatusChanging(value);
					this.SendPropertyChanging();
					this._Status = value;
					this.SendPropertyChanged("Status");
					this.OnStatusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatePerson", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CreatePerson
		{
			get
			{
				return this._CreatePerson;
			}
			set
			{
				if ((this._CreatePerson != value))
				{
					this.OnCreatePersonChanging(value);
					this.SendPropertyChanging();
					this._CreatePerson = value;
					this.SendPropertyChanged("CreatePerson");
					this.OnCreatePersonChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDateTime", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDateTime
		{
			get
			{
				return this._CreateDateTime;
			}
			set
			{
				if ((this._CreateDateTime != value))
				{
					this.OnCreateDateTimeChanging(value);
					this.SendPropertyChanging();
					this._CreateDateTime = value;
					this.SendPropertyChanged("CreateDateTime");
					this.OnCreateDateTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTDOCID", DbType="NVarChar(50)")]
		public string MTDOCID
		{
			get
			{
				return this._MTDOCID;
			}
			set
			{
				if ((this._MTDOCID != value))
				{
					this.OnMTDOCIDChanging(value);
					this.SendPropertyChanging();
					this._MTDOCID = value;
					this.SendPropertyChanged("MTDOCID");
					this.OnMTDOCIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTDOCDetailID", DbType="NVarChar(50)")]
		public string MTDOCDetailID
		{
			get
			{
				return this._MTDOCDetailID;
			}
			set
			{
				if ((this._MTDOCDetailID != value))
				{
					this.OnMTDOCDetailIDChanging(value);
					this.SendPropertyChanging();
					this._MTDOCDetailID = value;
					this.SendPropertyChanged("MTDOCDetailID");
					this.OnMTDOCDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SAPSequence", DbType="VarChar(50)")]
		public string SAPSequence
		{
			get
			{
				return this._SAPSequence;
			}
			set
			{
				if ((this._SAPSequence != value))
				{
					this.OnSAPSequenceChanging(value);
					this.SendPropertyChanging();
					this._SAPSequence = value;
					this.SendPropertyChanged("SAPSequence");
					this.OnSAPSequenceChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSInventoryDetail")]
	public partial class ICSInventoryDetail : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _INVCode;
		
		private string _WHCode;
		
		private string _LocationCode;
		
		private string _WorkPoint;
		
		private string _MUSER;
		
		private string _MUSERNAME;
		
		private System.Nullable<System.DateTime> _MTIME;
		
		private string _EATTRIBUTE1;
		
		private string _EATTRIBUTE2;
		
		private string _EATTRIBUTE3;
		
		private string _EATTRIBUTE4;
		
		private string _EATTRIBUTE5;
		
		private string _EATTRIBUTE6;
		
		private string _EATTRIBUTE7;
		
		private string _EATTRIBUTE8;
		
		private string _EATTRIBUTE9;
		
		private string _EATTRIBUTE10;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnINVCodeChanging(string value);
    partial void OnINVCodeChanged();
    partial void OnWHCodeChanging(string value);
    partial void OnWHCodeChanged();
    partial void OnLocationCodeChanging(string value);
    partial void OnLocationCodeChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNAMEChanging(string value);
    partial void OnMUSERNAMEChanged();
    partial void OnMTIMEChanging(System.Nullable<System.DateTime> value);
    partial void OnMTIMEChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnEATTRIBUTE2Changing(string value);
    partial void OnEATTRIBUTE2Changed();
    partial void OnEATTRIBUTE3Changing(string value);
    partial void OnEATTRIBUTE3Changed();
    partial void OnEATTRIBUTE4Changing(string value);
    partial void OnEATTRIBUTE4Changed();
    partial void OnEATTRIBUTE5Changing(string value);
    partial void OnEATTRIBUTE5Changed();
    partial void OnEATTRIBUTE6Changing(string value);
    partial void OnEATTRIBUTE6Changed();
    partial void OnEATTRIBUTE7Changing(string value);
    partial void OnEATTRIBUTE7Changed();
    partial void OnEATTRIBUTE8Changing(string value);
    partial void OnEATTRIBUTE8Changed();
    partial void OnEATTRIBUTE9Changing(string value);
    partial void OnEATTRIBUTE9Changed();
    partial void OnEATTRIBUTE10Changing(string value);
    partial void OnEATTRIBUTE10Changed();
    #endregion
		
		public ICSInventoryDetail()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_INVCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string INVCode
		{
			get
			{
				return this._INVCode;
			}
			set
			{
				if ((this._INVCode != value))
				{
					this.OnINVCodeChanging(value);
					this.SendPropertyChanging();
					this._INVCode = value;
					this.SendPropertyChanged("INVCode");
					this.OnINVCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WHCode
		{
			get
			{
				return this._WHCode;
			}
			set
			{
				if ((this._WHCode != value))
				{
					this.OnWHCodeChanging(value);
					this.SendPropertyChanging();
					this._WHCode = value;
					this.SendPropertyChanged("WHCode");
					this.OnWHCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LocationCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string LocationCode
		{
			get
			{
				return this._LocationCode;
			}
			set
			{
				if ((this._LocationCode != value))
				{
					this.OnLocationCodeChanging(value);
					this.SendPropertyChanging();
					this._LocationCode = value;
					this.SendPropertyChanged("LocationCode");
					this.OnLocationCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50)")]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(20)")]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERNAME", DbType="NVarChar(20)")]
		public string MUSERNAME
		{
			get
			{
				return this._MUSERNAME;
			}
			set
			{
				if ((this._MUSERNAME != value))
				{
					this.OnMUSERNAMEChanging(value);
					this.SendPropertyChanging();
					this._MUSERNAME = value;
					this.SendPropertyChanged("MUSERNAME");
					this.OnMUSERNAMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime")]
		public System.Nullable<System.DateTime> MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50)")]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE2", DbType="NVarChar(50)")]
		public string EATTRIBUTE2
		{
			get
			{
				return this._EATTRIBUTE2;
			}
			set
			{
				if ((this._EATTRIBUTE2 != value))
				{
					this.OnEATTRIBUTE2Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE2 = value;
					this.SendPropertyChanged("EATTRIBUTE2");
					this.OnEATTRIBUTE2Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE3", DbType="NVarChar(50)")]
		public string EATTRIBUTE3
		{
			get
			{
				return this._EATTRIBUTE3;
			}
			set
			{
				if ((this._EATTRIBUTE3 != value))
				{
					this.OnEATTRIBUTE3Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE3 = value;
					this.SendPropertyChanged("EATTRIBUTE3");
					this.OnEATTRIBUTE3Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE4", DbType="NVarChar(50)")]
		public string EATTRIBUTE4
		{
			get
			{
				return this._EATTRIBUTE4;
			}
			set
			{
				if ((this._EATTRIBUTE4 != value))
				{
					this.OnEATTRIBUTE4Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE4 = value;
					this.SendPropertyChanged("EATTRIBUTE4");
					this.OnEATTRIBUTE4Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE5", DbType="NVarChar(50)")]
		public string EATTRIBUTE5
		{
			get
			{
				return this._EATTRIBUTE5;
			}
			set
			{
				if ((this._EATTRIBUTE5 != value))
				{
					this.OnEATTRIBUTE5Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE5 = value;
					this.SendPropertyChanged("EATTRIBUTE5");
					this.OnEATTRIBUTE5Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE6", DbType="NVarChar(50)")]
		public string EATTRIBUTE6
		{
			get
			{
				return this._EATTRIBUTE6;
			}
			set
			{
				if ((this._EATTRIBUTE6 != value))
				{
					this.OnEATTRIBUTE6Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE6 = value;
					this.SendPropertyChanged("EATTRIBUTE6");
					this.OnEATTRIBUTE6Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE7", DbType="NVarChar(50)")]
		public string EATTRIBUTE7
		{
			get
			{
				return this._EATTRIBUTE7;
			}
			set
			{
				if ((this._EATTRIBUTE7 != value))
				{
					this.OnEATTRIBUTE7Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE7 = value;
					this.SendPropertyChanged("EATTRIBUTE7");
					this.OnEATTRIBUTE7Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE8", DbType="NVarChar(50)")]
		public string EATTRIBUTE8
		{
			get
			{
				return this._EATTRIBUTE8;
			}
			set
			{
				if ((this._EATTRIBUTE8 != value))
				{
					this.OnEATTRIBUTE8Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE8 = value;
					this.SendPropertyChanged("EATTRIBUTE8");
					this.OnEATTRIBUTE8Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE9", DbType="NVarChar(50)")]
		public string EATTRIBUTE9
		{
			get
			{
				return this._EATTRIBUTE9;
			}
			set
			{
				if ((this._EATTRIBUTE9 != value))
				{
					this.OnEATTRIBUTE9Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE9 = value;
					this.SendPropertyChanged("EATTRIBUTE9");
					this.OnEATTRIBUTE9Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE10", DbType="NVarChar(50)")]
		public string EATTRIBUTE10
		{
			get
			{
				return this._EATTRIBUTE10;
			}
			set
			{
				if ((this._EATTRIBUTE10 != value))
				{
					this.OnEATTRIBUTE10Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE10 = value;
					this.SendPropertyChanged("EATTRIBUTE10");
					this.OnEATTRIBUTE10Changed();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.ICSDeliveryNotice")]
	public partial class ICSDeliveryNotice : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private string _ID;
		
		private string _DNCode;
		
		private string _Sequence;
		
		private string _SAPSequence;
		
		private string _VenCode;
		
		private string _DepCode;
		
		private string _DNType;
		
		private string _InvCode;
		
		private decimal _Quantity;
		
		private System.Nullable<decimal> _Amount;
		
		private System.Nullable<decimal> _RCVQuantity;
		
		private System.Nullable<decimal> _UnitPrice;
		
		private string _Currency;
		
		private string _Status;
		
		private string _CreatePerson;
		
		private System.DateTime _CreateDateTime;
		
		private string _POID;
		
		private string _PODetailID;
		
		private string _DNID;
		
		private string _DNDetailID;
		
		private string _ExtensionID;
		
		private string _MUSER;
		
		private string _MUSERName;
		
		private System.DateTime _MTIME;
		
		private string _WorkPoint;
		
		private string _EATTRIBUTE1;
		
		private string _ASNCode;
		
		private string _WHCode;
		
		private string _InspectionType;
		
		private string _InvoDescribe;
		
		private string _StockIndicator;
		
		private string _DepositArea;
		
		private string _Unity;
		
		private string _ModificationDate;
		
		private string _TrackingNumber;
		
		private string _NonconformingForm;
		
		private string _EATTRIBUTE2;
		
		private string _EATTRIBUTE3;
		
		private string _EATTRIBUTE4;
		
    #region 可扩展性方法定义
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(string value);
    partial void OnIDChanged();
    partial void OnDNCodeChanging(string value);
    partial void OnDNCodeChanged();
    partial void OnSequenceChanging(string value);
    partial void OnSequenceChanged();
    partial void OnSAPSequenceChanging(string value);
    partial void OnSAPSequenceChanged();
    partial void OnVenCodeChanging(string value);
    partial void OnVenCodeChanged();
    partial void OnDepCodeChanging(string value);
    partial void OnDepCodeChanged();
    partial void OnDNTypeChanging(string value);
    partial void OnDNTypeChanged();
    partial void OnInvCodeChanging(string value);
    partial void OnInvCodeChanged();
    partial void OnQuantityChanging(decimal value);
    partial void OnQuantityChanged();
    partial void OnAmountChanging(System.Nullable<decimal> value);
    partial void OnAmountChanged();
    partial void OnRCVQuantityChanging(System.Nullable<decimal> value);
    partial void OnRCVQuantityChanged();
    partial void OnUnitPriceChanging(System.Nullable<decimal> value);
    partial void OnUnitPriceChanged();
    partial void OnCurrencyChanging(string value);
    partial void OnCurrencyChanged();
    partial void OnStatusChanging(string value);
    partial void OnStatusChanged();
    partial void OnCreatePersonChanging(string value);
    partial void OnCreatePersonChanged();
    partial void OnCreateDateTimeChanging(System.DateTime value);
    partial void OnCreateDateTimeChanged();
    partial void OnPOIDChanging(string value);
    partial void OnPOIDChanged();
    partial void OnPODetailIDChanging(string value);
    partial void OnPODetailIDChanged();
    partial void OnDNIDChanging(string value);
    partial void OnDNIDChanged();
    partial void OnDNDetailIDChanging(string value);
    partial void OnDNDetailIDChanged();
    partial void OnExtensionIDChanging(string value);
    partial void OnExtensionIDChanged();
    partial void OnMUSERChanging(string value);
    partial void OnMUSERChanged();
    partial void OnMUSERNameChanging(string value);
    partial void OnMUSERNameChanged();
    partial void OnMTIMEChanging(System.DateTime value);
    partial void OnMTIMEChanged();
    partial void OnWorkPointChanging(string value);
    partial void OnWorkPointChanged();
    partial void OnEATTRIBUTE1Changing(string value);
    partial void OnEATTRIBUTE1Changed();
    partial void OnASNCodeChanging(string value);
    partial void OnASNCodeChanged();
    partial void OnWHCodeChanging(string value);
    partial void OnWHCodeChanged();
    partial void OnInspectionTypeChanging(string value);
    partial void OnInspectionTypeChanged();
    partial void OnInvoDescribeChanging(string value);
    partial void OnInvoDescribeChanged();
    partial void OnStockIndicatorChanging(string value);
    partial void OnStockIndicatorChanged();
    partial void OnDepositAreaChanging(string value);
    partial void OnDepositAreaChanged();
    partial void OnUnityChanging(string value);
    partial void OnUnityChanged();
    partial void OnModificationDateChanging(string value);
    partial void OnModificationDateChanged();
    partial void OnTrackingNumberChanging(string value);
    partial void OnTrackingNumberChanged();
    partial void OnNonconformingFormChanging(string value);
    partial void OnNonconformingFormChanged();
    partial void OnEATTRIBUTE2Changing(string value);
    partial void OnEATTRIBUTE2Changed();
    partial void OnEATTRIBUTE3Changing(string value);
    partial void OnEATTRIBUTE3Changed();
    partial void OnEATTRIBUTE4Changing(string value);
    partial void OnEATTRIBUTE4Changed();
    #endregion
		
		public ICSDeliveryNotice()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
		public string ID
		{
			get
			{
				return this._ID;
			}
			set
			{
				if ((this._ID != value))
				{
					this.OnIDChanging(value);
					this.SendPropertyChanging();
					this._ID = value;
					this.SendPropertyChanged("ID");
					this.OnIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DNCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string DNCode
		{
			get
			{
				return this._DNCode;
			}
			set
			{
				if ((this._DNCode != value))
				{
					this.OnDNCodeChanging(value);
					this.SendPropertyChanging();
					this._DNCode = value;
					this.SendPropertyChanged("DNCode");
					this.OnDNCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sequence", DbType="NVarChar(50)")]
		public string Sequence
		{
			get
			{
				return this._Sequence;
			}
			set
			{
				if ((this._Sequence != value))
				{
					this.OnSequenceChanging(value);
					this.SendPropertyChanging();
					this._Sequence = value;
					this.SendPropertyChanged("Sequence");
					this.OnSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SAPSequence", DbType="NVarChar(50)")]
		public string SAPSequence
		{
			get
			{
				return this._SAPSequence;
			}
			set
			{
				if ((this._SAPSequence != value))
				{
					this.OnSAPSequenceChanging(value);
					this.SendPropertyChanging();
					this._SAPSequence = value;
					this.SendPropertyChanged("SAPSequence");
					this.OnSAPSequenceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_VenCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string VenCode
		{
			get
			{
				return this._VenCode;
			}
			set
			{
				if ((this._VenCode != value))
				{
					this.OnVenCodeChanging(value);
					this.SendPropertyChanging();
					this._VenCode = value;
					this.SendPropertyChanged("VenCode");
					this.OnVenCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DepCode", DbType="NVarChar(50)")]
		public string DepCode
		{
			get
			{
				return this._DepCode;
			}
			set
			{
				if ((this._DepCode != value))
				{
					this.OnDepCodeChanging(value);
					this.SendPropertyChanging();
					this._DepCode = value;
					this.SendPropertyChanged("DepCode");
					this.OnDepCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DNType", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string DNType
		{
			get
			{
				return this._DNType;
			}
			set
			{
				if ((this._DNType != value))
				{
					this.OnDNTypeChanging(value);
					this.SendPropertyChanging();
					this._DNType = value;
					this.SendPropertyChanged("DNType");
					this.OnDNTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string InvCode
		{
			get
			{
				return this._InvCode;
			}
			set
			{
				if ((this._InvCode != value))
				{
					this.OnInvCodeChanging(value);
					this.SendPropertyChanging();
					this._InvCode = value;
					this.SendPropertyChanged("InvCode");
					this.OnInvCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="Decimal(18,6) NOT NULL")]
		public decimal Quantity
		{
			get
			{
				return this._Quantity;
			}
			set
			{
				if ((this._Quantity != value))
				{
					this.OnQuantityChanging(value);
					this.SendPropertyChanging();
					this._Quantity = value;
					this.SendPropertyChanged("Quantity");
					this.OnQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Amount", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> Amount
		{
			get
			{
				return this._Amount;
			}
			set
			{
				if ((this._Amount != value))
				{
					this.OnAmountChanging(value);
					this.SendPropertyChanging();
					this._Amount = value;
					this.SendPropertyChanged("Amount");
					this.OnAmountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RCVQuantity", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> RCVQuantity
		{
			get
			{
				return this._RCVQuantity;
			}
			set
			{
				if ((this._RCVQuantity != value))
				{
					this.OnRCVQuantityChanging(value);
					this.SendPropertyChanging();
					this._RCVQuantity = value;
					this.SendPropertyChanged("RCVQuantity");
					this.OnRCVQuantityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitPrice", DbType="Decimal(18,6)")]
		public System.Nullable<decimal> UnitPrice
		{
			get
			{
				return this._UnitPrice;
			}
			set
			{
				if ((this._UnitPrice != value))
				{
					this.OnUnitPriceChanging(value);
					this.SendPropertyChanging();
					this._UnitPrice = value;
					this.SendPropertyChanged("UnitPrice");
					this.OnUnitPriceChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Currency", DbType="NVarChar(50)")]
		public string Currency
		{
			get
			{
				return this._Currency;
			}
			set
			{
				if ((this._Currency != value))
				{
					this.OnCurrencyChanging(value);
					this.SendPropertyChanging();
					this._Currency = value;
					this.SendPropertyChanged("Currency");
					this.OnCurrencyChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="NVarChar(50)")]
		public string Status
		{
			get
			{
				return this._Status;
			}
			set
			{
				if ((this._Status != value))
				{
					this.OnStatusChanging(value);
					this.SendPropertyChanging();
					this._Status = value;
					this.SendPropertyChanged("Status");
					this.OnStatusChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatePerson", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string CreatePerson
		{
			get
			{
				return this._CreatePerson;
			}
			set
			{
				if ((this._CreatePerson != value))
				{
					this.OnCreatePersonChanging(value);
					this.SendPropertyChanging();
					this._CreatePerson = value;
					this.SendPropertyChanged("CreatePerson");
					this.OnCreatePersonChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDateTime", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDateTime
		{
			get
			{
				return this._CreateDateTime;
			}
			set
			{
				if ((this._CreateDateTime != value))
				{
					this.OnCreateDateTimeChanging(value);
					this.SendPropertyChanging();
					this._CreateDateTime = value;
					this.SendPropertyChanged("CreateDateTime");
					this.OnCreateDateTimeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_POID", DbType="NVarChar(50)")]
		public string POID
		{
			get
			{
				return this._POID;
			}
			set
			{
				if ((this._POID != value))
				{
					this.OnPOIDChanging(value);
					this.SendPropertyChanging();
					this._POID = value;
					this.SendPropertyChanged("POID");
					this.OnPOIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PODetailID", DbType="NVarChar(50)")]
		public string PODetailID
		{
			get
			{
				return this._PODetailID;
			}
			set
			{
				if ((this._PODetailID != value))
				{
					this.OnPODetailIDChanging(value);
					this.SendPropertyChanging();
					this._PODetailID = value;
					this.SendPropertyChanged("PODetailID");
					this.OnPODetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DNID", DbType="NVarChar(50)")]
		public string DNID
		{
			get
			{
				return this._DNID;
			}
			set
			{
				if ((this._DNID != value))
				{
					this.OnDNIDChanging(value);
					this.SendPropertyChanging();
					this._DNID = value;
					this.SendPropertyChanged("DNID");
					this.OnDNIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DNDetailID", DbType="NVarChar(50)")]
		public string DNDetailID
		{
			get
			{
				return this._DNDetailID;
			}
			set
			{
				if ((this._DNDetailID != value))
				{
					this.OnDNDetailIDChanging(value);
					this.SendPropertyChanging();
					this._DNDetailID = value;
					this.SendPropertyChanged("DNDetailID");
					this.OnDNDetailIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExtensionID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string ExtensionID
		{
			get
			{
				return this._ExtensionID;
			}
			set
			{
				if ((this._ExtensionID != value))
				{
					this.OnExtensionIDChanging(value);
					this.SendPropertyChanging();
					this._ExtensionID = value;
					this.SendPropertyChanged("ExtensionID");
					this.OnExtensionIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSER", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSER
		{
			get
			{
				return this._MUSER;
			}
			set
			{
				if ((this._MUSER != value))
				{
					this.OnMUSERChanging(value);
					this.SendPropertyChanging();
					this._MUSER = value;
					this.SendPropertyChanged("MUSER");
					this.OnMUSERChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MUSERName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string MUSERName
		{
			get
			{
				return this._MUSERName;
			}
			set
			{
				if ((this._MUSERName != value))
				{
					this.OnMUSERNameChanging(value);
					this.SendPropertyChanging();
					this._MUSERName = value;
					this.SendPropertyChanged("MUSERName");
					this.OnMUSERNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MTIME", DbType="DateTime NOT NULL")]
		public System.DateTime MTIME
		{
			get
			{
				return this._MTIME;
			}
			set
			{
				if ((this._MTIME != value))
				{
					this.OnMTIMEChanging(value);
					this.SendPropertyChanging();
					this._MTIME = value;
					this.SendPropertyChanged("MTIME");
					this.OnMTIMEChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPoint", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string WorkPoint
		{
			get
			{
				return this._WorkPoint;
			}
			set
			{
				if ((this._WorkPoint != value))
				{
					this.OnWorkPointChanging(value);
					this.SendPropertyChanging();
					this._WorkPoint = value;
					this.SendPropertyChanged("WorkPoint");
					this.OnWorkPointChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE1", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
		public string EATTRIBUTE1
		{
			get
			{
				return this._EATTRIBUTE1;
			}
			set
			{
				if ((this._EATTRIBUTE1 != value))
				{
					this.OnEATTRIBUTE1Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE1 = value;
					this.SendPropertyChanged("EATTRIBUTE1");
					this.OnEATTRIBUTE1Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ASNCode", DbType="NVarChar(50)")]
		public string ASNCode
		{
			get
			{
				return this._ASNCode;
			}
			set
			{
				if ((this._ASNCode != value))
				{
					this.OnASNCodeChanging(value);
					this.SendPropertyChanging();
					this._ASNCode = value;
					this.SendPropertyChanged("ASNCode");
					this.OnASNCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WHCode", DbType="VarChar(50)")]
		public string WHCode
		{
			get
			{
				return this._WHCode;
			}
			set
			{
				if ((this._WHCode != value))
				{
					this.OnWHCodeChanging(value);
					this.SendPropertyChanging();
					this._WHCode = value;
					this.SendPropertyChanged("WHCode");
					this.OnWHCodeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InspectionType", DbType="VarChar(50)")]
		public string InspectionType
		{
			get
			{
				return this._InspectionType;
			}
			set
			{
				if ((this._InspectionType != value))
				{
					this.OnInspectionTypeChanging(value);
					this.SendPropertyChanging();
					this._InspectionType = value;
					this.SendPropertyChanged("InspectionType");
					this.OnInspectionTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InvoDescribe", DbType="VarChar(200)")]
		public string InvoDescribe
		{
			get
			{
				return this._InvoDescribe;
			}
			set
			{
				if ((this._InvoDescribe != value))
				{
					this.OnInvoDescribeChanging(value);
					this.SendPropertyChanging();
					this._InvoDescribe = value;
					this.SendPropertyChanged("InvoDescribe");
					this.OnInvoDescribeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StockIndicator", DbType="VarChar(50)")]
		public string StockIndicator
		{
			get
			{
				return this._StockIndicator;
			}
			set
			{
				if ((this._StockIndicator != value))
				{
					this.OnStockIndicatorChanging(value);
					this.SendPropertyChanging();
					this._StockIndicator = value;
					this.SendPropertyChanged("StockIndicator");
					this.OnStockIndicatorChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DepositArea", DbType="VarChar(50)")]
		public string DepositArea
		{
			get
			{
				return this._DepositArea;
			}
			set
			{
				if ((this._DepositArea != value))
				{
					this.OnDepositAreaChanging(value);
					this.SendPropertyChanging();
					this._DepositArea = value;
					this.SendPropertyChanged("DepositArea");
					this.OnDepositAreaChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unity", DbType="VarChar(50)")]
		public string Unity
		{
			get
			{
				return this._Unity;
			}
			set
			{
				if ((this._Unity != value))
				{
					this.OnUnityChanging(value);
					this.SendPropertyChanging();
					this._Unity = value;
					this.SendPropertyChanged("Unity");
					this.OnUnityChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ModificationDate", DbType="VarChar(50)")]
		public string ModificationDate
		{
			get
			{
				return this._ModificationDate;
			}
			set
			{
				if ((this._ModificationDate != value))
				{
					this.OnModificationDateChanging(value);
					this.SendPropertyChanging();
					this._ModificationDate = value;
					this.SendPropertyChanged("ModificationDate");
					this.OnModificationDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrackingNumber", DbType="VarChar(50)")]
		public string TrackingNumber
		{
			get
			{
				return this._TrackingNumber;
			}
			set
			{
				if ((this._TrackingNumber != value))
				{
					this.OnTrackingNumberChanging(value);
					this.SendPropertyChanging();
					this._TrackingNumber = value;
					this.SendPropertyChanged("TrackingNumber");
					this.OnTrackingNumberChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NonconformingForm", DbType="VarChar(50)")]
		public string NonconformingForm
		{
			get
			{
				return this._NonconformingForm;
			}
			set
			{
				if ((this._NonconformingForm != value))
				{
					this.OnNonconformingFormChanging(value);
					this.SendPropertyChanging();
					this._NonconformingForm = value;
					this.SendPropertyChanged("NonconformingForm");
					this.OnNonconformingFormChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE2", DbType="NVarChar(50)")]
		public string EATTRIBUTE2
		{
			get
			{
				return this._EATTRIBUTE2;
			}
			set
			{
				if ((this._EATTRIBUTE2 != value))
				{
					this.OnEATTRIBUTE2Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE2 = value;
					this.SendPropertyChanged("EATTRIBUTE2");
					this.OnEATTRIBUTE2Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE3", DbType="NVarChar(50)")]
		public string EATTRIBUTE3
		{
			get
			{
				return this._EATTRIBUTE3;
			}
			set
			{
				if ((this._EATTRIBUTE3 != value))
				{
					this.OnEATTRIBUTE3Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE3 = value;
					this.SendPropertyChanged("EATTRIBUTE3");
					this.OnEATTRIBUTE3Changed();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EATTRIBUTE4", DbType="NVarChar(50)")]
		public string EATTRIBUTE4
		{
			get
			{
				return this._EATTRIBUTE4;
			}
			set
			{
				if ((this._EATTRIBUTE4 != value))
				{
					this.OnEATTRIBUTE4Changing(value);
					this.SendPropertyChanging();
					this._EATTRIBUTE4 = value;
					this.SendPropertyChanged("EATTRIBUTE4");
					this.OnEATTRIBUTE4Changed();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
}
#pragma warning restore 1591