Exemplo n.º 1
0
 ///<summary>Inserts one TsiTransLog into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
 public static long InsertNoCache(TsiTransLog tsiTransLog)
 {
     return(InsertNoCache(tsiTransLog, false));
 }
Exemplo n.º 2
0
        ///<summary>Updates one TsiTransLog 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(TsiTransLog tsiTransLog, TsiTransLog oldTsiTransLog)
        {
            string command = "";

            if (tsiTransLog.PatNum != oldTsiTransLog.PatNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PatNum = " + POut.Long(tsiTransLog.PatNum) + "";
            }
            if (tsiTransLog.UserNum != oldTsiTransLog.UserNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "UserNum = " + POut.Long(tsiTransLog.UserNum) + "";
            }
            if (tsiTransLog.TransType != oldTsiTransLog.TransType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TransType = " + POut.Int((int)tsiTransLog.TransType) + "";
            }
            //TransDateTime not allowed to change
            if (tsiTransLog.DemandType != oldTsiTransLog.DemandType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "DemandType = " + POut.Int((int)tsiTransLog.DemandType) + "";
            }
            if (tsiTransLog.ServiceCode != oldTsiTransLog.ServiceCode)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ServiceCode = " + POut.Int((int)tsiTransLog.ServiceCode) + "";
            }
            if (tsiTransLog.ClientId != oldTsiTransLog.ClientId)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ClientId = '" + POut.String(tsiTransLog.ClientId) + "'";
            }
            if (tsiTransLog.TransAmt != oldTsiTransLog.TransAmt)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TransAmt = '" + POut.Double(tsiTransLog.TransAmt) + "'";
            }
            if (tsiTransLog.AccountBalance != oldTsiTransLog.AccountBalance)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "AccountBalance = '" + POut.Double(tsiTransLog.AccountBalance) + "'";
            }
            if (tsiTransLog.FKeyType != oldTsiTransLog.FKeyType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "FKeyType = " + POut.Int((int)tsiTransLog.FKeyType) + "";
            }
            if (tsiTransLog.FKey != oldTsiTransLog.FKey)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "FKey = " + POut.Long(tsiTransLog.FKey) + "";
            }
            if (tsiTransLog.RawMsgText != oldTsiTransLog.RawMsgText)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "RawMsgText = '" + POut.String(tsiTransLog.RawMsgText) + "'";
            }
            if (tsiTransLog.TransJson != oldTsiTransLog.TransJson)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TransJson = " + DbHelper.ParamChar + "paramTransJson";
            }
            if (tsiTransLog.ClinicNum != oldTsiTransLog.ClinicNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ClinicNum = " + POut.Long(tsiTransLog.ClinicNum) + "";
            }
            if (tsiTransLog.AggTransLogNum != oldTsiTransLog.AggTransLogNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "AggTransLogNum = " + POut.Long(tsiTransLog.AggTransLogNum) + "";
            }
            if (command == "")
            {
                return(false);
            }
            if (tsiTransLog.TransJson == null)
            {
                tsiTransLog.TransJson = "";
            }
            OdSqlParameter paramTransJson = new OdSqlParameter("paramTransJson", OdDbType.Text, POut.StringParam(tsiTransLog.TransJson));

            command = "UPDATE tsitranslog SET " + command
                      + " WHERE TsiTransLogNum = " + POut.Long(tsiTransLog.TsiTransLogNum);
            Db.NonQ(command, paramTransJson);
            return(true);
        }
Exemplo n.º 3
0
 ///<summary>Inserts many TsiTransLogs into the database.  Provides option to use the existing priKey.</summary>
 public static void InsertMany(List <TsiTransLog> listTsiTransLogs, bool useExistingPK)
 {
     if (!useExistingPK && PrefC.RandomKeys)
     {
         foreach (TsiTransLog tsiTransLog in listTsiTransLogs)
         {
             Insert(tsiTransLog);
         }
     }
     else
     {
         StringBuilder sbCommands = null;
         int           index      = 0;
         int           countRows  = 0;
         while (index < listTsiTransLogs.Count)
         {
             TsiTransLog   tsiTransLog = listTsiTransLogs[index];
             StringBuilder sbRow       = new StringBuilder("(");
             bool          hasComma    = false;
             if (sbCommands == null)
             {
                 sbCommands = new StringBuilder();
                 sbCommands.Append("INSERT INTO tsitranslog (");
                 if (useExistingPK)
                 {
                     sbCommands.Append("TsiTransLogNum,");
                 }
                 sbCommands.Append("PatNum,UserNum,TransType,TransDateTime,DemandType,ServiceCode,ClientId,TransAmt,AccountBalance,FKeyType,FKey,RawMsgText,TransJson,ClinicNum,AggTransLogNum) VALUES ");
                 countRows = 0;
             }
             else
             {
                 hasComma = true;
             }
             if (useExistingPK)
             {
                 sbRow.Append(POut.Long(tsiTransLog.TsiTransLogNum)); sbRow.Append(",");
             }
             sbRow.Append(POut.Long(tsiTransLog.PatNum)); sbRow.Append(",");
             sbRow.Append(POut.Long(tsiTransLog.UserNum)); sbRow.Append(",");
             sbRow.Append(POut.Int((int)tsiTransLog.TransType)); sbRow.Append(",");
             sbRow.Append(DbHelper.Now()); sbRow.Append(",");
             sbRow.Append(POut.Int((int)tsiTransLog.DemandType)); sbRow.Append(",");
             sbRow.Append(POut.Int((int)tsiTransLog.ServiceCode)); sbRow.Append(",");
             sbRow.Append("'" + POut.String(tsiTransLog.ClientId) + "'"); sbRow.Append(",");
             sbRow.Append("'" + POut.Double(tsiTransLog.TransAmt) + "'"); sbRow.Append(",");
             sbRow.Append("'" + POut.Double(tsiTransLog.AccountBalance) + "'"); sbRow.Append(",");
             sbRow.Append(POut.Int((int)tsiTransLog.FKeyType)); sbRow.Append(",");
             sbRow.Append(POut.Long(tsiTransLog.FKey)); sbRow.Append(",");
             sbRow.Append("'" + POut.String(tsiTransLog.RawMsgText) + "'"); sbRow.Append(",");
             sbRow.Append("'" + POut.String(tsiTransLog.TransJson) + "'"); sbRow.Append(",");
             sbRow.Append(POut.Long(tsiTransLog.ClinicNum)); sbRow.Append(",");
             sbRow.Append(POut.Long(tsiTransLog.AggTransLogNum)); sbRow.Append(")");
             if (sbCommands.Length + sbRow.Length + 1 > TableBase.MaxAllowedPacketCount && countRows > 0)
             {
                 Db.NonQ(sbCommands.ToString());
                 sbCommands = null;
             }
             else
             {
                 if (hasComma)
                 {
                     sbCommands.Append(",");
                 }
                 sbCommands.Append(sbRow.ToString());
                 countRows++;
                 if (index == listTsiTransLogs.Count - 1)
                 {
                     Db.NonQ(sbCommands.ToString());
                 }
                 index++;
             }
         }
     }
 }