Ejemplo n.º 1
0
 ///<summary>Inserts one ReminderRule into the database.  Returns the new priKey.</summary>
 public static long Insert(ReminderRule reminderRule)
 {
     if (DataConnection.DBtype == DatabaseType.Oracle)
     {
         reminderRule.ReminderRuleNum = DbHelper.GetNextOracleKey("reminderrule", "ReminderRuleNum");
         int loopcount = 0;
         while (loopcount < 100)
         {
             try {
                 return(Insert(reminderRule, true));
             }
             catch (Oracle.DataAccess.Client.OracleException ex) {
                 if (ex.Number == 1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated"))
                 {
                     reminderRule.ReminderRuleNum++;
                     loopcount++;
                 }
                 else
                 {
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else
     {
         return(Insert(reminderRule, false));
     }
 }
Ejemplo n.º 2
0
 ///<summary>Inserts one ReminderRule into the database.  Provides option to use the existing priKey.</summary>
 internal static long Insert(ReminderRule reminderRule,bool useExistingPK)
 {
     if(!useExistingPK && PrefC.RandomKeys) {
         reminderRule.ReminderRuleNum=ReplicationServers.GetKey("reminderrule","ReminderRuleNum");
     }
     string command="INSERT INTO reminderrule (";
     if(useExistingPK || PrefC.RandomKeys) {
         command+="ReminderRuleNum,";
     }
     command+="ReminderCriterion,CriterionFK,CriterionValue,Message) VALUES(";
     if(useExistingPK || PrefC.RandomKeys) {
         command+=POut.Long(reminderRule.ReminderRuleNum)+",";
     }
     command+=
              POut.Int   ((int)reminderRule.ReminderCriterion)+","
         +    POut.Long  (reminderRule.CriterionFK)+","
         +"'"+POut.String(reminderRule.CriterionValue)+"',"
         +"'"+POut.String(reminderRule.Message)+"')";
     if(useExistingPK || PrefC.RandomKeys) {
         Db.NonQ(command);
     }
     else {
         reminderRule.ReminderRuleNum=Db.NonQ(command,true);
     }
     return reminderRule.ReminderRuleNum;
 }
Ejemplo n.º 3
0
        ///<summary>Inserts one ReminderRule into the database.  Provides option to use the existing priKey.</summary>
        public static long Insert(ReminderRule reminderRule, bool useExistingPK)
        {
            if (!useExistingPK && PrefC.RandomKeys)
            {
                reminderRule.ReminderRuleNum = ReplicationServers.GetKey("reminderrule", "ReminderRuleNum");
            }
            string command = "INSERT INTO reminderrule (";

            if (useExistingPK || PrefC.RandomKeys)
            {
                command += "ReminderRuleNum,";
            }
            command += "ReminderCriterion,CriterionFK,CriterionValue,Message) VALUES(";
            if (useExistingPK || PrefC.RandomKeys)
            {
                command += POut.Long(reminderRule.ReminderRuleNum) + ",";
            }
            command +=
                POut.Int((int)reminderRule.ReminderCriterion) + ","
                + POut.Long(reminderRule.CriterionFK) + ","
                + "'" + POut.String(reminderRule.CriterionValue) + "',"
                + "'" + POut.String(reminderRule.Message) + "')";
            if (useExistingPK || PrefC.RandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                reminderRule.ReminderRuleNum = Db.NonQ(command, true);
            }
            return(reminderRule.ReminderRuleNum);
        }
Ejemplo n.º 4
0
        ///<summary>Inserts one ReminderRule into the database.  Provides option to use the existing priKey.  Doesn't use the cache.</summary>
        public static long InsertNoCache(ReminderRule reminderRule, bool useExistingPK)
        {
            bool   isRandomKeys = Prefs.GetBoolNoCache(PrefName.RandomPrimaryKeys);
            string command      = "INSERT INTO reminderrule (";

            if (!useExistingPK && isRandomKeys)
            {
                reminderRule.ReminderRuleNum = ReplicationServers.GetKeyNoCache("reminderrule", "ReminderRuleNum");
            }
            if (isRandomKeys || useExistingPK)
            {
                command += "ReminderRuleNum,";
            }
            command += "ReminderCriterion,CriterionFK,CriterionValue,Message) VALUES(";
            if (isRandomKeys || useExistingPK)
            {
                command += POut.Long(reminderRule.ReminderRuleNum) + ",";
            }
            command +=
                POut.Int((int)reminderRule.ReminderCriterion) + ","
                + POut.Long(reminderRule.CriterionFK) + ","
                + "'" + POut.String(reminderRule.CriterionValue) + "',"
                + "'" + POut.String(reminderRule.Message) + "')";
            if (useExistingPK || isRandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                reminderRule.ReminderRuleNum = Db.NonQ(command, true, "ReminderRuleNum", "reminderRule");
            }
            return(reminderRule.ReminderRuleNum);
        }
Ejemplo n.º 5
0
 ///<summary>Inserts one ReminderRule into the database.  Returns the new priKey.</summary>
 internal static long Insert(ReminderRule reminderRule)
 {
     if(DataConnection.DBtype==DatabaseType.Oracle) {
         reminderRule.ReminderRuleNum=DbHelper.GetNextOracleKey("reminderrule","ReminderRuleNum");
         int loopcount=0;
         while(loopcount<100){
             try {
                 return Insert(reminderRule,true);
             }
             catch(Oracle.DataAccess.Client.OracleException ex){
                 if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){
                     reminderRule.ReminderRuleNum++;
                     loopcount++;
                 }
                 else{
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else {
         return Insert(reminderRule,false);
     }
 }
Ejemplo n.º 6
0
        ///<summary>Updates one ReminderRule in the database.</summary>
        public static void Update(ReminderRule reminderRule)
        {
            string command = "UPDATE reminderrule SET "
                             + "ReminderCriterion=  " + POut.Int((int)reminderRule.ReminderCriterion) + ", "
                             + "CriterionFK      =  " + POut.Long(reminderRule.CriterionFK) + ", "
                             + "CriterionValue   = '" + POut.String(reminderRule.CriterionValue) + "', "
                             + "Message          = '" + POut.String(reminderRule.Message) + "' "
                             + "WHERE ReminderRuleNum = " + POut.Long(reminderRule.ReminderRuleNum);

            Db.NonQ(command);
        }
Ejemplo n.º 7
0
		///<summary>Converts a DataTable to a list of objects.</summary>
		public static List<ReminderRule> TableToList(DataTable table){
			List<ReminderRule> retVal=new List<ReminderRule>();
			ReminderRule reminderRule;
			for(int i=0;i<table.Rows.Count;i++) {
				reminderRule=new ReminderRule();
				reminderRule.ReminderRuleNum  = PIn.Long  (table.Rows[i]["ReminderRuleNum"].ToString());
				reminderRule.ReminderCriterion= (OpenDentBusiness.EhrCriterion)PIn.Int(table.Rows[i]["ReminderCriterion"].ToString());
				reminderRule.CriterionFK      = PIn.Long  (table.Rows[i]["CriterionFK"].ToString());
				reminderRule.CriterionValue   = PIn.String(table.Rows[i]["CriterionValue"].ToString());
				reminderRule.Message          = PIn.String(table.Rows[i]["Message"].ToString());
				retVal.Add(reminderRule);
			}
			return retVal;
		}
Ejemplo n.º 8
0
        //todo refactor into own class
        public ServiceResult Insert(ReminderRule rr)
        {
            rr.UUID = Guid.NewGuid().ToString("N");

            using (var context = new GreenWerxDbContext(this._connectionKey))
            {
                ////if (!this.DataAccessAuthorized(rr, "POST", false)) return ServiceResponse.Error("You are not authorized this action.");

                if (context.Insert <ReminderRule>(rr))
                {
                    return(ServiceResponse.OK("", rr));
                }
            }
            return(ServiceResponse.Error("An error occurred inserting reminder rule " + rr.RangeStart.ToString() + " " + rr.RangeEnd.ToString()));
        }
Ejemplo n.º 9
0
 ///<summary>Inserts one ReminderRule into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
 public static long InsertNoCache(ReminderRule reminderRule)
 {
     if (DataConnection.DBtype == DatabaseType.MySql)
     {
         return(InsertNoCache(reminderRule, false));
     }
     else
     {
         if (DataConnection.DBtype == DatabaseType.Oracle)
         {
             reminderRule.ReminderRuleNum = DbHelper.GetNextOracleKey("reminderrule", "ReminderRuleNum");                  //Cacheless method
         }
         return(InsertNoCache(reminderRule, true));
     }
 }
Ejemplo n.º 10
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <ReminderRule> TableToList(DataTable table)
        {
            List <ReminderRule> retVal = new List <ReminderRule>();
            ReminderRule        reminderRule;

            for (int i = 0; i < table.Rows.Count; i++)
            {
                reminderRule = new ReminderRule();
                reminderRule.ReminderRuleNum   = PIn.Long(table.Rows[i]["ReminderRuleNum"].ToString());
                reminderRule.ReminderCriterion = (EhrCriterion)PIn.Int(table.Rows[i]["ReminderCriterion"].ToString());
                reminderRule.CriterionFK       = PIn.Long(table.Rows[i]["CriterionFK"].ToString());
                reminderRule.CriterionValue    = PIn.String(table.Rows[i]["CriterionValue"].ToString());
                reminderRule.Message           = PIn.String(table.Rows[i]["Message"].ToString());
                retVal.Add(reminderRule);
            }
            return(retVal);
        }
Ejemplo n.º 11
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <ReminderRule> TableToList(DataTable table)
        {
            List <ReminderRule> retVal = new List <ReminderRule>();
            ReminderRule        reminderRule;

            foreach (DataRow row in table.Rows)
            {
                reminderRule = new ReminderRule();
                reminderRule.ReminderRuleNum   = PIn.Long(row["ReminderRuleNum"].ToString());
                reminderRule.ReminderCriterion = (OpenDentBusiness.EhrCriterion)PIn.Int(row["ReminderCriterion"].ToString());
                reminderRule.CriterionFK       = PIn.Long(row["CriterionFK"].ToString());
                reminderRule.CriterionValue    = PIn.String(row["CriterionValue"].ToString());
                reminderRule.Message           = PIn.String(row["Message"].ToString());
                retVal.Add(reminderRule);
            }
            return(retVal);
        }
Ejemplo n.º 12
0
        ///<summary>Updates one ReminderRule 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(ReminderRule reminderRule, ReminderRule oldReminderRule)
        {
            string command = "";

            if (reminderRule.ReminderCriterion != oldReminderRule.ReminderCriterion)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ReminderCriterion = " + POut.Int((int)reminderRule.ReminderCriterion) + "";
            }
            if (reminderRule.CriterionFK != oldReminderRule.CriterionFK)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "CriterionFK = " + POut.Long(reminderRule.CriterionFK) + "";
            }
            if (reminderRule.CriterionValue != oldReminderRule.CriterionValue)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "CriterionValue = '" + POut.String(reminderRule.CriterionValue) + "'";
            }
            if (reminderRule.Message != oldReminderRule.Message)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Message = '" + POut.String(reminderRule.Message) + "'";
            }
            if (command == "")
            {
                return(false);
            }
            command = "UPDATE reminderrule SET " + command
                      + " WHERE ReminderRuleNum = " + POut.Long(reminderRule.ReminderRuleNum);
            Db.NonQ(command);
            return(true);
        }
Ejemplo n.º 13
0
 ///<summary>Returns true if Update(ReminderRule,ReminderRule) 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(ReminderRule reminderRule, ReminderRule oldReminderRule)
 {
     if (reminderRule.ReminderCriterion != oldReminderRule.ReminderCriterion)
     {
         return(true);
     }
     if (reminderRule.CriterionFK != oldReminderRule.CriterionFK)
     {
         return(true);
     }
     if (reminderRule.CriterionValue != oldReminderRule.CriterionValue)
     {
         return(true);
     }
     if (reminderRule.Message != oldReminderRule.Message)
     {
         return(true);
     }
     return(false);
 }
Ejemplo n.º 14
0
 ///<summary>Updates one ReminderRule 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(ReminderRule reminderRule,ReminderRule oldReminderRule)
 {
     string command="";
     if(reminderRule.ReminderCriterion != oldReminderRule.ReminderCriterion) {
         if(command!=""){ command+=",";}
         command+="ReminderCriterion = "+POut.Int   ((int)reminderRule.ReminderCriterion)+"";
     }
     if(reminderRule.CriterionFK != oldReminderRule.CriterionFK) {
         if(command!=""){ command+=",";}
         command+="CriterionFK = "+POut.Long(reminderRule.CriterionFK)+"";
     }
     if(reminderRule.CriterionValue != oldReminderRule.CriterionValue) {
         if(command!=""){ command+=",";}
         command+="CriterionValue = '"+POut.String(reminderRule.CriterionValue)+"'";
     }
     if(reminderRule.Message != oldReminderRule.Message) {
         if(command!=""){ command+=",";}
         command+="Message = '"+POut.String(reminderRule.Message)+"'";
     }
     if(command==""){
         return;
     }
     command="UPDATE reminderrule SET "+command
         +" WHERE ReminderRuleNum = "+POut.Long(reminderRule.ReminderRuleNum);
     Db.NonQ(command);
 }
Ejemplo n.º 15
0
 ///<summary>Updates one ReminderRule in the database.</summary>
 internal static void Update(ReminderRule reminderRule)
 {
     string command="UPDATE reminderrule SET "
         +"ReminderCriterion=  "+POut.Int   ((int)reminderRule.ReminderCriterion)+", "
         +"CriterionFK      =  "+POut.Long  (reminderRule.CriterionFK)+", "
         +"CriterionValue   = '"+POut.String(reminderRule.CriterionValue)+"', "
         +"Message          = '"+POut.String(reminderRule.Message)+"' "
         +"WHERE ReminderRuleNum = "+POut.Long(reminderRule.ReminderRuleNum);
     Db.NonQ(command);
 }
Ejemplo n.º 16
0
 ///<summary>Inserts one ReminderRule into the database.  Returns the new priKey.</summary>
 public static long Insert(ReminderRule reminderRule)
 {
     return(Insert(reminderRule, false));
 }