Esempio n. 1
0
 ///<summary>Inserts one SigButDefElement into the database.  Returns the new priKey.</summary>
 public static long Insert(SigButDefElement sigButDefElement)
 {
     if (DataConnection.DBtype == DatabaseType.Oracle)
     {
         sigButDefElement.ElementNum = DbHelper.GetNextOracleKey("sigbutdefelement", "ElementNum");
         int loopcount = 0;
         while (loopcount < 100)
         {
             try {
                 return(Insert(sigButDefElement, true));
             }
             catch (Oracle.DataAccess.Client.OracleException ex) {
                 if (ex.Number == 1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated"))
                 {
                     sigButDefElement.ElementNum++;
                     loopcount++;
                 }
                 else
                 {
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else
     {
         return(Insert(sigButDefElement, false));
     }
 }
Esempio n. 2
0
        ///<summary>Updates one SigButDefElement 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.</summary>
        public static void Update(SigButDefElement sigButDefElement, SigButDefElement oldSigButDefElement)
        {
            string command = "";

            if (sigButDefElement.SigButDefNum != oldSigButDefElement.SigButDefNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "SigButDefNum = " + POut.Long(sigButDefElement.SigButDefNum) + "";
            }
            if (sigButDefElement.SigElementDefNum != oldSigButDefElement.SigElementDefNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "SigElementDefNum = " + POut.Long(sigButDefElement.SigElementDefNum) + "";
            }
            if (command == "")
            {
                return;
            }
            command = "UPDATE sigbutdefelement SET " + command
                      + " WHERE ElementNum = " + POut.Long(sigButDefElement.ElementNum);
            Db.NonQ(command);
        }
Esempio n. 3
0
        ///<summary>Inserts one SigButDefElement into the database.  Provides option to use the existing priKey.</summary>
        public static long Insert(SigButDefElement sigButDefElement, bool useExistingPK)
        {
            if (!useExistingPK && PrefC.RandomKeys)
            {
                sigButDefElement.ElementNum = ReplicationServers.GetKey("sigbutdefelement", "ElementNum");
            }
            string command = "INSERT INTO sigbutdefelement (";

            if (useExistingPK || PrefC.RandomKeys)
            {
                command += "ElementNum,";
            }
            command += "SigButDefNum,SigElementDefNum) VALUES(";
            if (useExistingPK || PrefC.RandomKeys)
            {
                command += POut.Long(sigButDefElement.ElementNum) + ",";
            }
            command +=
                POut.Long(sigButDefElement.SigButDefNum) + ","
                + POut.Long(sigButDefElement.SigElementDefNum) + ")";
            if (useExistingPK || PrefC.RandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                sigButDefElement.ElementNum = Db.NonQ(command, true);
            }
            return(sigButDefElement.ElementNum);
        }
Esempio n. 4
0
 ///<summary>Inserts one SigButDefElement into the database.  Returns the new priKey.</summary>
 internal static long Insert(SigButDefElement sigButDefElement)
 {
     if(DataConnection.DBtype==DatabaseType.Oracle) {
         sigButDefElement.ElementNum=DbHelper.GetNextOracleKey("sigbutdefelement","ElementNum");
         int loopcount=0;
         while(loopcount<100){
             try {
                 return Insert(sigButDefElement,true);
             }
             catch(Oracle.DataAccess.Client.OracleException ex){
                 if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){
                     sigButDefElement.ElementNum++;
                     loopcount++;
                 }
                 else{
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else {
         return Insert(sigButDefElement,false);
     }
 }
Esempio n. 5
0
        ///<summary>Updates one SigButDefElement in the database.</summary>
        public static void Update(SigButDefElement sigButDefElement)
        {
            string command = "UPDATE sigbutdefelement SET "
                             + "SigButDefNum    =  " + POut.Long(sigButDefElement.SigButDefNum) + ", "
                             + "SigElementDefNum=  " + POut.Long(sigButDefElement.SigElementDefNum) + " "
                             + "WHERE ElementNum = " + POut.Long(sigButDefElement.ElementNum);

            Db.NonQ(command);
        }
        /*
         * ///<summary>This will never happen</summary>
         * public void Update(){
         *      string command= "UPDATE SigButDefElement SET "
         +"FromUser = '******'"
         +",ITypes = '"     +POut.PInt   ((int)ITypes)+"'"
         +",DateViewing = '"+POut.PDate  (DateViewing)+"'"
         +",SigType = '"    +POut.PInt   ((int)SigType)+"'"
         +" WHERE SigButDefElementNum = '"+POut.PInt(SigButDefElementNum)+"'";
         *      DataConnection dcon=new DataConnection();
         *      General.NonQ(command);
         * }*/

        ///<summary></summary>
        public static void Insert(SigButDefElement element)
        {
            string command = "INSERT INTO sigbutdefelement (";

            command += "SigButDefNum,SigElementDefNum"
                       + ") VALUES(";
            command +=
                "'" + POut.PInt(element.SigButDefNum) + "', "
                + "'" + POut.PInt(element.SigElementDefNum) + "')";
            element.ElementNum = General.NonQ(command, true);
        }
Esempio n. 7
0
        private void butOK_Click(object sender, System.EventArgs e)
        {
            if (textSynchIcon.errorProvider1.GetError(textSynchIcon) != ""
                )
            {
                MsgBox.Show(this, "Please fix data entry errors first.");
                return;
            }
            if (textButtonText.Text == "")
            {
                MsgBox.Show(this, "Please enter a text description first.");
                return;
            }
            if (textSynchIcon.Text == "")
            {
                textSynchIcon.Text = "0";
            }
            ButtonCur.ButtonText = textButtonText.Text;
            ButtonCur.SynchIcon  = PIn.PInt(textSynchIcon.Text);
            if (IsNew)
            {
                SigButDefs.Insert(ButtonCur);
            }
            else
            {
                SigButDefs.Update(ButtonCur);
            }
            //delete all the existing elements
            SigButDefs.DeleteElements(ButtonCur);
            SigButDefElement element;

            if (comboTo.SelectedIndex != 0)
            {
                element = new SigButDefElement();
                element.SigButDefNum     = ButtonCur.SigButDefNum;
                element.SigElementDefNum = sigElementDefUser[comboTo.SelectedIndex - 1].SigElementDefNum;
                SigButDefElements.Insert(element);
            }
            if (comboExtras.SelectedIndex != 0)
            {
                element = new SigButDefElement();
                element.SigButDefNum     = ButtonCur.SigButDefNum;
                element.SigElementDefNum = sigElementDefExtras[comboExtras.SelectedIndex - 1].SigElementDefNum;
                SigButDefElements.Insert(element);
            }
            if (comboMessage.SelectedIndex != 0)
            {
                element = new SigButDefElement();
                element.SigButDefNum     = ButtonCur.SigButDefNum;
                element.SigElementDefNum = sigElementDefMessages[comboMessage.SelectedIndex - 1].SigElementDefNum;
                SigButDefElements.Insert(element);
            }
            DialogResult = DialogResult.OK;
        }
Esempio n. 8
0
        private void FormSigButDefEdit_Load(object sender, EventArgs e)
        {
            if (ButtonCur.ComputerName == "")
            {
                radioAll.Checked = true;
            }
            else
            {
                radioOne.Checked      = true;
                textComputerName.Text = ButtonCur.ComputerName;
            }
            textButtonText.Text   = ButtonCur.ButtonText;
            textSynchIcon.Text    = ButtonCur.SynchIcon.ToString();
            sigElementDefUser     = SigElementDefs.GetSubList(SignalElementType.User);
            sigElementDefExtras   = SigElementDefs.GetSubList(SignalElementType.Extra);
            sigElementDefMessages = SigElementDefs.GetSubList(SignalElementType.Message);
            SigButDefElement elementUser    = SigButDefs.GetElement(ButtonCur, SignalElementType.User);
            SigButDefElement elementExtra   = SigButDefs.GetElement(ButtonCur, SignalElementType.Extra);
            SigButDefElement elementMessage = SigButDefs.GetElement(ButtonCur, SignalElementType.Message);

            comboTo.Items.Clear();
            comboTo.Items.Add(Lan.g(this, "none"));
            comboTo.SelectedIndex = 0;
            for (int i = 0; i < sigElementDefUser.Length; i++)
            {
                comboTo.Items.Add(sigElementDefUser[i].SigText);
                if (elementUser != null && elementUser.SigElementDefNum == sigElementDefUser[i].SigElementDefNum)
                {
                    comboTo.SelectedIndex = i + 1;
                }
            }
            comboExtras.Items.Clear();
            comboExtras.Items.Add(Lan.g(this, "none"));
            comboExtras.SelectedIndex = 0;
            for (int i = 0; i < sigElementDefExtras.Length; i++)
            {
                comboExtras.Items.Add(sigElementDefExtras[i].SigText);
                if (elementExtra != null && elementExtra.SigElementDefNum == sigElementDefExtras[i].SigElementDefNum)
                {
                    comboExtras.SelectedIndex = i + 1;
                }
            }
            comboMessage.Items.Clear();
            comboMessage.Items.Add(Lan.g(this, "none"));
            comboMessage.SelectedIndex = 0;
            for (int i = 0; i < sigElementDefMessages.Length; i++)
            {
                comboMessage.Items.Add(sigElementDefMessages[i].SigText);
                if (elementMessage != null && elementMessage.SigElementDefNum == sigElementDefMessages[i].SigElementDefNum)
                {
                    comboMessage.SelectedIndex = i + 1;
                }
            }
        }
		///<summary>Converts a DataTable to a list of objects.</summary>
		public static List<SigButDefElement> TableToList(DataTable table){
			List<SigButDefElement> retVal=new List<SigButDefElement>();
			SigButDefElement sigButDefElement;
			for(int i=0;i<table.Rows.Count;i++) {
				sigButDefElement=new SigButDefElement();
				sigButDefElement.ElementNum      = PIn.Long  (table.Rows[i]["ElementNum"].ToString());
				sigButDefElement.SigButDefNum    = PIn.Long  (table.Rows[i]["SigButDefNum"].ToString());
				sigButDefElement.SigElementDefNum= PIn.Long  (table.Rows[i]["SigElementDefNum"].ToString());
				retVal.Add(sigButDefElement);
			}
			return retVal;
		}
        ///<summary>Gets all SigButDefElements for all buttons, ordered by type: user,extras, message.</summary>
        public static void Refresh()
        {
            string    command = "SELECT * FROM sigbutdefelement";
            DataTable table   = General.GetTable(command);

            List = new SigButDefElement[table.Rows.Count];
            for (int i = 0; i < table.Rows.Count; i++)
            {
                List[i]                  = new SigButDefElement();
                List[i].ElementNum       = PIn.PInt(table.Rows[i][0].ToString());
                List[i].SigButDefNum     = PIn.PInt(table.Rows[i][1].ToString());
                List[i].SigElementDefNum = PIn.PInt(table.Rows[i][2].ToString());
            }
            //Array.Sort(List);
        }
Esempio n. 11
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <SigButDefElement> TableToList(DataTable table)
        {
            List <SigButDefElement> retVal = new List <SigButDefElement>();
            SigButDefElement        sigButDefElement;

            for (int i = 0; i < table.Rows.Count; i++)
            {
                sigButDefElement                  = new SigButDefElement();
                sigButDefElement.ElementNum       = PIn.Long(table.Rows[i]["ElementNum"].ToString());
                sigButDefElement.SigButDefNum     = PIn.Long(table.Rows[i]["SigButDefNum"].ToString());
                sigButDefElement.SigElementDefNum = PIn.Long(table.Rows[i]["SigElementDefNum"].ToString());
                retVal.Add(sigButDefElement);
            }
            return(retVal);
        }
        ///<summary>Loops through the SigButDefElement list and pulls out all elements for one specific button.</summary>
        public static SigButDefElement[] GetForButton(int sigButDefNum)
        {
            ArrayList AL = new ArrayList();

            for (int i = 0; i < List.Length; i++)
            {
                if (List[i].SigButDefNum == sigButDefNum)
                {
                    AL.Add(List[i].Copy());
                }
            }
            SigButDefElement[] retVal = new SigButDefElement[AL.Count];
            AL.CopyTo(retVal);
            return(retVal);
            //already ordered because List is ordered.
        }
		///<summary>Inserts one SigButDefElement into the database.  Provides option to use the existing priKey.</summary>
		public static long Insert(SigButDefElement sigButDefElement,bool useExistingPK){
			if(!useExistingPK && PrefC.RandomKeys) {
				sigButDefElement.ElementNum=ReplicationServers.GetKey("sigbutdefelement","ElementNum");
			}
			string command="INSERT INTO sigbutdefelement (";
			if(useExistingPK || PrefC.RandomKeys) {
				command+="ElementNum,";
			}
			command+="SigButDefNum,SigElementDefNum) VALUES(";
			if(useExistingPK || PrefC.RandomKeys) {
				command+=POut.Long(sigButDefElement.ElementNum)+",";
			}
			command+=
				     POut.Long  (sigButDefElement.SigButDefNum)+","
				+    POut.Long  (sigButDefElement.SigElementDefNum)+")";
			if(useExistingPK || PrefC.RandomKeys) {
				Db.NonQ(command);
			}
			else {
				sigButDefElement.ElementNum=Db.NonQ(command,true);
			}
			return sigButDefElement.ElementNum;
		}
        ///<summary></summary>
        public static void Delete(SigButDefElement element)
        {
            string command = "DELETE from sigbutdefelement WHERE ElementNum = '" + POut.PInt(element.ElementNum) + "'";

            General.NonQ(command);
        }
		///<summary>Updates one SigButDefElement 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.</summary>
		public static void Update(SigButDefElement sigButDefElement,SigButDefElement oldSigButDefElement){
			string command="";
			if(sigButDefElement.SigButDefNum != oldSigButDefElement.SigButDefNum) {
				if(command!=""){ command+=",";}
				command+="SigButDefNum = "+POut.Long(sigButDefElement.SigButDefNum)+"";
			}
			if(sigButDefElement.SigElementDefNum != oldSigButDefElement.SigElementDefNum) {
				if(command!=""){ command+=",";}
				command+="SigElementDefNum = "+POut.Long(sigButDefElement.SigElementDefNum)+"";
			}
			if(command==""){
				return;
			}
			command="UPDATE sigbutdefelement SET "+command
				+" WHERE ElementNum = "+POut.Long(sigButDefElement.ElementNum);
			Db.NonQ(command);
		}
		///<summary>Updates one SigButDefElement in the database.</summary>
		public static void Update(SigButDefElement sigButDefElement){
			string command="UPDATE sigbutdefelement SET "
				+"SigButDefNum    =  "+POut.Long  (sigButDefElement.SigButDefNum)+", "
				+"SigElementDefNum=  "+POut.Long  (sigButDefElement.SigElementDefNum)+" "
				+"WHERE ElementNum = "+POut.Long(sigButDefElement.ElementNum);
			Db.NonQ(command);
		}