context: using System; 
  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;
  
  namespace CmsData
  {
  	[Table(Name="CMS_VOLUNTEER.APPLICATION_TBL")]
  	public partial class Application : INotifyPropertyChanging, INotifyPropertyChanged
  	{
  		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
  		
  	#region Private Fields
  		
  		private int _ApplicationId;
  		
  		private int _PositionId;
  		
  		private int _PeopleId;
  		
  		private DateTime _SubmittedDate;
  		
  		private string _RecordStatus;
  		
  		private string _ApplicationStatusId;
  		
  		private string _SpiritualGift;
  		
  		private DateTime? _SignatureDate;
  		
  		private int? _ApplicationWitnessId;
  		
  		private DateTime? _WitnessDate;
  		
  		private string _UltimusIncidentId;
  		
  		private string _MinistryReviewStatusId;
  		
  		private DateTime? _MinistryReviewDate;
  		
  		private string _MinistryComments;
  		
  		private string _LayMinReviewStatusId;
  		
  		private DateTime? _LayMinReviewDate;
  		
  		private string _LayMinComments;
  		
  		private string _BibGuidReviewStatusId;
  		
  		private DateTime? _BibGuidReviewDate;
  		
  		private string _BibGuidComments;
  		
  		private string _OfcPastorReviewStatusId;
  		
  		private DateTime? _OfcPastorReviewDate;
  		
  		private string _OfcPastorComments;
  		
  		private int? _ChurchId;
  		
  		private int? _CreatedBy;
  		
  		private DateTime? _CreatedDate;
  		
  		private int? _ModifiedBy;
  		
  		private DateTime? _ModifiedDate;
  		
     		
      	
  	#endregion
  	
      #region Extensibility Method Definitions
      partial void OnLoaded();
      partial void OnValidate(System.Data.Linq.ChangeAction action);
      partial void OnCreated();
  		
  		partial void OnApplicationIdChanging(int value);
  		partial void OnApplicationIdChanged();
  		
  		partial void OnPositionIdChanging(int value);
  		partial void OnPositionIdChanged();
  		
  		partial void OnPeopleIdChanging(int value);
  		partial void OnPeopleIdChanged();
  		
  		partial void OnSubmittedDateChanging(DateTime value);
  		partial void OnSubmittedDateChanged();
  		
  		partial void OnRecordStatusChanging(string value);
  		partial void OnRecordStatusChanged();
  		
  		partial void OnApplicationStatusIdChanging(string value);
  		partial void OnApplicationStatusIdChanged();
  		
  		partial void OnSpiritualGiftChanging(string value);
  		partial void OnSpiritualGiftChanged();
  		
  		partial void OnSignatureDateChanging(DateTime? value);
  		partial void OnSignatureDateChanged();
  		
  		partial void OnApplicationWitnessIdChanging(int? value);
  		partial void OnApplicationWitnessIdChanged();
  		
  		partial void OnWitnessDateChanging(DateTime? value);
  		partial void OnWitnessDateChanged();
  		
  		partial void OnUltimusIncidentIdChanging(string value);
  		partial void OnUltimusIncidentIdChanged();
  		
  		partial void OnMinistryReviewStatusIdChanging(string value);
  		partial void OnMinistryReviewStatusIdChanged();
  		
  		partial void OnMinistryReviewDateChanging(DateTime? value);
  		partial void OnMinistryReviewDateChanged();
  		
  		partial void OnMinistryCommentsChanging(string value);
  		partial void OnMinistryCommentsChanged();
  		
  		partial void OnLayMinReviewStatusIdChanging(string value);
  		partial void OnLayMinReviewStatusIdChanged();
  		
  		partial void OnLayMinReviewDateChanging(DateTime? value);
  		partial void OnLayMinReviewDateChanged();
  		
  		partial void OnLayMinCommentsChanging(string value);
  		partial void OnLayMinCommentsChanged();
  		
  		partial void OnBibGuidReviewStatusIdChanging(string value);
  		partial void OnBibGuidReviewStatusIdChanged();
  		
  		partial void OnBibGuidReviewDateChanging(DateTime? value);
  		partial void OnBibGuidReviewDateChanged();
  		
  		partial void OnBibGuidCommentsChanging(string value);
  		partial void OnBibGuidCommentsChanged();
  		
  		partial void OnOfcPastorReviewStatusIdChanging(string value);
  		partial void OnOfcPastorReviewStatusIdChanged();
  		
  		partial void OnOfcPastorReviewDateChanging(DateTime? value);
  		partial void OnOfcPastorReviewDateChanged();
  		
  		partial void OnOfcPastorCommentsChanging(string value);
  		partial void OnOfcPastorCommentsChanged();
  		
  		partial void OnChurchIdChanging(int? value);
  		partial void OnChurchIdChanged();
  		
  		partial void OnCreatedByChanging(int? value);
  		partial void OnCreatedByChanged();
  		
  		partial void OnCreatedDateChanging(DateTime? value);
  		partial void OnCreatedDateChanged();
  		
  		partial void OnModifiedByChanging(int? value);
  		partial void OnModifiedByChanged();
  		
  		partial void OnModifiedDateChanging(DateTime? value);
  		partial void OnModifiedDateChanged();
  		
      #endregion
  		public Application()
  		{
  			
  			
  			OnCreated();
  		}
  
  		
      #region Columns
  		
  		[Column(Name="APPLICATION_ID", UpdateCheck=UpdateCheck.Never, Storage="_ApplicationId", AutoSync=AutoSync.OnInsert, DbType="int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
  		public int ApplicationId
  		{
  			get { return this._ApplicationId; }
  
  			set
  			{
  				if (this._ApplicationId != value)
  				{
  				
                      this.OnApplicationIdChanging(value);
  					this.SendPropertyChanging();
  					this._ApplicationId = value;
  					this.SendPropertyChanged("ApplicationId");
  					this.OnApplicationIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="POSITION_ID", UpdateCheck=UpdateCheck.Never, Storage="_PositionId", DbType="int NOT NULL")]
  		public int PositionId
  		{
  			get { return this._PositionId; }
  
  			set
  			{
  				if (this._PositionId != value)
  				{
  				
                      this.OnPositionIdChanging(value);
  					this.SendPropertyChanging();
  					this._PositionId = value;
  					this.SendPropertyChanged("PositionId");
  					this.OnPositionIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="PEOPLE_ID", UpdateCheck=UpdateCheck.Never, Storage="_PeopleId", DbType="int NOT NULL")]
  		public int PeopleId
  		{
  			get { return this._PeopleId; }
  
  			set
  			{
  				if (this._PeopleId != value)
  				{
  				
                      this.OnPeopleIdChanging(value);
  					this.SendPropertyChanging();
  					this._PeopleId = value;
  					this.SendPropertyChanged("PeopleId");
  					this.OnPeopleIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="SUBMITTED_DATE", UpdateCheck=UpdateCheck.Never, Storage="_SubmittedDate", DbType="datetime NOT NULL")]
  		public DateTime SubmittedDate
  		{
  			get { return this._SubmittedDate; }
  
  			set
  			{
  				if (this._SubmittedDate != value)
  				{
  				
                      this.OnSubmittedDateChanging(value);
  					this.SendPropertyChanging();
  					this._SubmittedDate = value;
  					this.SendPropertyChanged("SubmittedDate");
  					this.OnSubmittedDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="RECORD_STATUS", UpdateCheck=UpdateCheck.Never, Storage="_RecordStatus", DbType="varchar(1) NOT NULL")]
  		public string RecordStatus
  		{
  			get { return this._RecordStatus; }
  
  			set
  			{
  				if (this._RecordStatus != value)
  				{
  				
                      this.OnRecordStatusChanging(value);
  					this.SendPropertyChanging();
  					this._RecordStatus = value;
  					this.SendPropertyChanged("RecordStatus");
  					this.OnRecordStatusChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="APPLICATION_STATUS_ID", UpdateCheck=UpdateCheck.Never, Storage="_ApplicationStatusId", DbType="varchar(2) NOT NULL")]
  		public string ApplicationStatusId
  		{
  			get { return this._ApplicationStatusId; }
  
  			set
  			{
  				if (this._ApplicationStatusId != value)
  				{
  				
                      this.OnApplicationStatusIdChanging(value);
  					this.SendPropertyChanging();
  					this._ApplicationStatusId = value;
  					this.SendPropertyChanged("ApplicationStatusId");
  					this.OnApplicationStatusIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="SPIRITUAL_GIFT", UpdateCheck=UpdateCheck.Never, Storage="_SpiritualGift", DbType="varchar(50) NOT NULL")]
  		public string SpiritualGift
  		{
  			get { return this._SpiritualGift; }
  
  			set
  			{
  				if (this._SpiritualGift != value)
  				{
  				
                      this.OnSpiritualGiftChanging(value);
  					this.SendPropertyChanging();
  					this._SpiritualGift = value;
  					this.SendPropertyChanged("SpiritualGift");
  					this.OnSpiritualGiftChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="SIGNATURE_DATE", UpdateCheck=UpdateCheck.Never, Storage="_SignatureDate", DbType="datetime")]
  		public DateTime? SignatureDate
  		{
  			get { return this._SignatureDate; }
  
  			set
  			{
  				if (this._SignatureDate != value)
  				{
  				
                      this.OnSignatureDateChanging(value);
  					this.SendPropertyChanging();
  					this._SignatureDate = value;
  					this.SendPropertyChanged("SignatureDate");
  					this.OnSignatureDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="APPLICATION_WITNESS_ID", UpdateCheck=UpdateCheck.Never, Storage="_ApplicationWitnessId", DbType="int")]
  		public int? ApplicationWitnessId
  		{
  			get { return this._ApplicationWitnessId; }
  
  			set
  			{
  
gt: 				if (this._ApplicationWitnessId != value)