///<summary>Inserts one ProcButtonItem into the database. Returns the new priKey.</summary> internal static long Insert(ProcButtonItem procButtonItem) { if(DataConnection.DBtype==DatabaseType.Oracle) { procButtonItem.ProcButtonItemNum=DbHelper.GetNextOracleKey("procbuttonitem","ProcButtonItemNum"); int loopcount=0; while(loopcount<100){ try { return Insert(procButtonItem,true); } catch(Oracle.DataAccess.Client.OracleException ex){ if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){ procButtonItem.ProcButtonItemNum++; loopcount++; } else{ throw ex; } } } throw new ApplicationException("Insert failed. Could not generate primary key."); } else { return Insert(procButtonItem,false); } }
///<summary>Inserts one ProcButtonItem into the database. Provides option to use the existing priKey.</summary> public static long Insert(ProcButtonItem procButtonItem, bool useExistingPK) { if (!useExistingPK && PrefC.RandomKeys) { procButtonItem.ProcButtonItemNum = ReplicationServers.GetKey("procbuttonitem", "ProcButtonItemNum"); } string command = "INSERT INTO procbuttonitem ("; if (useExistingPK || PrefC.RandomKeys) { command += "ProcButtonItemNum,"; } command += "ProcButtonNum,OldCode,AutoCodeNum,CodeNum,ItemOrder) VALUES("; if (useExistingPK || PrefC.RandomKeys) { command += POut.Long(procButtonItem.ProcButtonItemNum) + ","; } command += POut.Long(procButtonItem.ProcButtonNum) + "," + "'" + POut.String(procButtonItem.OldCode) + "'," + POut.Long(procButtonItem.AutoCodeNum) + "," + POut.Long(procButtonItem.CodeNum) + "," + POut.Long(procButtonItem.ItemOrder) + ")"; if (useExistingPK || PrefC.RandomKeys) { Db.NonQ(command); } else { procButtonItem.ProcButtonItemNum = Db.NonQ(command, true, "ProcButtonItemNum", "procButtonItem"); } return(procButtonItem.ProcButtonItemNum); }
///<summary>Inserts one ProcButtonItem into the database. Returns the new priKey.</summary> public static long Insert(ProcButtonItem procButtonItem) { if (DataConnection.DBtype == DatabaseType.Oracle) { procButtonItem.ProcButtonItemNum = DbHelper.GetNextOracleKey("procbuttonitem", "ProcButtonItemNum"); int loopcount = 0; while (loopcount < 100) { try { return(Insert(procButtonItem, true)); } catch (Oracle.DataAccess.Client.OracleException ex) { if (ex.Number == 1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")) { procButtonItem.ProcButtonItemNum++; loopcount++; } else { throw ex; } } } throw new ApplicationException("Insert failed. Could not generate primary key."); } else { return(Insert(procButtonItem, false)); } }
///<summary>Inserts one ProcButtonItem into the database. Provides option to use the existing priKey.</summary> public static long Insert(ProcButtonItem procButtonItem,bool useExistingPK){ if(!useExistingPK && PrefC.RandomKeys) { procButtonItem.ProcButtonItemNum=ReplicationServers.GetKey("procbuttonitem","ProcButtonItemNum"); } string command="INSERT INTO procbuttonitem ("; if(useExistingPK || PrefC.RandomKeys) { command+="ProcButtonItemNum,"; } command+="ProcButtonNum,OldCode,AutoCodeNum,CodeNum) VALUES("; if(useExistingPK || PrefC.RandomKeys) { command+=POut.Long(procButtonItem.ProcButtonItemNum)+","; } command+= POut.Long (procButtonItem.ProcButtonNum)+"," +"'"+POut.String(procButtonItem.OldCode)+"'," + POut.Long (procButtonItem.AutoCodeNum)+"," + POut.Long (procButtonItem.CodeNum)+")"; if(useExistingPK || PrefC.RandomKeys) { Db.NonQ(command); } else { procButtonItem.ProcButtonItemNum=Db.NonQ(command,true); } return procButtonItem.ProcButtonItemNum; }
///<summary>Inserts one ProcButtonItem into the database. Provides option to use the existing priKey. Doesn't use the cache.</summary> public static long InsertNoCache(ProcButtonItem procButtonItem, bool useExistingPK) { bool isRandomKeys = Prefs.GetBoolNoCache(PrefName.RandomPrimaryKeys); string command = "INSERT INTO procbuttonitem ("; if (!useExistingPK && isRandomKeys) { procButtonItem.ProcButtonItemNum = ReplicationServers.GetKeyNoCache("procbuttonitem", "ProcButtonItemNum"); } if (isRandomKeys || useExistingPK) { command += "ProcButtonItemNum,"; } command += "ProcButtonNum,OldCode,AutoCodeNum,CodeNum,ItemOrder) VALUES("; if (isRandomKeys || useExistingPK) { command += POut.Long(procButtonItem.ProcButtonItemNum) + ","; } command += POut.Long(procButtonItem.ProcButtonNum) + "," + "'" + POut.String(procButtonItem.OldCode) + "'," + POut.Long(procButtonItem.AutoCodeNum) + "," + POut.Long(procButtonItem.CodeNum) + "," + POut.Long(procButtonItem.ItemOrder) + ")"; if (useExistingPK || isRandomKeys) { Db.NonQ(command); } else { procButtonItem.ProcButtonItemNum = Db.NonQ(command, true, "ProcButtonItemNum", "procButtonItem"); } return(procButtonItem.ProcButtonItemNum); }
///<summary>Must have already checked ADACode for nonduplicate.</summary> public static void Insert(ProcButtonItem item) { string command = "INSERT INTO procbuttonitem (procbuttonnum,adacode,autocodenum) VALUES(" + "'" + POut.PInt(item.ProcButtonNum) + "', " + "'" + POut.PString(item.ADACode) + "', " + "'" + POut.PInt(item.AutoCodeNum) + "')"; General.NonQ(command); }
///<summary></summary> public static void Update(ProcButtonItem item) { string command = "UPDATE procbuttonitem SET " + "procbuttonnum='" + POut.PInt(item.ProcButtonNum) + "'" + ",adacode='" + POut.PString(item.ADACode) + "'" + ",autocodenum='" + POut.PInt(item.AutoCodeNum) + "'" + " WHERE procbuttonitemnum = '" + POut.PInt(item.ProcButtonItemNum) + "'"; General.NonQ(command); }
///<summary></summary> public static void Update(ProcButtonItem item) { string command = "UPDATE procbuttonitem SET " + "ProcButtonNum='" + POut.PInt(item.ProcButtonNum) + "'" + ",OldCode='" + POut.PString(item.OldCode) + "'" + ",AutoCodeNum='" + POut.PInt(item.AutoCodeNum) + "'" + ",CodeNum='" + POut.PInt(item.CodeNum) + "'" + " WHERE ProcButtonItemNum = '" + POut.PInt(item.ProcButtonItemNum) + "'"; General.NonQ(command); }
///<summary>Updates one ProcButtonItem in the database.</summary> public static void Update(ProcButtonItem procButtonItem) { string command = "UPDATE procbuttonitem SET " + "ProcButtonNum = " + POut.Long(procButtonItem.ProcButtonNum) + ", " + "OldCode = '" + POut.String(procButtonItem.OldCode) + "', " + "AutoCodeNum = " + POut.Long(procButtonItem.AutoCodeNum) + ", " + "CodeNum = " + POut.Long(procButtonItem.CodeNum) + " " + "WHERE ProcButtonItemNum = " + POut.Long(procButtonItem.ProcButtonItemNum); Db.NonQ(command); }
///<summary>Updates one ProcButtonItem 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(ProcButtonItem procButtonItem, ProcButtonItem oldProcButtonItem) { string command = ""; if (procButtonItem.ProcButtonNum != oldProcButtonItem.ProcButtonNum) { if (command != "") { command += ","; } command += "ProcButtonNum = " + POut.Long(procButtonItem.ProcButtonNum) + ""; } if (procButtonItem.OldCode != oldProcButtonItem.OldCode) { if (command != "") { command += ","; } command += "OldCode = '" + POut.String(procButtonItem.OldCode) + "'"; } if (procButtonItem.AutoCodeNum != oldProcButtonItem.AutoCodeNum) { if (command != "") { command += ","; } command += "AutoCodeNum = " + POut.Long(procButtonItem.AutoCodeNum) + ""; } if (procButtonItem.CodeNum != oldProcButtonItem.CodeNum) { if (command != "") { command += ","; } command += "CodeNum = " + POut.Long(procButtonItem.CodeNum) + ""; } if (procButtonItem.ItemOrder != oldProcButtonItem.ItemOrder) { if (command != "") { command += ","; } command += "ItemOrder = " + POut.Long(procButtonItem.ItemOrder) + ""; } if (command == "") { return(false); } command = "UPDATE procbuttonitem SET " + command + " WHERE ProcButtonItemNum = " + POut.Long(procButtonItem.ProcButtonItemNum); Db.NonQ(command); return(true); }
private void butOK_Click(object sender, System.EventArgs e) { if (textDescript.Text == "") { MessageBox.Show(Lan.g(this, "You must type in a description.")); return; } if (listADA.Items.Count == 0 && listAutoCodes.SelectedIndices.Count == 0) { MessageBox.Show(Lan.g(this, "You must pick at least one Auto Code or Procedure Code.")); return; } ProcButtonCur.Description = textDescript.Text; if (ProcButtonCur.Category != _listProcButtonCatDefs[comboCategory.SelectedIndex].DefNum) { //This will put it at the end of the order in the new category ProcButtonCur.ItemOrder = ProcButtons.GetForCat(_listProcButtonCatDefs[comboCategory.SelectedIndex].DefNum).Length; } ProcButtonCur.Category = _listProcButtonCatDefs[comboCategory.SelectedIndex].DefNum; ProcButtonCur.ButtonImage = POut.Bitmap((Bitmap)pictureBox.Image, System.Drawing.Imaging.ImageFormat.Png); if (IsNew) { ProcButtonCur.ItemOrder = ProcButtons.GetCount(); ProcButtons.Insert(ProcButtonCur); } else { ProcButtons.Update(ProcButtonCur); } ProcButtonItems.DeleteAllForButton(ProcButtonCur.ProcButtonNum); ProcButtonItem item; for (int i = 0; i < listADA.Items.Count; i++) { item = new ProcButtonItem(); item.ProcButtonNum = ProcButtonCur.ProcButtonNum; item.CodeNum = ProcedureCodes.GetCodeNum(listADA.Items[i].ToString()); item.ItemOrder = i + 1; //not i++, that would mess up the itteration. ProcButtonItems.Insert(item); } for (int i = 0; i < listAutoCodes.SelectedIndices.Count; i++) { item = new ProcButtonItem(); item.ProcButtonNum = ProcButtonCur.ProcButtonNum; item.AutoCodeNum = _listShortDeep[listAutoCodes.SelectedIndices[i]].AutoCodeNum; item.ItemOrder = i + 1; //not i++, that would mess up the itteration. ProcButtonItems.Insert(item); } DialogResult = DialogResult.OK; }
///<summary>Converts a DataTable to a list of objects.</summary> public static List<ProcButtonItem> TableToList(DataTable table){ List<ProcButtonItem> retVal=new List<ProcButtonItem>(); ProcButtonItem procButtonItem; for(int i=0;i<table.Rows.Count;i++) { procButtonItem=new ProcButtonItem(); procButtonItem.ProcButtonItemNum= PIn.Long (table.Rows[i]["ProcButtonItemNum"].ToString()); procButtonItem.ProcButtonNum = PIn.Long (table.Rows[i]["ProcButtonNum"].ToString()); procButtonItem.OldCode = PIn.String(table.Rows[i]["OldCode"].ToString()); procButtonItem.AutoCodeNum = PIn.Long (table.Rows[i]["AutoCodeNum"].ToString()); procButtonItem.CodeNum = PIn.Long (table.Rows[i]["CodeNum"].ToString()); retVal.Add(procButtonItem); } return retVal; }
private void butOK_Click(object sender, System.EventArgs e) { if (textDescript.Text == "") { MessageBox.Show(Lan.g(this, "You must type in a description.")); return; } if (listADA.Items.Count == 0 && listAutoCodes.SelectedIndices.Count == 0) { MessageBox.Show(Lan.g(this, "You must pick at least one Auto Code or ADA Code.")); return; } ProcButtonCur.Description = textDescript.Text; if (ProcButtonCur.Category != DefB.Short[(int)DefCat.ProcButtonCats][comboCategory.SelectedIndex].DefNum) { //This will put it at the end of the order in the new category ProcButtonCur.ItemOrder = ProcButtons.GetForCat(DefB.Short[(int)DefCat.ProcButtonCats][comboCategory.SelectedIndex].DefNum).Length; } ProcButtonCur.Category = DefB.Short[(int)DefCat.ProcButtonCats][comboCategory.SelectedIndex].DefNum; ProcButtonCur.ButtonImage = (Bitmap)pictureBox.Image; if (IsNew) { ProcButtonCur.ItemOrder = ProcButtons.List.Length; ProcButtons.Insert(ProcButtonCur); } else { ProcButtons.Update(ProcButtonCur); } ProcButtonItems.DeleteAllForButton(ProcButtonCur.ProcButtonNum); ProcButtonItem item; for (int i = 0; i < listADA.Items.Count; i++) { item = new ProcButtonItem(); item.ProcButtonNum = ProcButtonCur.ProcButtonNum; item.ADACode = listADA.Items[i].ToString(); ProcButtonItems.Insert(item); } for (int i = 0; i < listAutoCodes.SelectedIndices.Count; i++) { item = new ProcButtonItem(); item.ProcButtonNum = ProcButtonCur.ProcButtonNum; item.AutoCodeNum = AutoCodes.ListShort[listAutoCodes.SelectedIndices[i]].AutoCodeNum; ProcButtonItems.Insert(item); } DialogResult = DialogResult.OK; }
///<summary>Fills List in preparation for later usage.</summary> public static void Refresh() { string command = "SELECT * FROM procbuttonitem"; DataTable table = General.GetTable(command); List = new ProcButtonItem[table.Rows.Count]; for (int i = 0; i < table.Rows.Count; i++) { List[i] = new ProcButtonItem(); List[i].ProcButtonItemNum = PIn.PInt(table.Rows[i][0].ToString()); List[i].ProcButtonNum = PIn.PInt(table.Rows[i][1].ToString()); List[i].ADACode = PIn.PString(table.Rows[i][2].ToString()); List[i].AutoCodeNum = PIn.PInt(table.Rows[i][3].ToString()); } }
///<summary>Inserts one ProcButtonItem into the database. Returns the new priKey. Doesn't use the cache.</summary> public static long InsertNoCache(ProcButtonItem procButtonItem) { if (DataConnection.DBtype == DatabaseType.MySql) { return(InsertNoCache(procButtonItem, false)); } else { if (DataConnection.DBtype == DatabaseType.Oracle) { procButtonItem.ProcButtonItemNum = DbHelper.GetNextOracleKey("procbuttonitem", "ProcButtonItemNum"); //Cacheless method } return(InsertNoCache(procButtonItem, true)); } }
///<summary>Converts a DataTable to a list of objects.</summary> public static List <ProcButtonItem> TableToList(DataTable table) { List <ProcButtonItem> retVal = new List <ProcButtonItem>(); ProcButtonItem procButtonItem; for (int i = 0; i < table.Rows.Count; i++) { procButtonItem = new ProcButtonItem(); procButtonItem.ProcButtonItemNum = PIn.Long(table.Rows[i]["ProcButtonItemNum"].ToString()); procButtonItem.ProcButtonNum = PIn.Long(table.Rows[i]["ProcButtonNum"].ToString()); procButtonItem.OldCode = PIn.String(table.Rows[i]["OldCode"].ToString()); procButtonItem.AutoCodeNum = PIn.Long(table.Rows[i]["AutoCodeNum"].ToString()); procButtonItem.CodeNum = PIn.Long(table.Rows[i]["CodeNum"].ToString()); retVal.Add(procButtonItem); } return(retVal); }
///<summary>Converts a DataTable to a list of objects.</summary> public static List <ProcButtonItem> TableToList(DataTable table) { List <ProcButtonItem> retVal = new List <ProcButtonItem>(); ProcButtonItem procButtonItem; foreach (DataRow row in table.Rows) { procButtonItem = new ProcButtonItem(); procButtonItem.ProcButtonItemNum = PIn.Long(row["ProcButtonItemNum"].ToString()); procButtonItem.ProcButtonNum = PIn.Long(row["ProcButtonNum"].ToString()); procButtonItem.OldCode = PIn.String(row["OldCode"].ToString()); procButtonItem.AutoCodeNum = PIn.Long(row["AutoCodeNum"].ToString()); procButtonItem.CodeNum = PIn.Long(row["CodeNum"].ToString()); procButtonItem.ItemOrder = PIn.Long(row["ItemOrder"].ToString()); retVal.Add(procButtonItem); } return(retVal); }
///<summary>Updates one ProcButtonItem 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> internal static void Update(ProcButtonItem procButtonItem, ProcButtonItem oldProcButtonItem) { string command = ""; if (procButtonItem.ProcButtonNum != oldProcButtonItem.ProcButtonNum) { if (command != "") { command += ","; } command += "ProcButtonNum = " + POut.Long(procButtonItem.ProcButtonNum) + ""; } if (procButtonItem.OldCode != oldProcButtonItem.OldCode) { if (command != "") { command += ","; } command += "OldCode = '" + POut.String(procButtonItem.OldCode) + "'"; } if (procButtonItem.AutoCodeNum != oldProcButtonItem.AutoCodeNum) { if (command != "") { command += ","; } command += "AutoCodeNum = " + POut.Long(procButtonItem.AutoCodeNum) + ""; } if (procButtonItem.CodeNum != oldProcButtonItem.CodeNum) { if (command != "") { command += ","; } command += "CodeNum = " + POut.Long(procButtonItem.CodeNum) + ""; } if (command == "") { return; } command = "UPDATE procbuttonitem SET " + command + " WHERE ProcButtonItemNum = " + POut.Long(procButtonItem.ProcButtonItemNum); Db.NonQ(command); }
///<summary>Returns true if Update(ProcButtonItem,ProcButtonItem) 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(ProcButtonItem procButtonItem, ProcButtonItem oldProcButtonItem) { if (procButtonItem.ProcButtonNum != oldProcButtonItem.ProcButtonNum) { return(true); } if (procButtonItem.OldCode != oldProcButtonItem.OldCode) { return(true); } if (procButtonItem.AutoCodeNum != oldProcButtonItem.AutoCodeNum) { return(true); } if (procButtonItem.CodeNum != oldProcButtonItem.CodeNum) { return(true); } if (procButtonItem.ItemOrder != oldProcButtonItem.ItemOrder) { return(true); } return(false); }
///<summary>Updates one ProcButtonItem 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(ProcButtonItem procButtonItem,ProcButtonItem oldProcButtonItem){ string command=""; if(procButtonItem.ProcButtonNum != oldProcButtonItem.ProcButtonNum) { if(command!=""){ command+=",";} command+="ProcButtonNum = "+POut.Long(procButtonItem.ProcButtonNum)+""; } if(procButtonItem.OldCode != oldProcButtonItem.OldCode) { if(command!=""){ command+=",";} command+="OldCode = '"+POut.String(procButtonItem.OldCode)+"'"; } if(procButtonItem.AutoCodeNum != oldProcButtonItem.AutoCodeNum) { if(command!=""){ command+=",";} command+="AutoCodeNum = "+POut.Long(procButtonItem.AutoCodeNum)+""; } if(procButtonItem.CodeNum != oldProcButtonItem.CodeNum) { if(command!=""){ command+=",";} command+="CodeNum = "+POut.Long(procButtonItem.CodeNum)+""; } if(command==""){ return false; } command="UPDATE procbuttonitem SET "+command +" WHERE ProcButtonItemNum = "+POut.Long(procButtonItem.ProcButtonItemNum); Db.NonQ(command); return true; }
///<summary>Updates one ProcButtonItem in the database.</summary> public static void Update(ProcButtonItem procButtonItem){ string command="UPDATE procbuttonitem SET " +"ProcButtonNum = "+POut.Long (procButtonItem.ProcButtonNum)+", " +"OldCode = '"+POut.String(procButtonItem.OldCode)+"', " +"AutoCodeNum = "+POut.Long (procButtonItem.AutoCodeNum)+", " +"CodeNum = "+POut.Long (procButtonItem.CodeNum)+" " +"WHERE ProcButtonItemNum = "+POut.Long(procButtonItem.ProcButtonItemNum); Db.NonQ(command); }
///<summary>Inserts one ProcButtonItem into the database. Returns the new priKey. Doesn't use the cache.</summary> public static long InsertNoCache(ProcButtonItem procButtonItem) { return(InsertNoCache(procButtonItem, false)); }
///<summary></summary> public static void Delete(ProcButtonItem item) { string command = "DELETE from procbuttonitem WHERE procbuttonitemnum = '" + POut.PInt(item.ProcButtonItemNum) + "'"; General.NonQ(command); }
private void butOK_Click(object sender, System.EventArgs e) { if (textDescript.Text == "") { MessageBox.Show(Lan.g(this, "You must type in a description.")); return; } if (listADA.Items.Count == 0 && listAutoCodes.SelectedIndices.Count == 0) { MessageBox.Show(Lan.g(this, "You must pick at least one Auto Code or Procedure Code.")); return; } foreach (int index in listAutoCodes.SelectedIndices) { AutoCode autoCode = _listShortDeep[index]; if (AutoCodeItems.GetListForCode(autoCode.AutoCodeNum).Count == 0) { //This AutoCode was saved with no AutoCodeItems attached, which is invalid. MessageBox.Show(this, Lan.g(this, "The following AutoCode has no associated Procedure Codes: ") + "\r\n" + autoCode.Description + "\r\n" + Lan.g(this, "AutoCode must be setup correctly before it can be used with a Quick Proc Button.")); return; } } //Point of no return. ProcButtonCur.Description = textDescript.Text; if (ProcButtonCur.Category != _listProcButtonCatDefs[comboCategory.SelectedIndex].DefNum) { //This will put it at the end of the order in the new category ProcButtonCur.ItemOrder = ProcButtons.GetForCat(_listProcButtonCatDefs[comboCategory.SelectedIndex].DefNum).Length; } ProcButtonCur.Category = _listProcButtonCatDefs[comboCategory.SelectedIndex].DefNum; ProcButtonCur.ButtonImage = POut.Bitmap((Bitmap)pictureBox.Image, System.Drawing.Imaging.ImageFormat.Png); ProcButtonCur.IsMultiVisit = checkMultiVisit.Checked; if (IsNew) { ProcButtonCur.ItemOrder = ProcButtons.GetCount(); ProcButtons.Insert(ProcButtonCur); } else { ProcButtons.Update(ProcButtonCur); } ProcButtonItems.DeleteAllForButton(ProcButtonCur.ProcButtonNum); ProcButtonItem item; for (int i = 0; i < listADA.Items.Count; i++) { item = new ProcButtonItem(); item.ProcButtonNum = ProcButtonCur.ProcButtonNum; item.CodeNum = ProcedureCodes.GetCodeNum(listADA.Items[i].ToString()); item.ItemOrder = i + 1; //not i++, that would mess up the itteration. ProcButtonItems.Insert(item); } for (int i = 0; i < listAutoCodes.SelectedIndices.Count; i++) { item = new ProcButtonItem(); item.ProcButtonNum = ProcButtonCur.ProcButtonNum; item.AutoCodeNum = _listShortDeep[listAutoCodes.SelectedIndices[i]].AutoCodeNum; item.ItemOrder = i + 1; //not i++, that would mess up the itteration. ProcButtonItems.Insert(item); } DialogResult = DialogResult.OK; }