Ejemplo n.º 1
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <AsapComm> TableToList(DataTable table)
        {
            List <AsapComm> retVal = new List <AsapComm>();
            AsapComm        asapComm;

            foreach (DataRow row in table.Rows)
            {
                asapComm                      = new AsapComm();
                asapComm.AsapCommNum          = PIn.Long(row["AsapCommNum"].ToString());
                asapComm.FKey                 = PIn.Long(row["FKey"].ToString());
                asapComm.FKeyType             = (OpenDentBusiness.AsapCommFKeyType)PIn.Int(row["FKeyType"].ToString());
                asapComm.ScheduleNum          = PIn.Long(row["ScheduleNum"].ToString());
                asapComm.PatNum               = PIn.Long(row["PatNum"].ToString());
                asapComm.ClinicNum            = PIn.Long(row["ClinicNum"].ToString());
                asapComm.ShortGUID            = PIn.String(row["ShortGUID"].ToString());
                asapComm.DateTimeEntry        = PIn.DateT(row["DateTimeEntry"].ToString());
                asapComm.DateTimeExpire       = PIn.DateT(row["DateTimeExpire"].ToString());
                asapComm.DateTimeSmsScheduled = PIn.DateT(row["DateTimeSmsScheduled"].ToString());
                asapComm.SmsSendStatus        = (OpenDentBusiness.AutoCommStatus)PIn.Int(row["SmsSendStatus"].ToString());
                asapComm.EmailSendStatus      = (OpenDentBusiness.AutoCommStatus)PIn.Int(row["EmailSendStatus"].ToString());
                asapComm.DateTimeSmsSent      = PIn.DateT(row["DateTimeSmsSent"].ToString());
                asapComm.DateTimeEmailSent    = PIn.DateT(row["DateTimeEmailSent"].ToString());
                asapComm.EmailMessageNum      = PIn.Long(row["EmailMessageNum"].ToString());
                asapComm.ResponseStatus       = (OpenDentBusiness.AsapRSVPStatus)PIn.Int(row["ResponseStatus"].ToString());
                asapComm.DateTimeOrig         = PIn.DateT(row["DateTimeOrig"].ToString());
                asapComm.TemplateText         = PIn.String(row["TemplateText"].ToString());
                asapComm.TemplateEmail        = PIn.String(row["TemplateEmail"].ToString());
                asapComm.TemplateEmailSubj    = PIn.String(row["TemplateEmailSubj"].ToString());
                asapComm.Note                 = PIn.String(row["Note"].ToString());
                asapComm.GuidMessageToMobile  = PIn.String(row["GuidMessageToMobile"].ToString());
                retVal.Add(asapComm);
            }
            return(retVal);
        }
Ejemplo n.º 2
0
        ///<summary></summary>
        /// <param name="funcCreateShortGUID">If not null, then this function will be called to set AsapComm.ShortGUID.
        /// This simulates having already asked HQ for the short guid and allows this step to be skipped for the purpose of unit test.</param>
        /// <param name="dateTimeSmsScheduled">Allows due date of SMS send to be set manually. This is used to simulate an SMS that will be sent later. Allows email to be sent first.</param>
        public static AsapComm CreateAsapCommRecall(Recall recall, Schedule sched, long clinicNum, Func <string> funcCreateShortGUID = null,
                                                    DateTime dateTimeSmsScheduled = default(DateTime))
        {
            AsapComm asapComm = new AsapComm {
                ClinicNum            = clinicNum,
                DateTimeExpire       = sched.SchedDate.Date.Add(sched.StartTime),
                DateTimeOrig         = recall.DateDue,
                DateTimeSmsScheduled = (dateTimeSmsScheduled == default(DateTime) ? DateTime.Now : dateTimeSmsScheduled),
                EmailSendStatus      = AutoCommStatus.SendNotAttempted,
                FKey              = recall.RecallNum,
                FKeyType          = AsapCommFKeyType.Recall,
                Note              = "",
                PatNum            = recall.PatNum,
                ResponseStatus    = AsapRSVPStatus.AwaitingTransmit,
                ScheduleNum       = sched.ScheduleNum,
                ShortGUID         = (funcCreateShortGUID != null ? funcCreateShortGUID() : ""),
                SmsSendStatus     = AutoCommStatus.SendNotAttempted,
                TemplateEmail     = PrefC.GetString(PrefName.WebSchedAsapEmailTemplate),
                TemplateEmailSubj = PrefC.GetString(PrefName.WebSchedAsapEmailSubj),
                TemplateText      = PrefC.GetString(PrefName.WebSchedAsapTextTemplate)
            };

            AsapComms.Insert(asapComm);
            return(asapComm);
        }
