Пример #1
0
        ///<summary>Updates one EServiceSignal in the database.</summary>
        public static void Update(EServiceSignal eServiceSignal)
        {
            string command = "UPDATE eservicesignal SET "
                             + "ServiceCode      =  " + POut.Int(eServiceSignal.ServiceCode) + ", "
                             + "ReasonCategory   =  " + POut.Int(eServiceSignal.ReasonCategory) + ", "
                             + "ReasonCode       =  " + POut.Int(eServiceSignal.ReasonCode) + ", "
                             + "Severity         =  " + POut.Int((int)eServiceSignal.Severity) + ", "
                             + "Description      =  " + DbHelper.ParamChar + "paramDescription, "
                             + "SigDateTime      =  " + POut.DateT(eServiceSignal.SigDateTime) + ", "
                             + "Tag              =  " + DbHelper.ParamChar + "paramTag, "
                             + "IsProcessed      =  " + POut.Bool(eServiceSignal.IsProcessed) + " "
                             + "WHERE EServiceSignalNum = " + POut.Long(eServiceSignal.EServiceSignalNum);

            if (eServiceSignal.Description == null)
            {
                eServiceSignal.Description = "";
            }
            OdSqlParameter paramDescription = new OdSqlParameter("paramDescription", OdDbType.Text, POut.StringParam(eServiceSignal.Description));

            if (eServiceSignal.Tag == null)
            {
                eServiceSignal.Tag = "";
            }
            OdSqlParameter paramTag = new OdSqlParameter("paramTag", OdDbType.Text, POut.StringParam(eServiceSignal.Tag));

            Db.NonQ(command, paramDescription, paramTag);
        }
