///<summary>Returns true if Update(ProcNote,ProcNote) 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(ProcNote procNote, ProcNote oldProcNote) { if (procNote.PatNum != oldProcNote.PatNum) { return(true); } if (procNote.ProcNum != oldProcNote.ProcNum) { return(true); } //EntryDateTime not allowed to change if (procNote.UserNum != oldProcNote.UserNum) { return(true); } if (procNote.Note != oldProcNote.Note) { return(true); } if (procNote.SigIsTopaz != oldProcNote.SigIsTopaz) { return(true); } if (procNote.Signature != oldProcNote.Signature) { return(true); } return(false); }
///<summary>Inserts one ProcNote into the database. Returns the new priKey.</summary> public static long Insert(ProcNote procNote) { if (DataConnection.DBtype == DatabaseType.Oracle) { procNote.ProcNoteNum = DbHelper.GetNextOracleKey("procnote", "ProcNoteNum"); int loopcount = 0; while (loopcount < 100) { try { return(Insert(procNote, true)); } catch (Oracle.DataAccess.Client.OracleException ex) { if (ex.Number == 1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")) { procNote.ProcNoteNum++; loopcount++; } else { throw ex; } } } throw new ApplicationException("Insert failed. Could not generate primary key."); } else { return(Insert(procNote, false)); } }
///<summary>Inserts one ProcNote into the database. Provides option to use the existing priKey.</summary> internal static long Insert(ProcNote procNote,bool useExistingPK) { if(!useExistingPK && PrefC.RandomKeys) { procNote.ProcNoteNum=ReplicationServers.GetKey("procnote","ProcNoteNum"); } string command="INSERT INTO procnote ("; if(useExistingPK || PrefC.RandomKeys) { command+="ProcNoteNum,"; } command+="PatNum,ProcNum,EntryDateTime,UserNum,Note,SigIsTopaz,Signature) VALUES("; if(useExistingPK || PrefC.RandomKeys) { command+=POut.Long(procNote.ProcNoteNum)+","; } command+= POut.Long (procNote.PatNum)+"," + POut.Long (procNote.ProcNum)+"," + DbHelper.Now()+"," + POut.Long (procNote.UserNum)+"," +DbHelper.ParamChar+"paramNote," + POut.Bool (procNote.SigIsTopaz)+"," +"'"+POut.String(procNote.Signature)+"')"; if(procNote.Note==null) { procNote.Note=""; } OdSqlParameter paramNote=new OdSqlParameter("paramNote",OdDbType.Text,procNote.Note); if(useExistingPK || PrefC.RandomKeys) { Db.NonQ(command,paramNote); } else { procNote.ProcNoteNum=Db.NonQ(command,true,paramNote); } return procNote.ProcNoteNum; }
///<summary>Updates one ProcNote in the database.</summary> public static void Update(ProcNote procNote) { string command = "UPDATE procnote SET " + "PatNum = " + POut.Long(procNote.PatNum) + ", " + "ProcNum = " + POut.Long(procNote.ProcNum) + ", " //EntryDateTime not allowed to change + "UserNum = " + POut.Long(procNote.UserNum) + ", " + "Note = " + DbHelper.ParamChar + "paramNote, " + "SigIsTopaz = " + POut.Bool(procNote.SigIsTopaz) + ", " + "Signature = " + DbHelper.ParamChar + "paramSignature " + "WHERE ProcNoteNum = " + POut.Long(procNote.ProcNoteNum); if (procNote.Note == null) { procNote.Note = ""; } OdSqlParameter paramNote = new OdSqlParameter("paramNote", OdDbType.Text, POut.StringNote(procNote.Note)); if (procNote.Signature == null) { procNote.Signature = ""; } OdSqlParameter paramSignature = new OdSqlParameter("paramSignature", OdDbType.Text, POut.StringParam(procNote.Signature)); Db.NonQ(command, paramNote, paramSignature); }
///<summary>Inserts one ProcNote into the database. Returns the new priKey.</summary> internal static long Insert(ProcNote procNote) { if(DataConnection.DBtype==DatabaseType.Oracle) { procNote.ProcNoteNum=DbHelper.GetNextOracleKey("procnote","ProcNoteNum"); int loopcount=0; while(loopcount<100){ try { return Insert(procNote,true); } catch(Oracle.DataAccess.Client.OracleException ex){ if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){ procNote.ProcNoteNum++; loopcount++; } else{ throw ex; } } } throw new ApplicationException("Insert failed. Could not generate primary key."); } else { return Insert(procNote,false); } }
///<summary>Inserts one ProcNote into the database. Returns the new priKey. Doesn't use the cache.</summary> public static long InsertNoCache(ProcNote procNote) { if (DataConnection.DBtype == DatabaseType.MySql) { return(InsertNoCache(procNote, false)); } else { if (DataConnection.DBtype == DatabaseType.Oracle) { procNote.ProcNoteNum = DbHelper.GetNextOracleKey("procnote", "ProcNoteNum"); //Cacheless method } return(InsertNoCache(procNote, true)); } }
///<summary>Inserts one ProcNote into the database. Provides option to use the existing priKey. Doesn't use the cache.</summary> public static long InsertNoCache(ProcNote procNote, bool useExistingPK) { bool isRandomKeys = Prefs.GetBoolNoCache(PrefName.RandomPrimaryKeys); string command = "INSERT INTO procnote ("; if (!useExistingPK && isRandomKeys) { procNote.ProcNoteNum = ReplicationServers.GetKeyNoCache("procnote", "ProcNoteNum"); } if (isRandomKeys || useExistingPK) { command += "ProcNoteNum,"; } command += "PatNum,ProcNum,EntryDateTime,UserNum,Note,SigIsTopaz,Signature) VALUES("; if (isRandomKeys || useExistingPK) { command += POut.Long(procNote.ProcNoteNum) + ","; } command += POut.Long(procNote.PatNum) + "," + POut.Long(procNote.ProcNum) + "," + DbHelper.Now() + "," + POut.Long(procNote.UserNum) + "," + DbHelper.ParamChar + "paramNote," + POut.Bool(procNote.SigIsTopaz) + "," + DbHelper.ParamChar + "paramSignature)"; if (procNote.Note == null) { procNote.Note = ""; } OdSqlParameter paramNote = new OdSqlParameter("paramNote", OdDbType.Text, POut.StringNote(procNote.Note)); if (procNote.Signature == null) { procNote.Signature = ""; } OdSqlParameter paramSignature = new OdSqlParameter("paramSignature", OdDbType.Text, POut.StringParam(procNote.Signature)); if (useExistingPK || isRandomKeys) { Db.NonQ(command, paramNote, paramSignature); } else { procNote.ProcNoteNum = Db.NonQ(command, true, "ProcNoteNum", "procNote", paramNote, paramSignature); } return(procNote.ProcNoteNum); }
///<summary>Converts a DataTable to a list of objects.</summary> public static List<ProcNote> TableToList(DataTable table){ List<ProcNote> retVal=new List<ProcNote>(); ProcNote procNote; for(int i=0;i<table.Rows.Count;i++) { procNote=new ProcNote(); procNote.ProcNoteNum = PIn.Long (table.Rows[i]["ProcNoteNum"].ToString()); procNote.PatNum = PIn.Long (table.Rows[i]["PatNum"].ToString()); procNote.ProcNum = PIn.Long (table.Rows[i]["ProcNum"].ToString()); procNote.EntryDateTime= PIn.DateT (table.Rows[i]["EntryDateTime"].ToString()); procNote.UserNum = PIn.Long (table.Rows[i]["UserNum"].ToString()); procNote.Note = PIn.String(table.Rows[i]["Note"].ToString()); procNote.SigIsTopaz = PIn.Bool (table.Rows[i]["SigIsTopaz"].ToString()); procNote.Signature = PIn.String(table.Rows[i]["Signature"].ToString()); retVal.Add(procNote); } return retVal; }
///<summary>Converts a DataTable to a list of objects.</summary> public static List <ProcNote> TableToList(DataTable table) { List <ProcNote> retVal = new List <ProcNote>(); ProcNote procNote; for (int i = 0; i < table.Rows.Count; i++) { procNote = new ProcNote(); procNote.ProcNoteNum = PIn.Long(table.Rows[i]["ProcNoteNum"].ToString()); procNote.PatNum = PIn.Long(table.Rows[i]["PatNum"].ToString()); procNote.ProcNum = PIn.Long(table.Rows[i]["ProcNum"].ToString()); procNote.EntryDateTime = PIn.DateT(table.Rows[i]["EntryDateTime"].ToString()); procNote.UserNum = PIn.Long(table.Rows[i]["UserNum"].ToString()); procNote.Note = PIn.String(table.Rows[i]["Note"].ToString()); procNote.SigIsTopaz = PIn.Bool(table.Rows[i]["SigIsTopaz"].ToString()); procNote.Signature = PIn.String(table.Rows[i]["Signature"].ToString()); retVal.Add(procNote); } return(retVal); }
///<summary>Converts a DataTable to a list of objects.</summary> public static List <ProcNote> TableToList(DataTable table) { List <ProcNote> retVal = new List <ProcNote>(); ProcNote procNote; foreach (DataRow row in table.Rows) { procNote = new ProcNote(); procNote.ProcNoteNum = PIn.Long(row["ProcNoteNum"].ToString()); procNote.PatNum = PIn.Long(row["PatNum"].ToString()); procNote.ProcNum = PIn.Long(row["ProcNum"].ToString()); procNote.EntryDateTime = PIn.DateT(row["EntryDateTime"].ToString()); procNote.UserNum = PIn.Long(row["UserNum"].ToString()); procNote.Note = PIn.String(row["Note"].ToString()); procNote.SigIsTopaz = PIn.Bool(row["SigIsTopaz"].ToString()); procNote.Signature = PIn.String(row["Signature"].ToString()); retVal.Add(procNote); } return(retVal); }
///<summary>Inserts one ProcNote into the database. Provides option to use the existing priKey.</summary> public static long Insert(ProcNote procNote, bool useExistingPK) { if (!useExistingPK && PrefC.RandomKeys) { procNote.ProcNoteNum = ReplicationServers.GetKey("procnote", "ProcNoteNum"); } string command = "INSERT INTO procnote ("; if (useExistingPK || PrefC.RandomKeys) { command += "ProcNoteNum,"; } command += "PatNum,ProcNum,EntryDateTime,UserNum,Note,SigIsTopaz,Signature) VALUES("; if (useExistingPK || PrefC.RandomKeys) { command += POut.Long(procNote.ProcNoteNum) + ","; } command += POut.Long(procNote.PatNum) + "," + POut.Long(procNote.ProcNum) + "," + DbHelper.Now() + "," + POut.Long(procNote.UserNum) + "," + DbHelper.ParamChar + "paramNote," + POut.Bool(procNote.SigIsTopaz) + "," + "'" + POut.String(procNote.Signature) + "')"; if (procNote.Note == null) { procNote.Note = ""; } OdSqlParameter paramNote = new OdSqlParameter("paramNote", OdDbType.Text, procNote.Note); if (useExistingPK || PrefC.RandomKeys) { Db.NonQ(command, paramNote); } else { procNote.ProcNoteNum = Db.NonQ(command, true, paramNote); } return(procNote.ProcNoteNum); }
///<summary>Updates one ProcNote 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(ProcNote procNote, ProcNote oldProcNote) { string command = ""; if (procNote.PatNum != oldProcNote.PatNum) { if (command != "") { command += ","; } command += "PatNum = " + POut.Long(procNote.PatNum) + ""; } if (procNote.ProcNum != oldProcNote.ProcNum) { if (command != "") { command += ","; } command += "ProcNum = " + POut.Long(procNote.ProcNum) + ""; } //EntryDateTime not allowed to change if (procNote.UserNum != oldProcNote.UserNum) { if (command != "") { command += ","; } command += "UserNum = " + POut.Long(procNote.UserNum) + ""; } if (procNote.Note != oldProcNote.Note) { if (command != "") { command += ","; } command += "Note = " + DbHelper.ParamChar + "paramNote"; } if (procNote.SigIsTopaz != oldProcNote.SigIsTopaz) { if (command != "") { command += ","; } command += "SigIsTopaz = " + POut.Bool(procNote.SigIsTopaz) + ""; } if (procNote.Signature != oldProcNote.Signature) { if (command != "") { command += ","; } command += "Signature = '" + POut.String(procNote.Signature) + "'"; } if (command == "") { return; } if (procNote.Note == null) { procNote.Note = ""; } OdSqlParameter paramNote = new OdSqlParameter("paramNote", OdDbType.Text, procNote.Note); command = "UPDATE procnote SET " + command + " WHERE ProcNoteNum = " + POut.Long(procNote.ProcNoteNum); Db.NonQ(command, paramNote); }
///<summary>Inserts one ProcNote into the database. Returns the new priKey. Doesn't use the cache.</summary> public static long InsertNoCache(ProcNote procNote) { return(InsertNoCache(procNote, false)); }
///<summary>Updates one ProcNote 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(ProcNote procNote,ProcNote oldProcNote) { string command=""; if(procNote.PatNum != oldProcNote.PatNum) { if(command!=""){ command+=",";} command+="PatNum = "+POut.Long(procNote.PatNum)+""; } if(procNote.ProcNum != oldProcNote.ProcNum) { if(command!=""){ command+=",";} command+="ProcNum = "+POut.Long(procNote.ProcNum)+""; } //EntryDateTime not allowed to change if(procNote.UserNum != oldProcNote.UserNum) { if(command!=""){ command+=",";} command+="UserNum = "+POut.Long(procNote.UserNum)+""; } if(procNote.Note != oldProcNote.Note) { if(command!=""){ command+=",";} command+="Note = "+DbHelper.ParamChar+"paramNote"; } if(procNote.SigIsTopaz != oldProcNote.SigIsTopaz) { if(command!=""){ command+=",";} command+="SigIsTopaz = "+POut.Bool(procNote.SigIsTopaz)+""; } if(procNote.Signature != oldProcNote.Signature) { if(command!=""){ command+=",";} command+="Signature = '"+POut.String(procNote.Signature)+"'"; } if(command==""){ return; } if(procNote.Note==null) { procNote.Note=""; } OdSqlParameter paramNote=new OdSqlParameter("paramNote",OdDbType.Text,procNote.Note); command="UPDATE procnote SET "+command +" WHERE ProcNoteNum = "+POut.Long(procNote.ProcNoteNum); Db.NonQ(command,paramNote); }
///<summary>Updates one ProcNote in the database.</summary> internal static void Update(ProcNote procNote) { string command="UPDATE procnote SET " +"PatNum = "+POut.Long (procNote.PatNum)+", " +"ProcNum = "+POut.Long (procNote.ProcNum)+", " //EntryDateTime not allowed to change +"UserNum = "+POut.Long (procNote.UserNum)+", " +"Note = "+DbHelper.ParamChar+"paramNote, " +"SigIsTopaz = "+POut.Bool (procNote.SigIsTopaz)+", " +"Signature = '"+POut.String(procNote.Signature)+"' " +"WHERE ProcNoteNum = "+POut.Long(procNote.ProcNoteNum); if(procNote.Note==null) { procNote.Note=""; } OdSqlParameter paramNote=new OdSqlParameter("paramNote",OdDbType.Text,procNote.Note); Db.NonQ(command,paramNote); }