720 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			720 lines
		
	
	
		
			20 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>
 | |
| 	///	Group Generated by MyGeneration using the CSLA Object Mapping template
 | |
| 	/// </summary>
 | |
| 	[Serializable()]
 | |
| 	public partial class Group : BusinessBase<Group>
 | |
| 	{
 | |
| 		#region Business Methods
 | |
| 
 | |
| 		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;
 | |
| 			}
 | |
| 		}
 | |
| 		private string _groupname=string.Empty;
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public string GroupName
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _groupname;
 | |
| 			}
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			set
 | |
| 			{
 | |
| 				CanWriteProperty(true);
 | |
| 				if (value == null) value = string.Empty;
 | |
| 				if (_groupname != value)
 | |
| 				{
 | |
| 					_groupname = value;
 | |
| 					PropertyHasChanged();
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		private int _grouptype;
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public int GroupType
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _grouptype;
 | |
| 			}
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			set
 | |
| 			{
 | |
| 				CanWriteProperty(true);
 | |
| 				if (_grouptype != value)
 | |
| 				{
 | |
| 					_grouptype = value;
 | |
| 					PropertyHasChanged();
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		private string _config=string.Empty;
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public string Config
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _config;
 | |
| 			}
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			set
 | |
| 			{
 | |
| 				CanWriteProperty(true);
 | |
| 				if (value == null) value = string.Empty;
 | |
| 				if (_config != value)
 | |
| 				{
 | |
| 					_config = value;
 | |
| 					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
 | |
| 		private GroupAssignments _groupassignments = GroupAssignments.New();
 | |
| 		/// <summary>
 | |
| 		/// Related Field
 | |
| 		/// </summary>
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public GroupAssignments GroupAssignments
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _groupassignments;
 | |
| 			}
 | |
| 		}
 | |
| 		private GroupMemberships _groupmemberships = GroupMemberships.New();
 | |
| 		/// <summary>
 | |
| 		/// Related Field
 | |
| 		/// </summary>
 | |
| 		[System.ComponentModel.DataObjectField(true, true)]
 | |
| 		public GroupMemberships GroupMemberships
 | |
| 		{
 | |
| 			[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | |
| 			get
 | |
| 			{
 | |
| 				CanReadProperty(true);
 | |
| 				return _groupmemberships;
 | |
| 			}
 | |
| 		}
 | |
| 	    public override bool IsDirty
 | |
| 		{
 | |
| 			get { return base.IsDirty   || _groupassignments.IsDirty  || _groupmemberships.IsDirty ; }
 | |
| 		}
 | |
| 	    public override bool IsValid
 | |
| 		{
 | |
| 			get { return base.IsValid   && _groupassignments.IsValid  && _groupmemberships.IsValid ; }
 | |
| 		}
 | |
| 		// TODO: Replace base Group.ToString function as necessary
 | |
| 		/// <summary>
 | |
| 		/// Overrides Base ToString
 | |
| 		/// </summary>
 | |
| 		/// <returns>A string representation of current Group</returns>
 | |
| 		//public override string ToString()
 | |
| 		//{
 | |
| 		//  return base.ToString();
 | |
| 		//}
 | |
| 
 | |
| 		// TODO: Check Group.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 Group</returns>
 | |
| 		protected override object GetIdValue()
 | |
| 		{
 | |
| 			return _gid;
 | |
| 		}
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region ValidationRules
 | |
| 
 | |
| 		protected override void AddBusinessRules()
 | |
| 		{
 | |
| 			ValidationRules.AddRule(
 | |
| 				Csla.Validation.CommonRules.StringRequired, "GroupName");
 | |
| 			ValidationRules.AddRule(
 | |
| 				Csla.Validation.CommonRules.StringMaxLength, 
 | |
| 				new Csla.Validation.CommonRules.MaxLengthRuleArgs("GroupName", 50));
 | |
| 			ValidationRules.AddRule(
 | |
| 				Csla.Validation.CommonRules.StringMaxLength, 
 | |
| 				new Csla.Validation.CommonRules.MaxLengthRuleArgs("Config", 1073741823));
 | |
| 			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");
 | |
| 		}
 | |
| 		// 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(Gid, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(GroupName, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(GroupType, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(Config, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(Dts, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowRead(Usrid, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowWrite(GroupName, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowWrite(GroupType, "<Role(s)>");
 | |
| 			//AuthorizationRules.AllowWrite(Config, "<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 Group()
 | |
| 		{/* require use of factory methods */}
 | |
| 	
 | |
| 		public static Group New()
 | |
| 		{
 | |
| 		  if (!CanAddObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to add a Group");
 | |
| 		  return DataPortal.Create<Group>();
 | |
| 		}
 | |
| 	
 | |
| 		public static Group Get(int _gid)
 | |
| 		{
 | |
| 		  if (!CanGetObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to view a Group");
 | |
| 		  return DataPortal.Fetch<Group>(new PKCriteria(_gid));
 | |
| 		}
 | |
| 	
 | |
| 		public static void Delete(int _gid)
 | |
| 		{
 | |
| 			if (!CanDeleteObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to remove a Group");
 | |
| 		  DataPortal.Delete(new PKCriteria(_gid));
 | |
| 		}
 | |
| 	
 | |
| 		public override Group Save()
 | |
| 		{
 | |
| 		  if (IsDeleted && !CanDeleteObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to remove a Group");
 | |
| 		  else if (IsNew && !CanAddObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to add a Group");
 | |
| 		  else if (!CanEditObject())
 | |
| 			throw new System.Security.SecurityException("User not authorized to update a Group");
 | |
| 		  return base.Save();
 | |
| 		}
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region Data Access Portal
 | |
| 
 | |
| 		[Serializable()]
 | |
| 		private class PKCriteria
 | |
| 		{
 | |
| 			private int _gid;
 | |
| 			public int Gid
 | |
| 			{ get {return _gid;}}		
 | |
| 			public PKCriteria(int gid)
 | |
| 			{
 | |
| 				_gid=gid; 
 | |
| 			}
 | |
| 		}
 | |
| 		// If Create needs to access DB - It should not be marked RunLocal
 | |
| 		[RunLocal()]
 | |
| 		private new void DataPortal_Create(object criteria)
 | |
| 		{
 | |
| 		
 | |
| 			// Database Defaults
 | |
| 				_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 = "getGroup";
 | |
| 					cm.Parameters.AddWithValue("@gID", criteria.Gid);
 | |
| 					using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
 | |
| 					{
 | |
| 						dr.Read();
 | |
| 						_gid = dr.GetInt32("GID");
 | |
| 						_groupname = dr.GetString("GroupName");
 | |
| 						_grouptype = dr.GetInt32("GroupType");
 | |
| 						_config = dr.GetString("Config");
 | |
| 						_dts = dr.GetDateTime("DTS");
 | |
| 						_usrid = dr.GetString("UsrID");
 | |
| 						dr.GetBytes("LastChanged", 0, _lastchanged, 0, 8);
 | |
| 						// load child objects
 | |
| 						dr.NextResult();
 | |
| 						_groupassignments = GroupAssignments.Get(dr);
 | |
| 
 | |
| 						// load child objects
 | |
| 						dr.NextResult();
 | |
| 						_groupmemberships = GroupMemberships.Get(dr);
 | |
| 
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Group",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 = "addGroup";
 | |
| 					// Input All Fields - Except Calculated Columns
 | |
| 					cm.Parameters.AddWithValue("@groupName", _groupname);
 | |
| 					cm.Parameters.AddWithValue("@groupType", _grouptype);
 | |
| 					cm.Parameters.AddWithValue("@config", _config);
 | |
| 					cm.Parameters.AddWithValue("@dTS", _dts);
 | |
| 					cm.Parameters.AddWithValue("@usrID", _usrid);
 | |
| 					// Output Calculated Columns
 | |
| 					SqlParameter param_gid = new SqlParameter("@newGID",SqlDbType.Int);
 | |
| 					param_gid.Direction = ParameterDirection.Output;
 | |
| 					cm.Parameters.Add(param_gid);
 | |
| 					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
 | |
| 					_gid = (int)cm.Parameters["@newGID"].Value;
 | |
| 					_lastchanged = (byte[])cm.Parameters["@newLastChanged"].Value;
 | |
| 			}
 | |
| 		  // update child objects
 | |
| 						_groupassignments.Update(this,cn);
 | |
| 
 | |
| 						_groupmemberships.Update(this,cn);
 | |
| 
 | |
| 				}
 | |
| 				
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Group",ex);
 | |
| 		}}
 | |
| 
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		public static byte[] Add(SqlConnection cn,ref int gid, string groupname, int grouptype, string config, DateTime dts, string usrid)
 | |
| 		{
 | |
| 			try{
 | |
| 			using (SqlCommand cm = cn.CreateCommand())
 | |
| 			{
 | |
| 				cm.CommandType = CommandType.StoredProcedure;
 | |
| 				cm.CommandText = "addGroup";
 | |
| 				// Input All Fields - Except Calculated Columns
 | |
| 
 | |
| 					cm.Parameters.AddWithValue("@groupName", groupname);
 | |
| 					cm.Parameters.AddWithValue("@groupType", grouptype);
 | |
| 					cm.Parameters.AddWithValue("@config", config);
 | |
| 					cm.Parameters.AddWithValue("@dTS", dts);
 | |
| 					cm.Parameters.AddWithValue("@usrID", usrid);
 | |
| 				// Output Calculated Columns
 | |
| 			SqlParameter param_gid = new SqlParameter("@newGID",SqlDbType.Int);
 | |
| 			param_gid.Direction = ParameterDirection.Output;
 | |
| 			cm.Parameters.Add(param_gid);
 | |
| 			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
 | |
| 					gid = (int)cm.Parameters["@newGID"].Value;
 | |
| 			return (byte[])cm.Parameters["@newLastChanged"].Value;
 | |
| 			}
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Group",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 = "updateGroup";
 | |
| 							// All Fields including Calculated Fields
 | |
| 					cm.Parameters.AddWithValue("@gID", _gid);
 | |
| 					cm.Parameters.AddWithValue("@groupName", _groupname);
 | |
| 					cm.Parameters.AddWithValue("@groupType", _grouptype);
 | |
| 					cm.Parameters.AddWithValue("@config", _config);
 | |
| 					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
 | |
| 						_groupassignments.Update(this,cn);
 | |
| 
 | |
| 						_groupmemberships.Update(this,cn);
 | |
| 
 | |
| 					}
 | |
| 				}
 | |
| 			catch(Exception ex)
 | |
| 			{
 | |
| 				Database.LogException("Group",ex);
 | |
| 			}
 | |
| 			
 | |
| 			}
 | |
| 		}
 | |
| 	
 | |
| 
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		public static byte[] Update(SqlConnection cn,ref int gid, string groupname, int grouptype, string config, DateTime dts, string usrid, ref byte[] lastchanged)
 | |
| 		{
 | |
| 			try{
 | |
| 			using (SqlCommand cm = cn.CreateCommand())
 | |
| 			{
 | |
| 				cm.CommandType = CommandType.StoredProcedure;
 | |
| 				cm.CommandText = "updateGroup";
 | |
| 				// Input All Fields - Except Calculated Columns
 | |
| 
 | |
| 					cm.Parameters.AddWithValue("@gID", gid);
 | |
| 					cm.Parameters.AddWithValue("@groupName", groupname);
 | |
| 					cm.Parameters.AddWithValue("@groupType", grouptype);
 | |
| 					cm.Parameters.AddWithValue("@config", config);
 | |
| 					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("Group",ex);
 | |
| 			return null;
 | |
| 		}
 | |
| 		}
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		protected override void DataPortal_DeleteSelf()
 | |
| 		{
 | |
| 		  DataPortal_Delete(new PKCriteria(_gid));
 | |
| 		}
 | |
| 	
 | |
| 
 | |
| 		[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 = "deleteGroup";
 | |
| 					cm.Parameters.AddWithValue("@gID", criteria.Gid);
 | |
| 					cm.ExecuteNonQuery();
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Group",ex);
 | |
| 		}
 | |
| 		}
 | |
| 
 | |
| 		[Transactional(TransactionalTypes.TransactionScope)]
 | |
| 		public static void Remove(SqlConnection cn,int gid)
 | |
| 		{
 | |
| 			try{
 | |
| 			using (SqlCommand cm = cn.CreateCommand())
 | |
| 			{
 | |
| 				cm.CommandType = CommandType.StoredProcedure;
 | |
| 				cm.CommandText = "deleteGroup";
 | |
| 				// Input PK Fields
 | |
| 
 | |
| 					cm.Parameters.AddWithValue("@gID", gid);
 | |
| 				// TODO: Define any additional output parameters
 | |
| 				cm.ExecuteNonQuery();
 | |
| 			}
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Group",ex);
 | |
| 		}
 | |
| 		}
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| 		#region Exists
 | |
| 
 | |
| 
 | |
|     public static bool Exists(int gid)
 | |
|     {
 | |
|       ExistsCommand result;
 | |
|       result = DataPortal.Execute<ExistsCommand>
 | |
|         (new ExistsCommand(gid));
 | |
|       return result.Exists;
 | |
|     }
 | |
| 
 | |
|     [Serializable()]
 | |
|     private class ExistsCommand : CommandBase
 | |
|     {
 | |
| 
 | |
| 			private int _gid;
 | |
| 		private bool _exists;
 | |
| 
 | |
|       public bool Exists
 | |
|       {
 | |
|         get { return _exists; }
 | |
|       }
 | |
| 
 | |
|       public ExistsCommand(int gid)
 | |
|       {
 | |
| 				_gid=gid;
 | |
| 		}
 | |
| 
 | |
|       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 = "existsGroup";
 | |
| 
 | |
| 			cm.Parameters.AddWithValue("@gID", _gid);
 | |
| 			int count = (int)cm.ExecuteScalar();
 | |
|             _exists = (count > 0);
 | |
|           }
 | |
|         }
 | |
| 		}
 | |
| 		catch(Exception ex)
 | |
| 		{
 | |
| 			Database.LogException("Group",ex);
 | |
| 		}
 | |
|       }
 | |
|     }
 | |
| 
 | |
| 		#endregion
 | |
| 
 | |
| // Standard Default Code
 | |
| 		//	#region extension
 | |
| 		Extension ext = new Extension();
 | |
| 		[Serializable()]
 | |
| 		partial class Extension : extensionBase
 | |
| 		{
 | |
| 		}
 | |
| 		[Serializable()]
 | |
| 		class extensionBase
 | |
| 		{
 | |
| 			// Default Values
 | |
| 			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 GroupExt.cs
 | |
| //using System;
 | |
| //using System.Collections.Generic;
 | |
| //using System.Text;
 | |
| //using Csla;
 | |
| 
 | |
| //namespace PatrialClass
 | |
| //{
 | |
| //  public partial class Group
 | |
| //  {
 | |
| //    partial class Extension : extensionBase
 | |
| //    {
 | |
| // TODO: Override automatic defaults
 | |
| //			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
 |