Пример #2
0
 ///<summary>Inserts one EServiceSignal into the database.  Returns the new priKey.</summary>
 public static long Insert(EServiceSignal eServiceSignal)
 {
     if (DataConnection.DBtype == DatabaseType.Oracle)
     {
         eServiceSignal.EServiceSignalNum = DbHelper.GetNextOracleKey("eservicesignal", "EServiceSignalNum");
         int loopcount = 0;
         while (loopcount < 100)
         {
             try {
                 return(Insert(eServiceSignal, true));
             }
             catch (Oracle.ManagedDataAccess.Client.OracleException ex) {
                 if (ex.Number == 1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated"))
                 {
                     eServiceSignal.EServiceSignalNum++;
                     loopcount++;
                 }
                 else
                 {
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else
     {
         return(Insert(eServiceSignal, false));
     }
 }
Пример #3
0
        ///<summary>Inserts one EServiceSignal into the database.  Provides option to use the existing priKey.  Doesn't use the cache.</summary>
        public static long InsertNoCache(EServiceSignal eServiceSignal, bool useExistingPK)
        {
            bool   isRandomKeys = Prefs.GetBoolNoCache(PrefName.RandomPrimaryKeys);
            string command      = "INSERT INTO eservicesignal (";

            if (!useExistingPK && isRandomKeys)
            {
                eServiceSignal.EServiceSignalNum = ReplicationServers.GetKeyNoCache("eservicesignal", "EServiceSignalNum");
            }
            if (isRandomKeys || useExistingPK)
            {
                command += "EServiceSignalNum,";
            }
            command += "ServiceCode,ReasonCategory,ReasonCode,Severity,Description,SigDateTime,Tag,IsProcessed) VALUES(";
            if (isRandomKeys || useExistingPK)
            {
                command += POut.Long(eServiceSignal.EServiceSignalNum) + ",";
            }
            command +=
                POut.Int(eServiceSignal.ServiceCode) + ","
                + POut.Int(eServiceSignal.ReasonCategory) + ","
                + POut.Int(eServiceSignal.ReasonCode) + ","
                + POut.Int((int)eServiceSignal.Severity) + ","
                + DbHelper.ParamChar + "paramDescription,"
                + POut.DateT(eServiceSignal.SigDateTime) + ","
                + DbHelper.ParamChar + "paramTag,"
                + POut.Bool(eServiceSignal.IsProcessed) + ")";
            if (eServiceSignal.Description == null)
            {
                eServiceSignal.Description = "";
            }
            OdSqlParameter paramDescription = new OdSqlParameter("paramDescription", OdDbType.Text, POut.StringParam(eServiceSignal.Description));

            if (eServiceSignal.Tag == null)
            {
                eServiceSignal.Tag = "";
            }
            OdSqlParameter paramTag = new OdSqlParameter("paramTag", OdDbType.Text, POut.StringParam(eServiceSignal.Tag));

            if (useExistingPK || isRandomKeys)
            {
                Db.NonQ(command, paramDescription, paramTag);
            }
            else
            {
                eServiceSignal.EServiceSignalNum = Db.NonQ(command, true, "EServiceSignalNum", "eServiceSignal", paramDescription, paramTag);
            }
            return(eServiceSignal.EServiceSignalNum);
        }
Пример #4
0
 ///<summary>Inserts one EServiceSignal into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
 public static long InsertNoCache(EServiceSignal eServiceSignal)
 {
     if (DataConnection.DBtype == DatabaseType.MySql)
     {
         return(InsertNoCache(eServiceSignal, false));
     }
     else
     {
         if (DataConnection.DBtype == DatabaseType.Oracle)
         {
             eServiceSignal.EServiceSignalNum = DbHelper.GetNextOracleKey("eservicesignal", "EServiceSignalNum");                  //Cacheless method
         }
         return(InsertNoCache(eServiceSignal, true));
     }
 }
Пример #5
0
		///<summary>Converts a DataTable to a list of objects.</summary>
		public static List<EServiceSignal> TableToList(DataTable table){
			List<EServiceSignal> retVal=new List<EServiceSignal>();
			EServiceSignal eServiceSignal;
			for(int i=0;i<table.Rows.Count;i++) {
				eServiceSignal=new EServiceSignal();
				eServiceSignal.EServiceSignalNum= PIn.Long  (table.Rows[i]["EServiceSignalNum"].ToString());
				eServiceSignal.ServiceCode      = PIn.Int   (table.Rows[i]["ServiceCode"].ToString());
				eServiceSignal.ReasonCategory   = PIn.Int   (table.Rows[i]["ReasonCategory"].ToString());
				eServiceSignal.ReasonCode       = PIn.Int   (table.Rows[i]["ReasonCode"].ToString());
				eServiceSignal.Severity         = (OpenDentBusiness.eServiceSignalSeverity)PIn.Int(table.Rows[i]["Severity"].ToString());
				eServiceSignal.Description      = PIn.String(table.Rows[i]["Description"].ToString());
				eServiceSignal.SigDateTime      = PIn.DateT (table.Rows[i]["SigDateTime"].ToString());
				eServiceSignal.Tag              = PIn.String(table.Rows[i]["Tag"].ToString());
				eServiceSignal.IsProcessed      = PIn.Bool  (table.Rows[i]["IsProcessed"].ToString());
				retVal.Add(eServiceSignal);
			}
			return retVal;
		}
Пример #6
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <EServiceSignal> TableToList(DataTable table)
        {
            List <EServiceSignal> retVal = new List <EServiceSignal>();
            EServiceSignal        eServiceSignal;

            foreach (DataRow row in table.Rows)
            {
                eServiceSignal = new EServiceSignal();
                eServiceSignal.EServiceSignalNum = PIn.Long(row["EServiceSignalNum"].ToString());
                eServiceSignal.ServiceCode       = PIn.Int(row["ServiceCode"].ToString());
                eServiceSignal.ReasonCategory    = PIn.Int(row["ReasonCategory"].ToString());
                eServiceSignal.ReasonCode        = PIn.Int(row["ReasonCode"].ToString());
                eServiceSignal.Severity          = (OpenDentBusiness.eServiceSignalSeverity)PIn.Int(row["Severity"].ToString());
                eServiceSignal.Description       = PIn.String(row["Description"].ToString());
                eServiceSignal.SigDateTime       = PIn.DateT(row["SigDateTime"].ToString());
                eServiceSignal.Tag         = PIn.String(row["Tag"].ToString());
                eServiceSignal.IsProcessed = PIn.Bool(row["IsProcessed"].ToString());
                retVal.Add(eServiceSignal);
            }
            return(retVal);
        }
Пример #7
0
        private void butListenerAlertsOff_Click(object sender, EventArgs e)
        {
            if (!Security.IsAuthorized(Permissions.SecurityAdmin))
            {
                return;
            }
            //Insert a row into the eservicesignal table to indicate to all computers to stop monitoring.
            EServiceSignal signalDisable = new EServiceSignal();

            signalDisable.Description    = "Stop Monitoring clicked from setup window.";
            signalDisable.IsProcessed    = true;
            signalDisable.ReasonCategory = 0;
            signalDisable.ReasonCode     = 0;
            signalDisable.ServiceCode    = (int)eServiceCode.ListenerService;
            signalDisable.Severity       = eServiceSignalSeverity.NotEnabled;
            signalDisable.Tag            = "";
            signalDisable.SigDateTime    = MiscData.GetNowDateTime();
            EServiceSignals.Insert(signalDisable);
            SecurityLogs.MakeLogEntry(Permissions.SecurityAdmin, 0, "Listener Service monitoring manually stopped via eServices Setup window.");
            MsgBox.Show(this, "Monitoring shutdown signal sent.  This will take up to one minute.");
            FillGridListenerService();
            FillTextListenerServiceStatus();
        }
Пример #8
0
		///<summary>Inserts one EServiceSignal into the database.  Returns the new priKey.</summary>
		public static long Insert(EServiceSignal eServiceSignal){
			if(DataConnection.DBtype==DatabaseType.Oracle) {
				eServiceSignal.EServiceSignalNum=DbHelper.GetNextOracleKey("eservicesignal","EServiceSignalNum");
				int loopcount=0;
				while(loopcount<100){
					try {
						return Insert(eServiceSignal,true);
					}
					catch(Oracle.DataAccess.Client.OracleException ex){
						if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){
							eServiceSignal.EServiceSignalNum++;
							loopcount++;
						}
						else{
							throw ex;
						}
					}
				}
				throw new ApplicationException("Insert failed.  Could not generate primary key.");
			}
			else {
				return Insert(eServiceSignal,false);
			}
		}
Пример #9
0
 ///<summary>Returns true if Update(EServiceSignal,EServiceSignal) 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(EServiceSignal eServiceSignal, EServiceSignal oldEServiceSignal)
 {
     if (eServiceSignal.ServiceCode != oldEServiceSignal.ServiceCode)
     {
         return(true);
     }
     if (eServiceSignal.ReasonCategory != oldEServiceSignal.ReasonCategory)
     {
         return(true);
     }
     if (eServiceSignal.ReasonCode != oldEServiceSignal.ReasonCode)
     {
         return(true);
     }
     if (eServiceSignal.Severity != oldEServiceSignal.Severity)
     {
         return(true);
     }
     if (eServiceSignal.Description != oldEServiceSignal.Description)
     {
         return(true);
     }
     if (eServiceSignal.SigDateTime != oldEServiceSignal.SigDateTime)
     {
         return(true);
     }
     if (eServiceSignal.Tag != oldEServiceSignal.Tag)
     {
         return(true);
     }
     if (eServiceSignal.IsProcessed != oldEServiceSignal.IsProcessed)
     {
         return(true);
     }
     return(false);
 }
Пример #10
0
		///<summary>Inserts one EServiceSignal into the database.  Provides option to use the existing priKey.</summary>
		public static long Insert(EServiceSignal eServiceSignal,bool useExistingPK){
			if(!useExistingPK && PrefC.RandomKeys) {
				eServiceSignal.EServiceSignalNum=ReplicationServers.GetKey("eservicesignal","EServiceSignalNum");
			}
			string command="INSERT INTO eservicesignal (";
			if(useExistingPK || PrefC.RandomKeys) {
				command+="EServiceSignalNum,";
			}
			command+="ServiceCode,ReasonCategory,ReasonCode,Severity,Description,SigDateTime,Tag,IsProcessed) VALUES(";
			if(useExistingPK || PrefC.RandomKeys) {
				command+=POut.Long(eServiceSignal.EServiceSignalNum)+",";
			}
			command+=
				     POut.Int   (eServiceSignal.ServiceCode)+","
				+    POut.Int   (eServiceSignal.ReasonCategory)+","
				+    POut.Int   (eServiceSignal.ReasonCode)+","
				+    POut.Int   ((int)eServiceSignal.Severity)+","
				+"'"+POut.String(eServiceSignal.Description)+"',"
				+    POut.DateT (eServiceSignal.SigDateTime)+","
				+"'"+POut.String(eServiceSignal.Tag)+"',"
				+    POut.Bool  (eServiceSignal.IsProcessed)+")";
			if(useExistingPK || PrefC.RandomKeys) {
				Db.NonQ(command);
			}
			else {
				eServiceSignal.EServiceSignalNum=Db.NonQ(command,true);
			}
			return eServiceSignal.EServiceSignalNum;
		}
Пример #11
0
		///<summary>Updates one EServiceSignal 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(EServiceSignal eServiceSignal,EServiceSignal oldEServiceSignal){
			string command="";
			if(eServiceSignal.ServiceCode != oldEServiceSignal.ServiceCode) {
				if(command!=""){ command+=",";}
				command+="ServiceCode = "+POut.Int(eServiceSignal.ServiceCode)+"";
			}
			if(eServiceSignal.ReasonCategory != oldEServiceSignal.ReasonCategory) {
				if(command!=""){ command+=",";}
				command+="ReasonCategory = "+POut.Int(eServiceSignal.ReasonCategory)+"";
			}
			if(eServiceSignal.ReasonCode != oldEServiceSignal.ReasonCode) {
				if(command!=""){ command+=",";}
				command+="ReasonCode = "+POut.Int(eServiceSignal.ReasonCode)+"";
			}
			if(eServiceSignal.Severity != oldEServiceSignal.Severity) {
				if(command!=""){ command+=",";}
				command+="Severity = "+POut.Int   ((int)eServiceSignal.Severity)+"";
			}
			if(eServiceSignal.Description != oldEServiceSignal.Description) {
				if(command!=""){ command+=",";}
				command+="Description = '"+POut.String(eServiceSignal.Description)+"'";
			}
			if(eServiceSignal.SigDateTime != oldEServiceSignal.SigDateTime) {
				if(command!=""){ command+=",";}
				command+="SigDateTime = "+POut.DateT(eServiceSignal.SigDateTime)+"";
			}
			if(eServiceSignal.Tag != oldEServiceSignal.Tag) {
				if(command!=""){ command+=",";}
				command+="Tag = '"+POut.String(eServiceSignal.Tag)+"'";
			}
			if(eServiceSignal.IsProcessed != oldEServiceSignal.IsProcessed) {
				if(command!=""){ command+=",";}
				command+="IsProcessed = "+POut.Bool(eServiceSignal.IsProcessed)+"";
			}
			if(command==""){
				return false;
			}
			command="UPDATE eservicesignal SET "+command
				+" WHERE EServiceSignalNum = "+POut.Long(eServiceSignal.EServiceSignalNum);
			Db.NonQ(command);
			return true;
		}
Пример #12
0
		///<summary>Updates one EServiceSignal in the database.</summary>
		public static void Update(EServiceSignal eServiceSignal){
			string command="UPDATE eservicesignal SET "
				+"ServiceCode      =  "+POut.Int   (eServiceSignal.ServiceCode)+", "
				+"ReasonCategory   =  "+POut.Int   (eServiceSignal.ReasonCategory)+", "
				+"ReasonCode       =  "+POut.Int   (eServiceSignal.ReasonCode)+", "
				+"Severity         =  "+POut.Int   ((int)eServiceSignal.Severity)+", "
				+"Description      = '"+POut.String(eServiceSignal.Description)+"', "
				+"SigDateTime      =  "+POut.DateT (eServiceSignal.SigDateTime)+", "
				+"Tag              = '"+POut.String(eServiceSignal.Tag)+"', "
				+"IsProcessed      =  "+POut.Bool  (eServiceSignal.IsProcessed)+" "
				+"WHERE EServiceSignalNum = "+POut.Long(eServiceSignal.EServiceSignalNum);
			Db.NonQ(command);
		}
Пример #13
0
        ///<summary>Updates one EServiceSignal 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(EServiceSignal eServiceSignal, EServiceSignal oldEServiceSignal)
        {
            string command = "";

            if (eServiceSignal.ServiceCode != oldEServiceSignal.ServiceCode)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ServiceCode = " + POut.Int(eServiceSignal.ServiceCode) + "";
            }
            if (eServiceSignal.ReasonCategory != oldEServiceSignal.ReasonCategory)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ReasonCategory = " + POut.Int(eServiceSignal.ReasonCategory) + "";
            }
            if (eServiceSignal.ReasonCode != oldEServiceSignal.ReasonCode)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ReasonCode = " + POut.Int(eServiceSignal.ReasonCode) + "";
            }
            if (eServiceSignal.Severity != oldEServiceSignal.Severity)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Severity = " + POut.Int((int)eServiceSignal.Severity) + "";
            }
            if (eServiceSignal.Description != oldEServiceSignal.Description)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Description = " + DbHelper.ParamChar + "paramDescription";
            }
            if (eServiceSignal.SigDateTime != oldEServiceSignal.SigDateTime)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "SigDateTime = " + POut.DateT(eServiceSignal.SigDateTime) + "";
            }
            if (eServiceSignal.Tag != oldEServiceSignal.Tag)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "Tag = " + DbHelper.ParamChar + "paramTag";
            }
            if (eServiceSignal.IsProcessed != oldEServiceSignal.IsProcessed)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "IsProcessed = " + POut.Bool(eServiceSignal.IsProcessed) + "";
            }
            if (command == "")
            {
                return(false);
            }
            if (eServiceSignal.Description == null)
            {
                eServiceSignal.Description = "";
            }
            OdSqlParameter paramDescription = new OdSqlParameter("paramDescription", OdDbType.Text, POut.StringParam(eServiceSignal.Description));

            if (eServiceSignal.Tag == null)
            {
                eServiceSignal.Tag = "";
            }
            OdSqlParameter paramTag = new OdSqlParameter("paramTag", OdDbType.Text, POut.StringParam(eServiceSignal.Tag));

            command = "UPDATE eservicesignal SET " + command
                      + " WHERE EServiceSignalNum = " + POut.Long(eServiceSignal.EServiceSignalNum);
            Db.NonQ(command, paramDescription, paramTag);
            return(true);
        }
Пример #14
0
 ///<summary>Inserts one EServiceSignal into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
 public static long InsertNoCache(EServiceSignal eServiceSignal)
 {
     return(InsertNoCache(eServiceSignal, false));
 }