예제 #1
0
 ///<summary>Inserts one GradingScaleItem into the database.  Returns the new priKey.</summary>
 public static long Insert(GradingScaleItem gradingScaleItem)
 {
     if (DataConnection.DBtype == DatabaseType.Oracle)
     {
         gradingScaleItem.GradingScaleItemNum = DbHelper.GetNextOracleKey("gradingscaleitem", "GradingScaleItemNum");
         int loopcount = 0;
         while (loopcount < 100)
         {
             try {
                 return(Insert(gradingScaleItem, true));
             }
             catch (Oracle.ManagedDataAccess.Client.OracleException ex) {
                 if (ex.Number == 1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated"))
                 {
                     gradingScaleItem.GradingScaleItemNum++;
                     loopcount++;
                 }
                 else
                 {
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else
     {
         return(Insert(gradingScaleItem, false));
     }
 }
예제 #2
0
		///<summary>Inserts one GradingScaleItem into the database.  Provides option to use the existing priKey.</summary>
		public static long Insert(GradingScaleItem gradingScaleItem,bool useExistingPK){
			if(!useExistingPK && PrefC.RandomKeys) {
				gradingScaleItem.GradingScaleItemNum=ReplicationServers.GetKey("gradingscaleitem","GradingScaleItemNum");
			}
			string command="INSERT INTO gradingscaleitem (";
			if(useExistingPK || PrefC.RandomKeys) {
				command+="GradingScaleItemNum,";
			}
			command+="GradingScaleNum,GradeShowing,GradeNumber,Description) VALUES(";
			if(useExistingPK || PrefC.RandomKeys) {
				command+=POut.Long(gradingScaleItem.GradingScaleItemNum)+",";
			}
			command+=
				     POut.Long  (gradingScaleItem.GradingScaleNum)+","
				+"'"+POut.String(gradingScaleItem.GradeShowing)+"',"
				+    POut.Float (gradingScaleItem.GradeNumber)+","
				+"'"+POut.String(gradingScaleItem.Description)+"')";
			if(useExistingPK || PrefC.RandomKeys) {
				Db.NonQ(command);
			}
			else {
				gradingScaleItem.GradingScaleItemNum=Db.NonQ(command,true);
			}
			return gradingScaleItem.GradingScaleItemNum;
		}
예제 #3
0
        ///<summary>Inserts one GradingScaleItem into the database.  Provides option to use the existing priKey.  Doesn't use the cache.</summary>
        public static long InsertNoCache(GradingScaleItem gradingScaleItem, bool useExistingPK)
        {
            bool   isRandomKeys = Prefs.GetBoolNoCache(PrefName.RandomPrimaryKeys);
            string command      = "INSERT INTO gradingscaleitem (";

            if (!useExistingPK && isRandomKeys)
            {
                gradingScaleItem.GradingScaleItemNum = ReplicationServers.GetKeyNoCache("gradingscaleitem", "GradingScaleItemNum");
            }
            if (isRandomKeys || useExistingPK)
            {
                command += "GradingScaleItemNum,";
            }
            command += "GradingScaleNum,GradeShowing,GradeNumber,Description) VALUES(";
            if (isRandomKeys || useExistingPK)
            {
                command += POut.Long(gradingScaleItem.GradingScaleItemNum) + ",";
            }
            command +=
                POut.Long(gradingScaleItem.GradingScaleNum) + ","
                + "'" + POut.String(gradingScaleItem.GradeShowing) + "',"
                + POut.Float(gradingScaleItem.GradeNumber) + ","
                + "'" + POut.String(gradingScaleItem.Description) + "')";
            if (useExistingPK || isRandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                gradingScaleItem.GradingScaleItemNum = Db.NonQ(command, true, "GradingScaleItemNum", "gradingScaleItem");
            }
            return(gradingScaleItem.GradingScaleItemNum);
        }
예제 #4
0
        ///<summary>Inserts one GradingScaleItem into the database.  Provides option to use the existing priKey.</summary>
        public static long Insert(GradingScaleItem gradingScaleItem, bool useExistingPK)
        {
            if (!useExistingPK && PrefC.RandomKeys)
            {
                gradingScaleItem.GradingScaleItemNum = ReplicationServers.GetKey("gradingscaleitem", "GradingScaleItemNum");
            }
            string command = "INSERT INTO gradingscaleitem (";

            if (useExistingPK || PrefC.RandomKeys)
            {
                command += "GradingScaleItemNum,";
            }
            command += "GradingScaleNum,GradeShowing,GradeNumber,Description) VALUES(";
            if (useExistingPK || PrefC.RandomKeys)
            {
                command += POut.Long(gradingScaleItem.GradingScaleItemNum) + ",";
            }
            command +=
                POut.Long(gradingScaleItem.GradingScaleNum) + ","
                + "'" + POut.String(gradingScaleItem.GradeShowing) + "',"
                + POut.Float(gradingScaleItem.GradeNumber) + ","
                + "'" + POut.String(gradingScaleItem.Description) + "')";
            if (useExistingPK || PrefC.RandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                gradingScaleItem.GradingScaleItemNum = Db.NonQ(command, true, "GradingScaleItemNum", "gradingScaleItem");
            }
            return(gradingScaleItem.GradingScaleItemNum);
        }
예제 #5
0
        ///<summary>Updates one GradingScaleItem in the database.</summary>
        public static void Update(GradingScaleItem gradingScaleItem)
        {
            string command = "UPDATE gradingscaleitem SET "
                             + "GradingScaleNum    =  " + POut.Long(gradingScaleItem.GradingScaleNum) + ", "
                             + "GradeShowing       = '" + POut.String(gradingScaleItem.GradeShowing) + "', "
                             + "GradeNumber        =  " + POut.Float(gradingScaleItem.GradeNumber) + ", "
                             + "Description        = '" + POut.String(gradingScaleItem.Description) + "' "
                             + "WHERE GradingScaleItemNum = " + POut.Long(gradingScaleItem.GradingScaleItemNum);

            Db.NonQ(command);
        }
예제 #6
0
        private void butAdd_Click(object sender, EventArgs e)
        {
            GradingScaleItem gradingScaleItemNew = new GradingScaleItem();

            gradingScaleItemNew.GradingScaleNum = _gradingScaleCur.GradingScaleNum;          //Must be set prior to edit window being open if a new item.
            gradingScaleItemNew.IsNew           = true;
            FormGradingScaleItemEdit FormGSIE = new FormGradingScaleItemEdit(gradingScaleItemNew);

            FormGSIE.ShowDialog();
            FillGrid();
        }
예제 #7
0
		///<summary>Converts a DataTable to a list of objects.</summary>
		public static List<GradingScaleItem> TableToList(DataTable table){
			List<GradingScaleItem> retVal=new List<GradingScaleItem>();
			GradingScaleItem gradingScaleItem;
			for(int i=0;i<table.Rows.Count;i++) {
				gradingScaleItem=new GradingScaleItem();
				gradingScaleItem.GradingScaleItemNum= PIn.Long  (table.Rows[i]["GradingScaleItemNum"].ToString());
				gradingScaleItem.GradingScaleNum    = PIn.Long  (table.Rows[i]["GradingScaleNum"].ToString());
				gradingScaleItem.GradeShowing       = PIn.String(table.Rows[i]["GradeShowing"].ToString());
				gradingScaleItem.GradeNumber        = PIn.Float (table.Rows[i]["GradeNumber"].ToString());
				gradingScaleItem.Description        = PIn.String(table.Rows[i]["Description"].ToString());
				retVal.Add(gradingScaleItem);
			}
			return retVal;
		}
예제 #8
0
 ///<summary>Inserts one GradingScaleItem into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
 public static long InsertNoCache(GradingScaleItem gradingScaleItem)
 {
     if (DataConnection.DBtype == DatabaseType.MySql)
     {
         return(InsertNoCache(gradingScaleItem, false));
     }
     else
     {
         if (DataConnection.DBtype == DatabaseType.Oracle)
         {
             gradingScaleItem.GradingScaleItemNum = DbHelper.GetNextOracleKey("gradingscaleitem", "GradingScaleItemNum");                  //Cacheless method
         }
         return(InsertNoCache(gradingScaleItem, true));
     }
 }
예제 #9
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <GradingScaleItem> TableToList(DataTable table)
        {
            List <GradingScaleItem> retVal = new List <GradingScaleItem>();
            GradingScaleItem        gradingScaleItem;

            foreach (DataRow row in table.Rows)
            {
                gradingScaleItem = new GradingScaleItem();
                gradingScaleItem.GradingScaleItemNum = PIn.Long(row["GradingScaleItemNum"].ToString());
                gradingScaleItem.GradingScaleNum     = PIn.Long(row["GradingScaleNum"].ToString());
                gradingScaleItem.GradeShowing        = PIn.String(row["GradeShowing"].ToString());
                gradingScaleItem.GradeNumber         = PIn.Float(row["GradeNumber"].ToString());
                gradingScaleItem.Description         = PIn.String(row["Description"].ToString());
                retVal.Add(gradingScaleItem);
            }
            return(retVal);
        }
예제 #10
0
        ///<summary>Updates one GradingScaleItem 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(GradingScaleItem gradingScaleItem, GradingScaleItem oldGradingScaleItem)
        {
            string command = "";

            if (gradingScaleItem.GradingScaleNum != oldGradingScaleItem.GradingScaleNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "GradingScaleNum = " + POut.Long(gradingScaleItem.GradingScaleNum) + "";
            }
            if (gradingScaleItem.GradeShowing != oldGradingScaleItem.GradeShowing)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "GradeShowing = '" + POut.String(gradingScaleItem.GradeShowing) + "'";
            }
            if (gradingScaleItem.GradeNumber != oldGradingScaleItem.GradeNumber)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "GradeNumber = " + POut.Float(gradingScaleItem.GradeNumber) + "";
            }
            if (gradingScaleItem.Description != oldGradingScaleItem.Description)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Description = '" + POut.String(gradingScaleItem.Description) + "'";
            }
            if (command == "")
            {
                return(false);
            }
            command = "UPDATE gradingscaleitem SET " + command
                      + " WHERE GradingScaleItemNum = " + POut.Long(gradingScaleItem.GradingScaleItemNum);
            Db.NonQ(command);
            return(true);
        }
예제 #11
0
 ///<summary>Returns true if Update(GradingScaleItem,GradingScaleItem) would make changes to the database.
 ///Does not make any changes to the database and can be called before remoting role is checked.</summary>
 public static bool UpdateComparison(GradingScaleItem gradingScaleItem, GradingScaleItem oldGradingScaleItem)
 {
     if (gradingScaleItem.GradingScaleNum != oldGradingScaleItem.GradingScaleNum)
     {
         return(true);
     }
     if (gradingScaleItem.GradeShowing != oldGradingScaleItem.GradeShowing)
     {
         return(true);
     }
     if (gradingScaleItem.GradeNumber != oldGradingScaleItem.GradeNumber)
     {
         return(true);
     }
     if (gradingScaleItem.Description != oldGradingScaleItem.Description)
     {
         return(true);
     }
     return(false);
 }
예제 #12
0
		///<summary>Inserts one GradingScaleItem into the database.  Returns the new priKey.</summary>
		public static long Insert(GradingScaleItem gradingScaleItem){
			if(DataConnection.DBtype==DatabaseType.Oracle) {
				gradingScaleItem.GradingScaleItemNum=DbHelper.GetNextOracleKey("gradingscaleitem","GradingScaleItemNum");
				int loopcount=0;
				while(loopcount<100){
					try {
						return Insert(gradingScaleItem,true);
					}
					catch(Oracle.DataAccess.Client.OracleException ex){
						if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){
							gradingScaleItem.GradingScaleItemNum++;
							loopcount++;
						}
						else{
							throw ex;
						}
					}
				}
				throw new ApplicationException("Insert failed.  Could not generate primary key.");
			}
			else {
				return Insert(gradingScaleItem,false);
			}
		}
예제 #13
0
		///<summary>Updates one GradingScaleItem 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(GradingScaleItem gradingScaleItem,GradingScaleItem oldGradingScaleItem){
			string command="";
			if(gradingScaleItem.GradingScaleNum != oldGradingScaleItem.GradingScaleNum) {
				if(command!=""){ command+=",";}
				command+="GradingScaleNum = "+POut.Long(gradingScaleItem.GradingScaleNum)+"";
			}
			if(gradingScaleItem.GradeShowing != oldGradingScaleItem.GradeShowing) {
				if(command!=""){ command+=",";}
				command+="GradeShowing = '"+POut.String(gradingScaleItem.GradeShowing)+"'";
			}
			if(gradingScaleItem.GradeNumber != oldGradingScaleItem.GradeNumber) {
				if(command!=""){ command+=",";}
				command+="GradeNumber = "+POut.Float(gradingScaleItem.GradeNumber)+"";
			}
			if(gradingScaleItem.Description != oldGradingScaleItem.Description) {
				if(command!=""){ command+=",";}
				command+="Description = '"+POut.String(gradingScaleItem.Description)+"'";
			}
			if(command==""){
				return false;
			}
			command="UPDATE gradingscaleitem SET "+command
				+" WHERE GradingScaleItemNum = "+POut.Long(gradingScaleItem.GradingScaleItemNum);
			Db.NonQ(command);
			return true;
		}
예제 #14
0
		///<summary>Updates one GradingScaleItem in the database.</summary>
		public static void Update(GradingScaleItem gradingScaleItem){
			string command="UPDATE gradingscaleitem SET "
				+"GradingScaleNum    =  "+POut.Long  (gradingScaleItem.GradingScaleNum)+", "
				+"GradeShowing       = '"+POut.String(gradingScaleItem.GradeShowing)+"', "
				+"GradeNumber        =  "+POut.Float (gradingScaleItem.GradeNumber)+", "
				+"Description        = '"+POut.String(gradingScaleItem.Description)+"' "
				+"WHERE GradingScaleItemNum = "+POut.Long(gradingScaleItem.GradingScaleItemNum);
			Db.NonQ(command);
		}
예제 #15
0
 public FormGradingScaleItemEdit(GradingScaleItem gradingScaleItemCur)
 {
     InitializeComponent();
     Lan.F(this);
     _gradingScaleItemCur = gradingScaleItemCur;
 }
 ///<summary>Inserts one GradingScaleItem into the database.  Returns the new priKey.</summary>
 public static long Insert(GradingScaleItem gradingScaleItem)
 {
     return(Insert(gradingScaleItem, false));
 }