예제 #1
0
파일: SmsVlnCrud.cs 프로젝트: mnisl/OD
		///<summary>Converts a DataTable to a list of objects.</summary>
		public static List<SmsVln> TableToList(DataTable table){
			List<SmsVln> retVal=new List<SmsVln>();
			SmsVln smsVln;
			for(int i=0;i<table.Rows.Count;i++) {
				smsVln=new SmsVln();
				smsVln.SmsVlnNum   = PIn.Long  (table.Rows[i]["SmsVlnNum"].ToString());
				smsVln.ClinicNum   = PIn.Long  (table.Rows[i]["ClinicNum"].ToString());
				smsVln.VlnNumber   = PIn.String(table.Rows[i]["VlnNumber"].ToString());
				smsVln.DateActive  = PIn.DateT (table.Rows[i]["DateActive"].ToString());
				smsVln.DateInactive= PIn.DateT (table.Rows[i]["DateInactive"].ToString());
				smsVln.InactiveCode= PIn.String(table.Rows[i]["InactiveCode"].ToString());
				retVal.Add(smsVln);
			}
			return retVal;
		}
예제 #2
0
파일: SmsVlnCrud.cs 프로젝트: mnisl/OD
		///<summary>Inserts one SmsVln into the database.  Returns the new priKey.</summary>
		public static long Insert(SmsVln smsVln){
			if(DataConnection.DBtype==DatabaseType.Oracle) {
				smsVln.SmsVlnNum=DbHelper.GetNextOracleKey("smsvln","SmsVlnNum");
				int loopcount=0;
				while(loopcount<100){
					try {
						return Insert(smsVln,true);
					}
					catch(Oracle.DataAccess.Client.OracleException ex){
						if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){
							smsVln.SmsVlnNum++;
							loopcount++;
						}
						else{
							throw ex;
						}
					}
				}
				throw new ApplicationException("Insert failed.  Could not generate primary key.");
			}
			else {
				return Insert(smsVln,false);
			}
		}
예제 #3
0
파일: SmsVlnCrud.cs 프로젝트: mnisl/OD
		///<summary>Inserts one SmsVln into the database.  Provides option to use the existing priKey.</summary>
		public static long Insert(SmsVln smsVln,bool useExistingPK){
			if(!useExistingPK && PrefC.RandomKeys) {
				smsVln.SmsVlnNum=ReplicationServers.GetKey("smsvln","SmsVlnNum");
			}
			string command="INSERT INTO smsvln (";
			if(useExistingPK || PrefC.RandomKeys) {
				command+="SmsVlnNum,";
			}
			command+="ClinicNum,VlnNumber,DateActive,DateInactive,InactiveCode) VALUES(";
			if(useExistingPK || PrefC.RandomKeys) {
				command+=POut.Long(smsVln.SmsVlnNum)+",";
			}
			command+=
				     POut.Long  (smsVln.ClinicNum)+","
				+"'"+POut.String(smsVln.VlnNumber)+"',"
				+    POut.DateT (smsVln.DateActive)+","
				+    POut.DateT (smsVln.DateInactive)+","
				+"'"+POut.String(smsVln.InactiveCode)+"')";
			if(useExistingPK || PrefC.RandomKeys) {
				Db.NonQ(command);
			}
			else {
				smsVln.SmsVlnNum=Db.NonQ(command,true);
			}
			return smsVln.SmsVlnNum;
		}
예제 #4
0
파일: SmsVlnCrud.cs 프로젝트: mnisl/OD
		///<summary>Updates one SmsVln in the database.  Uses an old object to compare to, and only alters changed fields.  This prevents collisions and concurrency problems in heavily used tables.  Returns true if an update occurred.</summary>
		public static bool Update(SmsVln smsVln,SmsVln oldSmsVln){
			string command="";
			if(smsVln.ClinicNum != oldSmsVln.ClinicNum) {
				if(command!=""){ command+=",";}
				command+="ClinicNum = "+POut.Long(smsVln.ClinicNum)+"";
			}
			if(smsVln.VlnNumber != oldSmsVln.VlnNumber) {
				if(command!=""){ command+=",";}
				command+="VlnNumber = '"+POut.String(smsVln.VlnNumber)+"'";
			}
			if(smsVln.DateActive != oldSmsVln.DateActive) {
				if(command!=""){ command+=",";}
				command+="DateActive = "+POut.DateT(smsVln.DateActive)+"";
			}
			if(smsVln.DateInactive != oldSmsVln.DateInactive) {
				if(command!=""){ command+=",";}
				command+="DateInactive = "+POut.DateT(smsVln.DateInactive)+"";
			}
			if(smsVln.InactiveCode != oldSmsVln.InactiveCode) {
				if(command!=""){ command+=",";}
				command+="InactiveCode = '"+POut.String(smsVln.InactiveCode)+"'";
			}
			if(command==""){
				return false;
			}
			command="UPDATE smsvln SET "+command
				+" WHERE SmsVlnNum = "+POut.Long(smsVln.SmsVlnNum);
			Db.NonQ(command);
			return true;
		}
예제 #5
0
파일: SmsVlnCrud.cs 프로젝트: mnisl/OD
		///<summary>Updates one SmsVln in the database.</summary>
		public static void Update(SmsVln smsVln){
			string command="UPDATE smsvln SET "
				+"ClinicNum   =  "+POut.Long  (smsVln.ClinicNum)+", "
				+"VlnNumber   = '"+POut.String(smsVln.VlnNumber)+"', "
				+"DateActive  =  "+POut.DateT (smsVln.DateActive)+", "
				+"DateInactive=  "+POut.DateT (smsVln.DateInactive)+", "
				+"InactiveCode= '"+POut.String(smsVln.InactiveCode)+"' "
				+"WHERE SmsVlnNum = "+POut.Long(smsVln.SmsVlnNum);
			Db.NonQ(command);
		}