743 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			743 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 
 | |
| // ========================================================================
 | |
| // Copyright 2006 - Volian Enterprises, Inc. All rights reserved.          
 | |
| // Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | |
| // ------------------------------------------------------------------------
 | |
| // $Workfile: $     $Revision: $                                           
 | |
| // $Author: $   $Date: $                                                   
 | |
| //                                                                         
 | |
| // $History: $                                                             
 | |
| // ========================================================================
 | |
| 
 | |
| using System;
 | |
| using System.Data;
 | |
| using System.Data.SqlClient;
 | |
| using Csla;
 | |
| using Csla.Data;
 | |
| 
 | |
| namespace Volian.Object.Library
 | |
| {
 | |
| 	/// <summary>
 | |
| 	///	Membership Generated by MyGeneration using the CSLA Object Mapping template
 | |
| 	/// </summary>
 | |
| 	[Serializable()]
 | |
| 	public partial class Membership : BusinessBase<Membership>
 | |
| 	{
 | |
| 		#region Business Methods
 | |
| 
 | |
| 		private int _ugid;
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public int Ugid
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _ugid;
 | |
| 			}
 | |
| 		}
 | |
| 		private int _uid;
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public int Uid
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _uid;
 | |
| 			}
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			set
 | |
| 			{
 | |
| 				CanWriteProperty(true);
 | |
| 				if (_uid != value)
 | |
| 				{
 | |
| 					_uid = value;
 | |
| 					PropertyHasChanged();
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		private int _gid;
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public int Gid
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _gid;
 | |
| 			}
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			set
 | |
| 			{
 | |
| 				CanWriteProperty(true);
 | |
| 				if (_gid != value)
 | |
| 				{
 | |
| 					_gid = value;
 | |
| 					PropertyHasChanged();
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		private string _startdate=string.Empty;
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public string StartDate
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _startdate;
 | |
| 			}
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			set
 | |
| 			{
 | |
| 				CanWriteProperty(true);
 | |
| 				if (value == null) value = string.Empty;
 | |
| 				_startdate = value;
 | |
| 				try
 | |
| 				{
 | |
| 					DateTime tmp = SmartDate.StringToDate(value);
 | |
| 					if (_startdate != tmp.ToShortDateString())
 | |
| 					{
 | |
| 						_startdate = tmp.ToShortDateString();
 | |
| 						// TODO: Any Cross Property Validation
 | |
| 					}
 | |
| 				}
 | |
| 				catch
 | |
| 				{
 | |
| 				}
 | |
| 				PropertyHasChanged();
 | |
| 			}
 | |
| 		}
 | |
| 		private string _enddate=string.Empty;
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public string EndDate
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _enddate;
 | |
| 			}
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			set
 | |
| 			{
 | |
| 				CanWriteProperty(true);
 | |
| 				if (value == null) value = string.Empty;
 | |
| 				_enddate = value;
 | |
| 				try
 | |
| 				{
 | |
| 					DateTime tmp = SmartDate.StringToDate(value);
 | |
| 					if (_enddate != tmp.ToShortDateString())
 | |
| 					{
 | |
| 						_enddate = tmp.ToShortDateString();
 | |
| 						// TODO: Any Cross Property Validation
 | |
| 					}
 | |
| 				}
 | |
| 				catch
 | |
| 				{
 | |
| 				}
 | |
| 				PropertyHasChanged();
 | |
| 			}
 | |
| 		}
 | |
| 		private DateTime _dts=new DateTime();
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public DateTime Dts
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _dts;
 | |
| 			}
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			set
 | |