Ejemplo n.º 3
0
 ///<summary>Inserts one AsapComm into the database.  Returns the new priKey.</summary>
 public static long Insert(AsapComm asapComm)
 {
     if (DataConnection.DBtype == DatabaseType.Oracle)
     {
         asapComm.AsapCommNum = DbHelper.GetNextOracleKey("asapcomm", "AsapCommNum");
         int loopcount = 0;
         while (loopcount < 100)
         {
             try {
                 return(Insert(asapComm, true));
             }
             catch (Oracle.ManagedDataAccess.Client.OracleException ex) {
                 if (ex.Number == 1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated"))
                 {
                     asapComm.AsapCommNum++;
                     loopcount++;
                 }
                 else
                 {
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else
     {
         return(Insert(asapComm, false));
     }
 }
Ejemplo n.º 4
0
        ///<summary>Updates one AsapComm in the database.</summary>
        public static void Update(AsapComm asapComm)
        {
            string command = "UPDATE asapcomm SET "
                             + "FKey                =  " + POut.Long(asapComm.FKey) + ", "
                             + "FKeyType            =  " + POut.Int((int)asapComm.FKeyType) + ", "
                             + "ScheduleNum         =  " + POut.Long(asapComm.ScheduleNum) + ", "
                             + "PatNum              =  " + POut.Long(asapComm.PatNum) + ", "
                             + "ClinicNum           =  " + POut.Long(asapComm.ClinicNum) + ", "
                             + "ShortGUID           = '" + POut.String(asapComm.ShortGUID) + "', "
                             //DateTimeEntry not allowed to change
                             + "DateTimeExpire      =  " + POut.DateT(asapComm.DateTimeExpire) + ", "
                             + "DateTimeSmsScheduled=  " + POut.DateT(asapComm.DateTimeSmsScheduled) + ", "
                             + "SmsSendStatus       =  " + POut.Int((int)asapComm.SmsSendStatus) + ", "
                             + "EmailSendStatus     =  " + POut.Int((int)asapComm.EmailSendStatus) + ", "
                             + "DateTimeSmsSent     =  " + POut.DateT(asapComm.DateTimeSmsSent) + ", "
                             + "DateTimeEmailSent   =  " + POut.DateT(asapComm.DateTimeEmailSent) + ", "
                             + "EmailMessageNum     =  " + POut.Long(asapComm.EmailMessageNum) + ", "
                             + "ResponseStatus      =  " + POut.Int((int)asapComm.ResponseStatus) + ", "
                             + "DateTimeOrig        =  " + POut.DateT(asapComm.DateTimeOrig) + ", "
                             + "TemplateText        =  " + DbHelper.ParamChar + "paramTemplateText, "
                             + "TemplateEmail       =  " + DbHelper.ParamChar + "paramTemplateEmail, "
                             + "TemplateEmailSubj   = '" + POut.String(asapComm.TemplateEmailSubj) + "', "
                             + "Note                =  " + DbHelper.ParamChar + "paramNote, "
                             + "GuidMessageToMobile =  " + DbHelper.ParamChar + "paramGuidMessageToMobile "
                             + "WHERE AsapCommNum = " + POut.Long(asapComm.AsapCommNum);

            if (asapComm.TemplateText == null)
            {
                asapComm.TemplateText = "";
            }
            OdSqlParameter paramTemplateText = new OdSqlParameter("paramTemplateText", OdDbType.Text, POut.StringParam(asapComm.TemplateText));

            if (asapComm.TemplateEmail == null)
            {
                asapComm.TemplateEmail = "";
            }
            OdSqlParameter paramTemplateEmail = new OdSqlParameter("paramTemplateEmail", OdDbType.Text, POut.StringParam(asapComm.TemplateEmail));

            if (asapComm.Note == null)
            {
                asapComm.Note = "";
            }
            OdSqlParameter paramNote = new OdSqlParameter("paramNote", OdDbType.Text, POut.StringParam(asapComm.Note));

            if (asapComm.GuidMessageToMobile == null)
            {
                asapComm.GuidMessageToMobile = "";
            }
            OdSqlParameter paramGuidMessageToMobile = new OdSqlParameter("paramGuidMessageToMobile", OdDbType.Text, POut.StringParam(asapComm.GuidMessageToMobile));

            Db.NonQ(command, paramTemplateText, paramTemplateEmail, paramNote, paramGuidMessageToMobile);
        }
Ejemplo n.º 5
0
 ///<summary>Inserts one AsapComm into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
 public static long InsertNoCache(AsapComm asapComm)
 {
     if (DataConnection.DBtype == DatabaseType.MySql)
     {
         return(InsertNoCache(asapComm, false));
     }
     else
     {
         if (DataConnection.DBtype == DatabaseType.Oracle)
         {
             asapComm.AsapCommNum = DbHelper.GetNextOracleKey("asapcomm", "AsapCommNum");                  //Cacheless method
         }
         return(InsertNoCache(asapComm, true));
     }
 }
Ejemplo n.º 6
0
        ///<summary></summary>
        /// <param name="funcCreateShortGUID">If not null, then this function will be called to set AsapComm.ShortGUID.
        /// This simulates having already asked HQ for the short guid and allows this step to be skipped for the purpose of unit test.</param>
        /// <param name="dateTimeSmsScheduled">Allows due date of SMS send to be set manually. This is used to simulate an SMS that will be sent later. Allows email to be sent first.</param>
        public static AsapComm CreateAsapComm(Appointment appt, Schedule sched, Func <string> funcCreateShortGUID = null,
                                              DateTime dateTimeSmsScheduled = default(DateTime))
        {
            AsapComm asapComm = new AsapComm {
                ClinicNum            = appt.ClinicNum,
                DateTimeExpire       = sched.SchedDate.Date.Add(sched.StartTime),
                DateTimeOrig         = appt.AptDateTime,
                DateTimeSmsScheduled = (dateTimeSmsScheduled == default(DateTime) ? DateTime.Now : dateTimeSmsScheduled),
                EmailSendStatus      = AutoCommStatus.SendNotAttempted,
                FKey              = appt.AptNum,
                Note              = "",
                PatNum            = appt.PatNum,
                ResponseStatus    = AsapRSVPStatus.AwaitingTransmit,
                ScheduleNum       = sched.ScheduleNum,
                ShortGUID         = (funcCreateShortGUID != null ? funcCreateShortGUID() : ""),
                SmsSendStatus     = AutoCommStatus.SendNotAttempted,
                TemplateEmail     = PrefC.GetString(PrefName.WebSchedAsapEmailTemplate),
                TemplateEmailSubj = PrefC.GetString(PrefName.WebSchedAsapEmailSubj),
                TemplateText      = PrefC.GetString(PrefName.WebSchedAsapTextTemplate)
            };

            if (appt.AptStatus == ApptStatus.UnschedList)
            {
                asapComm.FKeyType = AsapCommFKeyType.UnscheduledAppt;
            }
            else if (appt.AptStatus == ApptStatus.Planned)
            {
                asapComm.FKeyType = AsapCommFKeyType.PlannedAppt;
            }
            else if (appt.AptStatus == ApptStatus.Broken)
            {
                asapComm.FKeyType = AsapCommFKeyType.Broken;
            }
            else
            {
                asapComm.FKeyType = AsapCommFKeyType.ScheduledAppt;
            }
            AsapComms.Insert(asapComm);
            return(asapComm);
        }
Ejemplo n.º 7
0
 ///<summary>Returns true if Update(AsapComm,AsapComm) 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(AsapComm asapComm, AsapComm oldAsapComm)
 {
     if (asapComm.FKey != oldAsapComm.FKey)
     {
         return(true);
     }
     if (asapComm.FKeyType != oldAsapComm.FKeyType)
     {
         return(true);
     }
     if (asapComm.ScheduleNum != oldAsapComm.ScheduleNum)
     {
         return(true);
     }
     if (asapComm.PatNum != oldAsapComm.PatNum)
     {
         return(true);
     }
     if (asapComm.ClinicNum != oldAsapComm.ClinicNum)
     {
         return(true);
     }
     if (asapComm.ShortGUID != oldAsapComm.ShortGUID)
     {
         return(true);
     }
     //DateTimeEntry not allowed to change
     if (asapComm.DateTimeExpire != oldAsapComm.DateTimeExpire)
     {
         return(true);
     }
     if (asapComm.DateTimeSmsScheduled != oldAsapComm.DateTimeSmsScheduled)
     {
         return(true);
     }
     if (asapComm.SmsSendStatus != oldAsapComm.SmsSendStatus)
     {
         return(true);
     }
     if (asapComm.EmailSendStatus != oldAsapComm.EmailSendStatus)
     {
         return(true);
     }
     if (asapComm.DateTimeSmsSent != oldAsapComm.DateTimeSmsSent)
     {
         return(true);
     }
     if (asapComm.DateTimeEmailSent != oldAsapComm.DateTimeEmailSent)
     {
         return(true);
     }
     if (asapComm.EmailMessageNum != oldAsapComm.EmailMessageNum)
     {
         return(true);
     }
     if (asapComm.ResponseStatus != oldAsapComm.ResponseStatus)
     {
         return(true);
     }
     if (asapComm.DateTimeOrig != oldAsapComm.DateTimeOrig)
     {
         return(true);
     }
     if (asapComm.TemplateText != oldAsapComm.TemplateText)
     {
         return(true);
     }
     if (asapComm.TemplateEmail != oldAsapComm.TemplateEmail)
     {
         return(true);
     }
     if (asapComm.TemplateEmailSubj != oldAsapComm.TemplateEmailSubj)
     {
         return(true);
     }
     if (asapComm.Note != oldAsapComm.Note)
     {
         return(true);
     }
     if (asapComm.GuidMessageToMobile != oldAsapComm.GuidMessageToMobile)
     {
         return(true);
     }
     return(false);
 }
Ejemplo n.º 8
0
        ///<summary>Updates one AsapComm 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(AsapComm asapComm, AsapComm oldAsapComm)
        {
            string command = "";

            if (asapComm.FKey != oldAsapComm.FKey)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "FKey = " + POut.Long(asapComm.FKey) + "";
            }
            if (asapComm.FKeyType != oldAsapComm.FKeyType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "FKeyType = " + POut.Int((int)asapComm.FKeyType) + "";
            }
            if (asapComm.ScheduleNum != oldAsapComm.ScheduleNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ScheduleNum = " + POut.Long(asapComm.ScheduleNum) + "";
            }
            if (asapComm.PatNum != oldAsapComm.PatNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PatNum = " + POut.Long(asapComm.PatNum) + "";
            }
            if (asapComm.ClinicNum != oldAsapComm.ClinicNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ClinicNum = " + POut.Long(asapComm.ClinicNum) + "";
            }
            if (asapComm.ShortGUID != oldAsapComm.ShortGUID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ShortGUID = '" + POut.String(asapComm.ShortGUID) + "'";
            }
            //DateTimeEntry not allowed to change
            if (asapComm.DateTimeExpire != oldAsapComm.DateTimeExpire)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "DateTimeExpire = " + POut.DateT(asapComm.DateTimeExpire) + "";
            }
            if (asapComm.DateTimeSmsScheduled != oldAsapComm.DateTimeSmsScheduled)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "DateTimeSmsScheduled = " + POut.DateT(asapComm.DateTimeSmsScheduled) + "";
            }
            if (asapComm.SmsSendStatus != oldAsapComm.SmsSendStatus)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "SmsSendStatus = " + POut.Int((int)asapComm.SmsSendStatus) + "";
            }
            if (asapComm.EmailSendStatus != oldAsapComm.EmailSendStatus)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "EmailSendStatus = " + POut.Int((int)asapComm.EmailSendStatus) + "";
            }
            if (asapComm.DateTimeSmsSent != oldAsapComm.DateTimeSmsSent)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "DateTimeSmsSent = " + POut.DateT(asapComm.DateTimeSmsSent) + "";
            }
            if (asapComm.DateTimeEmailSent != oldAsapComm.DateTimeEmailSent)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "DateTimeEmailSent = " + POut.DateT(asapComm.DateTimeEmailSent) + "";
            }
            if (asapComm.EmailMessageNum != oldAsapComm.EmailMessageNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "EmailMessageNum = " + POut.Long(asapComm.EmailMessageNum) + "";
            }
            if (asapComm.ResponseStatus != oldAsapComm.ResponseStatus)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ResponseStatus = " + POut.Int((int)asapComm.ResponseStatus) + "";
            }
            if (asapComm.DateTimeOrig != oldAsapComm.DateTimeOrig)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "DateTimeOrig = " + POut.DateT(asapComm.DateTimeOrig) + "";
            }
            if (asapComm.TemplateText != oldAsapComm.TemplateText)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TemplateText = " + DbHelper.ParamChar + "paramTemplateText";
            }
            if (asapComm.TemplateEmail != oldAsapComm.TemplateEmail)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TemplateEmail = " + DbHelper.ParamChar + "paramTemplateEmail";
            }
            if (asapComm.TemplateEmailSubj != oldAsapComm.TemplateEmailSubj)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TemplateEmailSubj = '" + POut.String(asapComm.TemplateEmailSubj) + "'";
            }
            if (asapComm.Note != oldAsapComm.Note)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Note = " + DbHelper.ParamChar + "paramNote";
            }
            if (asapComm.GuidMessageToMobile != oldAsapComm.GuidMessageToMobile)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "GuidMessageToMobile = " + DbHelper.ParamChar + "paramGuidMessageToMobile";
            }
            if (command == "")
            {
                return(false);
            }
            if (asapComm.TemplateText == null)
            {
                asapComm.TemplateText = "";
            }
            OdSqlParameter paramTemplateText = new OdSqlParameter("paramTemplateText", OdDbType.Text, POut.StringParam(asapComm.TemplateText));

            if (asapComm.TemplateEmail == null)
            {
                asapComm.TemplateEmail = "";
            }
            OdSqlParameter paramTemplateEmail = new OdSqlParameter("paramTemplateEmail", OdDbType.Text, POut.StringParam(asapComm.TemplateEmail));

            if (asapComm.Note == null)
            {
                asapComm.Note = "";
            }
            OdSqlParameter paramNote = new OdSqlParameter("paramNote", OdDbType.Text, POut.StringParam(asapComm.Note));

            if (asapComm.GuidMessageToMobile == null)
            {
                asapComm.GuidMessageToMobile = "";
            }
            OdSqlParameter paramGuidMessageToMobile = new OdSqlParameter("paramGuidMessageToMobile", OdDbType.Text, POut.StringParam(asapComm.GuidMessageToMobile));

            command = "UPDATE asapcomm SET " + command
                      + " WHERE AsapCommNum = " + POut.Long(asapComm.AsapCommNum);
            Db.NonQ(command, paramTemplateText, paramTemplateEmail, paramNote, paramGuidMessageToMobile);
            return(true);
        }
