///<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)); } }
///<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>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>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); } }
///<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); }
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; }
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); }
///<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); }