| 			{
 | |
| 				CanWriteProperty(true);
 | |
| 				if (_dts != value)
 | |
| 				{
 | |
| 					_dts = value;
 | |
| 					PropertyHasChanged();
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		private string _usrid=string.Empty;
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public string Usrid
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _usrid;
 | |
| 			}
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			set
 | |
| 			{
 | |
| 				CanWriteProperty(true);
 | |
| 				if (value == null) value = string.Empty;
 | |
| 				if (_usrid != value)
 | |
| 				{
 | |
| 					_usrid = value;
 | |
| 					PropertyHasChanged();
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		private byte[] _lastchanged=new byte[8];//timestamp
 | |
| 		// TODO: Replace base Membership.ToString function as necessary
 | |
| 		/// <summary>
 | |
| 		/// Overrides Base ToString
 | |
| 		/// </summary>
 | |
| 		/// <returns>A string representation of current Membership</returns>
 | |
| 		//public override string ToString()
 | |
| 		//{
 | |
| 		//  return base.ToString();
 | |
| 		//}
 | |
| 
 | |
| 		// TODO: Check Membership.GetIdValue to assure that the ID returned is unique
 | |
| 		/// <summary>
 | |
| 		/// Overrides Base GetIdValue - Used internally by CSLA to determine equality
 | |
| 		/// </summary>
 | |
| 		/// <returns>A Unique ID for the current Membership</returns>
 | |
| 		protected override object GetIdValue()
 | |
| 		{
 | |
| 			return _ugid;
 | |
| 		}
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region ValidationRules
 | |
| 
 | |
| 		protected override void AddBusinessRules()
 | |
| 		{
 | |
| 			ValidationRules.AddRule(StartDateValid, "StartDate");
 | |
| 			ValidationRules.AddRule(EndDateValid, "EndDate");
 | |
| 			ValidationRules.AddRule(
 | |
| 				Csla.Validation.CommonRules.StringMaxLength, 
 | |
| 				new Csla.Validation.CommonRules.MaxLengthRuleArgs("Usrid", 100));
 | |
| 		ext.AddValidationRules(ValidationRules);
 | |
| 		// TODO:  Add other validation rules
 | |
| 		//	ValidationRules.AddRule(StartDateGTEndDate, "Started");
 | |
| 		}
 | |
| 		private bool StartDateValid(object target, Csla.Validation.RuleArgs e)
 | |
| 		{
 | |
| 			try
 | |
| 			{
 | |
| 				DateTime tmp = SmartDate.StringToDate(_startdate);
 | |
| 			}
 | |
| 			catch
 | |
| 			{
 | |
| 				e.Description="Invalid Date";
 | |
| 				return false;
 | |
| 			}
 | |
| 			return true;
 | |
| 		}
 | |
| 		private bool EndDateValid(object target, Csla.Validation.RuleArgs e)
 | |
| 		{
 | |
| 			try
 | |
| 			{
 | |
| 				DateTime tmp = SmartDate.StringToDate(_enddate);
 | |
| 			}
 | |
| 			catch
 | |
| 			{
 | |
| 				e.Description="Invalid Date";
 | |
| 				return false;
 | |
| 			}
 | |
| 			return true;
 | |
| 		}
 | |
| 		// Sample data comparison validation rule
 | |
| 		//private bool StartDateGTEndDate(object target, Csla.Validation.RuleArgs e)
 | |
| 		//{
 | |
| 		//	if (_started > _ended)
 | |
| 		//	{
 | |
| 		//		e.Description = "Start date can't be after end date";
 | |
| 		//		return false;
 | |
| 		//	}
 | |
| 		//	else
 | |
| 		//		return true;
 | |
| 		//}
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region Authorization Rules
 | |
| 		protected override void AddAuthorizationRules()
 | |
| 		{
 | |
| 			//TODO: Who can read/write which fields
 | |
| 			//AuthorizationRules.AllowRead(Ugid, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(Uid, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(Gid, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(StartDate, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(EndDate, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(Dts, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(Usrid, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowWrite(Uid, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowWrite(Gid, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowWrite(StartDate, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowWrite(EndDate, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowWrite(Dts, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowWrite(Usrid, "<Role(s)>");
 | |
| 			ext.AddAuthorizationRules(AuthorizationRules);
 | |
| 		}
 | |
| 	
 | |
| 		public static bool CanAddObject()
 | |
| 		{
 | |
| 			// TODO: Can Add Authorization
 | |
| 			//return Csla.ApplicationContext.User.IsInRole("ProjectManager");
 | |
| 			return true;
 | |
| 		}
 | |
| 	
 | |
| 		public static bool CanGetObject()
 | |
| 		{
 | |
| 			// TODO: CanGet Authorization
 | |
| 			return true;
 | |
| 		}
 | |
| 	
 | |
| 		public static bool CanDeleteObject()
 | |
| 		{
 | |
| 			// TODO: CanDelete Authorization
 | |
| 			//bool result = false;
 | |
| 			//if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true;
 | |
| 			//if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true;
 | |
| 			//return result;
 | |
| 			return true;
 | |
| 		}
 | |
| 	
 | |
| 		public static bool CanEditObject()
 | |
| 		{
 | |
| 			// TODO: CanEdit Authorization
 | |
| 			//return Csla.ApplicationContext.User.IsInRole("ProjectManager");
 | |
| 			return true;
 | |
| 		}
 | |
| 		#endregion
 | |
| 		#region Factory Methods
 | |
| 		
 | |
| 		private Membership()
 | |
| 		{/* require use of factory methods */}
 | |
| 	
 | |
| 		public static Membership New()
 | |
| 		{
 | |
| 		  if (!CanAddObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to add a Membership");
 | |
| 		  return DataPortal.Create<Membership>();
 | |
| 		}
 | |
| 	
 | |
| 		public static Membership Get(int _ugid)
 | |
| 		{
 | |
| 		  if (!CanGetObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to view a Membership");
 | |
| 		  return DataPortal.Fetch<Membership>(new PKCriteria(_ugid));
 | |
| 		}
 | |
| 	
 | |
| 		public static void Delete(int _ugid)
 | |
| 		{
 | |
| 			if (!CanDeleteObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to remove a Membership");
 | |
| 		  DataPortal.Delete(new PKCriteria(_ugid));
 | |
| 		}
 | |
| 	
 | |
| 		public override Membership Save()
 | |
| 		{
 | |
| 		  if (IsDeleted && !CanDeleteObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to remove a Membership");
 | |
| 		  else if (IsNew && !CanAddObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to add a Membership");
 | |
| 		  else if (!CanEditObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to update a Membership");
 | |
| 		  return base.Save();
 | |
| 		}
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region Data Access Portal
 | |
| 
 | |
| 		[Serializable()]
 | |
| 		private class PKCriteria
 | |
| 		{
 | |
| 			private int _ugid;
 | |
| 			public int Ugid
 | |
| 			{ get {return _ugid;}}		
 | |
| 			public PKCriteria(int ugid)
 | |
| 			{
 | |
| 				_ugid=ugid; 
 | |
| 			}
 | |
| 		}
 | |
| 		// If Create needs to access DB - It should not be marked RunLocal
 | |
| 		[RunLocal()]
 | |
| 		private new void DataPortal_Create(object criteria)
 | |
| 		{
 | |
| 		
 | |
| 			// Database Defaults
 | |
| 				_startdate = ext.DefaultStartDate;
 | |
| 				_dts = ext.DefaultDts;
 | |
| 				_usrid = ext.DefaultUsrid;
 | |
| 			// TODO: Add any defaults that are necessary
 | |
| 			ValidationRules.CheckRules();
 | |
| 		}
 | |
| 	
 | |
| 		private void DataPortal_Fetch(PKCriteria criteria)
 | |
| 		{
 | |
| 			try{
 | |
| 			using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | |
| 			{
 | |
| 				using (SqlCommand cm = cn.CreateCommand())
 | |
| 				{
 | |
| 					cm.CommandType = CommandType.StoredProcedure;
 | |
| 					cm.CommandText = "getMembership";
 | |
| 					cm.Parameters.AddWithValue("@uGID", criteria.Ugid);
 | |
| 					using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
 | |
| 					{
 | |
| 						dr.Read();
 | |
| 						_ugid = dr.GetInt32("UGID");
 | |
| 						_uid = dr.GetInt32("UID");
 | |
| 						_gid = dr.GetInt32("GID");
 | |
| 						_startdate = dr.GetSmartDate("StartDate").Text;
 | |
| 						_enddate = dr.GetSmartDate("EndDate").Text;
 | |
| 						_dts = dr.GetDateTime("DTS");
 | |
| 						_usrid = dr.GetString("UsrID");
 | |
| 						dr.GetBytes("LastChanged", 0, _lastchanged, 0, 8);
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Membership",ex);
 | |
| 		}
 | |
| 		}
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		protected override void DataPortal_Insert()
 | |
| 		{
 | |
| 			try{
 | |
| 			using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | |
| 			{
 | |
| 				using (SqlCommand cm = cn.CreateCommand())
 | |
| 				{
 | |
| 					cm.CommandType = CommandType.StoredProcedure;
 | |
| 					cm.CommandText = "addMembership";
 | |
| 					// Input All Fields - Except Calculated Columns
 | |
| 					cm.Parameters.AddWithValue("@uID", _uid);
 | |
| 					cm.Parameters.AddWithValue("@gID", _gid);
 | |
| 					cm.Parameters.AddWithValue("@startDate", new SmartDate(_startdate).DBValue);
 | |
| 					cm.Parameters.AddWithValue("@endDate", new SmartDate(_enddate).DBValue);
 | |
| 					cm.Parameters.AddWithValue("@dTS", _dts);
 | |
| 					cm.Parameters.AddWithValue("@usrID", _usrid);
 | |
| 					// Output Calculated Columns
 | |
| 					SqlParameter param_ugid = new SqlParameter("@newUGID",SqlDbType.Int);
 | |
| 					param_ugid.Direction = ParameterDirection.Output;
 | |
| 					cm.Parameters.Add(param_ugid);
 | |
| 					SqlParameter param_lastchanged = new SqlParameter("@newLastChanged",SqlDbType.Timestamp);
 | |
| 					param_lastchanged.Direction = ParameterDirection.Output;
 | |
| 					cm.Parameters.Add(param_lastchanged);
 | |
| 					// TODO: Define any additional output parameters
 | |
| 					cm.ExecuteNonQuery();
 | |
| 					// Save all values being returned from the Procedure
 | |
| 					_ugid = (int)cm.Parameters["@newUGID"].Value;
 | |
| 					_lastchanged = (byte[])cm.Parameters["@newLastChanged"].Value;
 | |
| 			}
 | |
| 		  // update child objects
 | |
| 				}
 | |
| 				
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Membership",ex);
 | |
| 		}}
 | |
| 
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		public static byte[] Add(SqlConnection cn,ref int ugid, int uid, int gid, SmartDate startdate, SmartDate enddate, DateTime dts, string usrid)
 | |
| 		{
 | |
| 			try{
 | |
| 			using (SqlCommand cm = cn.CreateCommand())
 | |
| 			{
 | |
| 				cm.CommandType = CommandType.StoredProcedure;
 | |
| 				cm.CommandText = "addMembership";
 | |
| 				// Input All Fields - Except Calculated Columns
 | |
| 
 | |
| 					cm.Parameters.AddWithValue("@uID", uid);
 | |
| 					cm.Parameters.AddWithValue("@gID", gid);
 | |
| 					cm.Parameters.AddWithValue("@startDate", startdate.DBValue);
 | |
| 					cm.Parameters.AddWithValue("@endDate", enddate.DBValue);
 | |
| 					cm.Parameters.AddWithValue("@dTS", dts);
 | |
| 					cm.Parameters.AddWithValue("@usrID", usrid);
 | |
| 				// Output Calculated Columns
 | |
| 			SqlParameter param_ugid = new SqlParameter("@newUGID",SqlDbType.Int);
 | |
| 			param_ugid.Direction = ParameterDirection.Output;
 | |
| 			cm.Parameters.Add(param_ugid);
 | |
| 			SqlParameter param_lastchanged = new SqlParameter("@newLastChanged",SqlDbType.Timestamp);
 | |
| 			param_lastchanged.Direction = ParameterDirection.Output;
 | |
| 			cm.Parameters.Add(param_lastchanged);
 | |
| 				// TODO: Define any additional output parameters
 | |
| 				cm.ExecuteNonQuery();
 | |
| 				// Save all values being returned from the Procedure
 | |
| 					ugid = (int)cm.Parameters["@newUGID"].Value;
 | |
| 			return (byte[])cm.Parameters["@newLastChanged"].Value;
 | |
| 			}
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Membership",ex);
 | |
| 			return null;
 | |
| 		}
 | |
| 		}
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		protected override void DataPortal_Update()
 | |
| 		{
 | |
| 			if (IsDirty)// If this is dirty - open the connection
 | |
| 			{
 | |
| 				try{
 | |
| 				using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | |
| 				{
 | |
| 					if(base.IsDirty)
 | |
| 					{
 | |
| 						using (SqlCommand cm = cn.CreateCommand())
 | |
| 						{
 | |
| 							cm.CommandType = CommandType.StoredProcedure;
 | |
| 							cm.CommandText = "updateMembership";
 | |
| 							// All Fields including Calculated Fields
 | |
| 					cm.Parameters.AddWithValue("@uGID", _ugid);
 | |
| 					cm.Parameters.AddWithValue("@uID", _uid);
 | |
| 					cm.Parameters.AddWithValue("@gID", _gid);
 | |
| 					cm.Parameters.AddWithValue("@startDate", new SmartDate(_startdate).DBValue);
 | |
| 					cm.Parameters.AddWithValue("@endDate", new SmartDate(_enddate).DBValue);
 | |
| 					cm.Parameters.AddWithValue("@dTS", _dts);
 | |
| 					cm.Parameters.AddWithValue("@usrID", _usrid);
 | |
| 					cm.Parameters.AddWithValue("@lastChanged", _lastchanged);
 | |
| 					// Output Calculated Columns
 | |
| 					SqlParameter param_lastchanged = new SqlParameter("@newLastChanged",SqlDbType.Timestamp);
 | |
| 					param_lastchanged.Direction = ParameterDirection.Output;
 | |
| 					cm.Parameters.Add(param_lastchanged);
 | |
| 							// TODO: Define any additional output parameters
 | |
| 							cm.ExecuteNonQuery();
 | |
| 							// Save all values being returned from the Procedure
 | |
| 					_lastchanged = (byte[])cm.Parameters["@newLastChanged"].Value;
 | |
| 				}
 | |
| 				}
 | |
| 				// use the open connection to update child objects
 | |
| 					}
 | |
| 				}
 | |
| 			catch(Exception ex)
 | |
| 			{
 | |
| 				Database.LogException("Membership",ex);
 | |
| 			}
 | |
| 			
 | |
| 			}
 | |
| 		}
 | |
| 	
 | |
| 
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		public static byte[] Update(SqlConnection cn,ref int ugid, int uid, int gid, SmartDate startdate, SmartDate enddate, DateTime dts, string usrid, ref byte[] lastchanged)
 | |
| 		{
 | |
| 			try{
 | |
| 			using (SqlCommand cm = cn.CreateCommand())
 | |
| 			{
 | |
| 				cm.CommandType = CommandType.StoredProcedure;
 | |
| 				cm.CommandText = "updateMembership";
 | |
| 				// Input All Fields - Except Calculated Columns
 | |
| 
 | |
| 					cm.Parameters.AddWithValue("@uGID", ugid);
 | |
| 					cm.Parameters.AddWithValue("@uID", uid);
 | |
| 					cm.Parameters.AddWithValue("@gID", gid);
 | |
| 					cm.Parameters.AddWithValue("@startDate", startdate.DBValue);
 | |
| 					cm.Parameters.AddWithValue("@endDate", enddate.DBValue);
 | |
| 					cm.Parameters.AddWithValue("@dTS", dts);
 | |
| 					cm.Parameters.AddWithValue("@usrID", usrid);
 | |
| 					cm.Parameters.AddWithValue("@lastChanged", lastchanged);
 | |
| 				// Output Calculated Columns
 | |
| 			SqlParameter param_lastchanged = new SqlParameter("@newLastChanged",SqlDbType.Timestamp);
 | |
| 			param_lastchanged.Direction = ParameterDirection.Output;
 | |
| 			cm.Parameters.Add(param_lastchanged);
 | |
| 				// TODO: Define any additional output parameters
 | |
| 				cm.ExecuteNonQuery();
 | |
| 				// Save all values being returned from the Procedure
 | |
| 			return (byte[])cm.Parameters["@newLastChanged"].Value;
 | |
| 			}
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Membership",ex);
 | |
| 			return null;
 | |
| 		}
 | |
| 		}
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		protected override void DataPortal_DeleteSelf()
 | |
| 		{
 | |
| 		  DataPortal_Delete(new PKCriteria(_ugid));
 | |
| 		}
 | |
| 	
 | |
| 
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		private void DataPortal_Delete(PKCriteria criteria)
 | |
| 		{
 | |
| 			try{
 | |
| 			using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | |
| 			{
 | |
| 				using (SqlCommand cm = cn.CreateCommand())
 | |
| 				{
 | |
| 					cm.CommandType = CommandType.StoredProcedure;
 | |
| 					cm.CommandText = "deleteMembership";
 | |
| 					cm.Parameters.AddWithValue("@uGID", criteria.Ugid);
 | |
| 					cm.ExecuteNonQuery();
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Membership",ex);
 | |
| 		}
 | |
| 		}
 | |
| 
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		public static void Remove(SqlConnection cn,int ugid)
 | |
| 		{
 | |
| 			try{
 | |
| 			using (SqlCommand cm = cn.CreateCommand())
 | |
| 			{
 | |
| 				cm.CommandType = CommandType.StoredProcedure;
 | |
| 				cm.CommandText = "deleteMembership";
 | |
| 				// Input PK Fields
 | |
| 
 | |
| 					cm.Parameters.AddWithValue("@uGID", ugid);
 | |
| 				// TODO: Define any additional output parameters
 | |
| 				cm.ExecuteNonQuery();
 | |
| 			}
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Membership",ex);
 | |
| 		}
 | |
| 		}
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region Exists
 | |
| 
 | |
| 
 | |
|     public static bool Exists(int ugid)
 | |
|     {
 | |
|       ExistsCommand result;
 | |
|       result = DataPortal.Execute<ExistsCommand>
 | |
|         (new ExistsCommand(ugid));
 | |
|       return result.Exists;
 | |
|     }
 | |
| 
 | |
|     [Serializable()]
 | |
|     private class ExistsCommand : CommandBase
 | |
|     {
 | |
| 
 | |
| 			private int _ugid;
 | |
| 		private bool _exists;
 | |
| 
 | |
|       public bool Exists
 | |
|       {
 | |
|         get { return _exists; }
 | |
|       }
 | |
| 
 | |
|       public ExistsCommand(int ugid)
 | |
|       {
 | |
| 				_ugid=ugid;
 | |
| 		}
 | |
| 
 | |
|       protected override void DataPortal_Execute()
 | |
|       {
 | |
| 		try{
 | |
|         using (SqlConnection cn = Database.VEPROMS_SqlConnection)
 | |
|         {
 | |
|           cn.Open();
 | |
|           using (SqlCommand cm = cn.CreateCommand())
 | |
|           {
 | |
|             cm.CommandType = CommandType.StoredProcedure;
 | |
|             cm.CommandText = "existsMembership";
 | |
| 
 | |
| 			cm.Parameters.AddWithValue("@uGID", _ugid);
 | |
| 			int count = (int)cm.ExecuteScalar();
 | |
|             _exists = (count > 0);
 | |
|           }
 | |
|         }
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Membership",ex);
 | |
| 		}
 | |
|       }
 | |
|     }
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| // Standard Default Code
 | |
| 		//	#region extension
 | |
| 		Extension ext = new Extension();
 | |
| 		[Serializable()]
 | |
| 		partial class Extension : extensionBase
 | |
| 		{
 | |
| 		}
 | |
| 		[Serializable()]
 | |
| 		class extensionBase
 | |
| 		{
 | |
| 			// Default Values
 | |
| 			public virtual string DefaultStartDate
 | |
| 			{
 | |
| 				get { return DateTime.Now.ToShortDateString(); }
 | |
| 			}
 | |
| 			public virtual DateTime DefaultDts
 | |
| 			{
 | |
| 				get { return DateTime.Now; }
 | |
| 			}
 | |
| 			public virtual string DefaultUsrid
 | |
| 			{
 | |
| 				get { return Environment.UserName.ToUpper(); }
 | |
| 			}
 | |
| 			// Authorization Rules
 | |
| 			public virtual void AddAuthorizationRules(Csla.Security.AuthorizationRules rules)
 | |
| 			{
 | |
| 				// Needs to be overriden to add new authorization rules
 | |
| 			}
 | |
| 			// Validation Rules
 | |
| 			public virtual void AddValidationRules(Csla.Validation.ValidationRules rules)
 | |
| 			{
 | |
| 				// Needs to be overriden to add new validation rules
 | |
| 			}
 | |
| 		}
 | |
| 		//#endregion
 | |
| 
 | |
| // The follwing is a sample Extension File.  You can use it to create MembershipExt.cs
 | |
| //using System;
 | |
| //using System.Collections.Generic;
 | |
| //using System.Text;
 | |
| //using Csla;
 | |
| 
 | |
| //namespace PatrialClass
 | |
| //{
 | |
| //  public partial class Membership
 | |
| //  {
 | |
| //    partial class Extension : extensionBase
 | |
| //    {
 | |
| // TODO: Override automatic defaults
 | |
| //			public virtual SmartDate DefaultStartDate
 | |
| //			{
 | |
| //				get { return DateTime.Now.ToShortDateString(); }
 | |
| //			}
 | |
| //			public virtual DateTime DefaultDts
 | |
| //			{
 | |
| //				get { return DateTime.Now; }
 | |
| //			}
 | |
| //			public virtual string DefaultUsrid
 | |
| //			{
 | |
| //				get { return Environment.UserName.ToUpper(); }
 | |
| //			}
 | |
| //      public new void AddAuthorizationRules(Csla.Security.AuthorizationRules rules)
 | |
| //      {
 | |
| //        //rules.AllowRead(Dbid, "<Role(s)>");
 | |
| //      }
 | |
| //      public new void AddValidationRules(Csla.Validation.ValidationRules rules)
 | |
| //      {
 | |
| //			rules.AddRule(
 | |
| //				Csla.Validation.CommonRules.StringMaxLength, 
 | |
| //				new Csla.Validation.CommonRules.MaxLengthRuleArgs("Name", 100));
 | |
| //      }
 | |
| //    }
 | |
| //  }
 | |
| //}
 | |
| 
 | |
| 	} // Class
 | |
| } // Namespace
 |