Ejemplo n.º 9
0
        ///<summary>Inserts one AsapComm into the database.  Provides option to use the existing priKey.  Doesn't use the cache.</summary>
        public static long InsertNoCache(AsapComm asapComm, bool useExistingPK)
        {
            bool   isRandomKeys = Prefs.GetBoolNoCache(PrefName.RandomPrimaryKeys);
            string command      = "INSERT INTO asapcomm (";

            if (!useExistingPK && isRandomKeys)
            {
                asapComm.AsapCommNum = ReplicationServers.GetKeyNoCache("asapcomm", "AsapCommNum");
            }
            if (isRandomKeys || useExistingPK)
            {
                command += "AsapCommNum,";
            }
            command += "FKey,FKeyType,ScheduleNum,PatNum,ClinicNum,ShortGUID,DateTimeEntry,DateTimeExpire,DateTimeSmsScheduled,SmsSendStatus,EmailSendStatus,DateTimeSmsSent,DateTimeEmailSent,EmailMessageNum,ResponseStatus,DateTimeOrig,TemplateText,TemplateEmail,TemplateEmailSubj,Note,GuidMessageToMobile) VALUES(";
            if (isRandomKeys || useExistingPK)
            {
                command += POut.Long(asapComm.AsapCommNum) + ",";
            }
            command +=
                POut.Long(asapComm.FKey) + ","
                + POut.Int((int)asapComm.FKeyType) + ","
                + POut.Long(asapComm.ScheduleNum) + ","
                + POut.Long(asapComm.PatNum) + ","
                + POut.Long(asapComm.ClinicNum) + ","
                + "'" + POut.String(asapComm.ShortGUID) + "',"
                + DbHelper.Now() + ","
                + POut.DateT(asapComm.DateTimeExpire) + ","
                + POut.DateT(asapComm.DateTimeSmsScheduled) + ","
                + POut.Int((int)asapComm.SmsSendStatus) + ","
                + POut.Int((int)asapComm.EmailSendStatus) + ","
                + POut.DateT(asapComm.DateTimeSmsSent) + ","
                + POut.DateT(asapComm.DateTimeEmailSent) + ","
                + POut.Long(asapComm.EmailMessageNum) + ","
                + POut.Int((int)asapComm.ResponseStatus) + ","
                + POut.DateT(asapComm.DateTimeOrig) + ","
                + DbHelper.ParamChar + "paramTemplateText,"
                + DbHelper.ParamChar + "paramTemplateEmail,"
                + "'" + POut.String(asapComm.TemplateEmailSubj) + "',"
                + DbHelper.ParamChar + "paramNote,"
                + DbHelper.ParamChar + "paramGuidMessageToMobile)";
            if (asapComm.TemplateText == null)
            {
                asapComm.TemplateText = "";
            }
            OdSqlParameter paramTemplateText = new OdSqlParameter("paramTemplateText", OdDbType.Text, POut.StringParam(asapComm.TemplateText));

            if (asapComm.TemplateEmail == null)
            {
                asapComm.TemplateEmail = "";
            }
            OdSqlParameter paramTemplateEmail = new OdSqlParameter("paramTemplateEmail", OdDbType.Text, POut.StringParam(asapComm.TemplateEmail));

            if (asapComm.Note == null)
            {
                asapComm.Note = "";
            }
            OdSqlParameter paramNote = new OdSqlParameter("paramNote", OdDbType.Text, POut.StringParam(asapComm.Note));

            if (asapComm.GuidMessageToMobile == null)
            {
                asapComm.GuidMessageToMobile = "";
            }
            OdSqlParameter paramGuidMessageToMobile = new OdSqlParameter("paramGuidMessageToMobile", OdDbType.Text, POut.StringParam(asapComm.GuidMessageToMobile));

            if (useExistingPK || isRandomKeys)
            {
                Db.NonQ(command, paramTemplateText, paramTemplateEmail, paramNote, paramGuidMessageToMobile);
            }
            else
            {
                asapComm.AsapCommNum = Db.NonQ(command, true, "AsapCommNum", "asapComm", paramTemplateText, paramTemplateEmail, paramNote, paramGuidMessageToMobile);
            }
            return(asapComm.AsapCommNum);
        }
Ejemplo n.º 10
0
 ///<summary>Inserts one AsapComm into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
 public static long InsertNoCache(AsapComm asapComm)
 {
     return(InsertNoCache(asapComm, false));
 }
Ejemplo n.º 11
0
 ///<summary>Inserts many AsapComms into the database.  Provides option to use the existing priKey.</summary>
 public static void InsertMany(List <AsapComm> listAsapComms, bool useExistingPK)
 {
     if (!useExistingPK && PrefC.RandomKeys)
     {
         foreach (AsapComm asapComm in listAsapComms)
         {
             Insert(asapComm);
         }
     }
     else
     {
         StringBuilder sbCommands = null;
         int           index      = 0;
         int           countRows  = 0;
         while (index < listAsapComms.Count)
         {
             AsapComm      asapComm = listAsapComms[index];
             StringBuilder sbRow    = new StringBuilder("(");
             bool          hasComma = false;
             if (sbCommands == null)
             {
                 sbCommands = new StringBuilder();
                 sbCommands.Append("INSERT INTO asapcomm (");
                 if (useExistingPK)
                 {
                     sbCommands.Append("AsapCommNum,");
                 }
                 sbCommands.Append("FKey,FKeyType,ScheduleNum,PatNum,ClinicNum,ShortGUID,DateTimeEntry,DateTimeExpire,DateTimeSmsScheduled,SmsSendStatus,EmailSendStatus,DateTimeSmsSent,DateTimeEmailSent,EmailMessageNum,ResponseStatus,DateTimeOrig,TemplateText,TemplateEmail,TemplateEmailSubj,Note,GuidMessageToMobile) VALUES ");
                 countRows = 0;
             }
             else
             {
                 hasComma = true;
             }
             if (useExistingPK)
             {
                 sbRow.Append(POut.Long(asapComm.AsapCommNum)); sbRow.Append(",");
             }
             sbRow.Append(POut.Long(asapComm.FKey)); sbRow.Append(",");
             sbRow.Append(POut.Int((int)asapComm.FKeyType)); sbRow.Append(",");
             sbRow.Append(POut.Long(asapComm.ScheduleNum)); sbRow.Append(",");
             sbRow.Append(POut.Long(asapComm.PatNum)); sbRow.Append(",");
             sbRow.Append(POut.Long(asapComm.ClinicNum)); sbRow.Append(",");
             sbRow.Append("'" + POut.String(asapComm.ShortGUID) + "'"); sbRow.Append(",");
             sbRow.Append(DbHelper.Now()); sbRow.Append(",");
             sbRow.Append(POut.DateT(asapComm.DateTimeExpire)); sbRow.Append(",");
             sbRow.Append(POut.DateT(asapComm.DateTimeSmsScheduled)); sbRow.Append(",");
             sbRow.Append(POut.Int((int)asapComm.SmsSendStatus)); sbRow.Append(",");
             sbRow.Append(POut.Int((int)asapComm.EmailSendStatus)); sbRow.Append(",");
             sbRow.Append(POut.DateT(asapComm.DateTimeSmsSent)); sbRow.Append(",");
             sbRow.Append(POut.DateT(asapComm.DateTimeEmailSent)); sbRow.Append(",");
             sbRow.Append(POut.Long(asapComm.EmailMessageNum)); sbRow.Append(",");
             sbRow.Append(POut.Int((int)asapComm.ResponseStatus)); sbRow.Append(",");
             sbRow.Append(POut.DateT(asapComm.DateTimeOrig)); sbRow.Append(",");
             sbRow.Append("'" + POut.String(asapComm.TemplateText) + "'"); sbRow.Append(",");
             sbRow.Append("'" + POut.String(asapComm.TemplateEmail) + "'"); sbRow.Append(",");
             sbRow.Append("'" + POut.String(asapComm.TemplateEmailSubj) + "'"); sbRow.Append(",");
             sbRow.Append("'" + POut.String(asapComm.Note) + "'"); sbRow.Append(",");
             sbRow.Append("'" + POut.String(asapComm.GuidMessageToMobile) + "'"); 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 == listAsapComms.Count - 1)
                 {
                     Db.NonQ(sbCommands.ToString());
                 }
                 index++;
             }
         }
     }
 }