Example #1
0
        private static bool AllergyComparison(AutomationCondition autoCond, long patNum)
        {
            List <Allergy> allergyList = Allergies.GetAll(patNum, false);

            switch (autoCond.Comparison)
            {
            case AutoCondComparison.Equals:
                for (int i = 0; i < allergyList.Count; i++)
                {
                    if (AllergyDefs.GetOne(allergyList[i].AllergyDefNum).Description == autoCond.CompareString)
                    {
                        return(true);
                    }
                }
                break;

            case AutoCondComparison.Contains:
                for (int i = 0; i < allergyList.Count; i++)
                {
                    if (AllergyDefs.GetOne(allergyList[i].AllergyDefNum).Description.ToLower().Contains(autoCond.CompareString.ToLower()))
                    {
                        return(true);
                    }
                }
                break;
            }
            return(false);
        }
 ///<summary>Inserts one AutomationCondition into the database.  Returns the new priKey.</summary>
 public static long Insert(AutomationCondition automationCondition)
 {
     if (DataConnection.DBtype == DatabaseType.Oracle)
     {
         automationCondition.AutomationConditionNum = DbHelper.GetNextOracleKey("automationcondition", "AutomationConditionNum");
         int loopcount = 0;
         while (loopcount < 100)
         {
             try {
                 return(Insert(automationCondition, true));
             }
             catch (Oracle.ManagedDataAccess.Client.OracleException ex) {
                 if (ex.Number == 1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated"))
                 {
                     automationCondition.AutomationConditionNum++;
                     loopcount++;
                 }
                 else
                 {
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else
     {
         return(Insert(automationCondition, false));
     }
 }
Example #3
0
 ///<summary>Inserts one AutomationCondition into the database.  Returns the new priKey.</summary>
 internal static long Insert(AutomationCondition automationCondition)
 {
     if(DataConnection.DBtype==DatabaseType.Oracle) {
         automationCondition.AutomationConditionNum=DbHelper.GetNextOracleKey("automationcondition","AutomationConditionNum");
         int loopcount=0;
         while(loopcount<100){
             try {
                 return Insert(automationCondition,true);
             }
             catch(Oracle.DataAccess.Client.OracleException ex){
                 if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){
                     automationCondition.AutomationConditionNum++;
                     loopcount++;
                 }
                 else{
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else {
         return Insert(automationCondition,false);
     }
 }
Example #4
0
        private static bool ProblemComparison(AutomationCondition autoCond, long patNum)
        {
            List <Disease> problemList = Diseases.Refresh(patNum, true);

            switch (autoCond.Comparison)             //Find out what operand to use.
            {
            case AutoCondComparison.Equals:
                for (int i = 0; i < problemList.Count; i++)                   //Includes hidden
                {
                    if (DiseaseDefs.GetName(problemList[i].DiseaseDefNum) == autoCond.CompareString)
                    {
                        return(true);
                    }
                }
                break;

            case AutoCondComparison.Contains:
                for (int i = 0; i < problemList.Count; i++)
                {
                    if (DiseaseDefs.GetName(problemList[i].DiseaseDefNum).ToLower().Contains(autoCond.CompareString.ToLower()))
                    {
                        return(true);
                    }
                }
                break;
            }
            return(false);
        }
Example #5
0
        private static bool AgeComparison(AutomationCondition autoCond, long patNum)
        {
            Patient pat        = Patients.GetPat(patNum);
            int     age        = pat.Age;
            int     ageTrigger = 0;

            if (!int.TryParse(autoCond.CompareString, out ageTrigger))
            {
                return(false);               //This is only possible due to an old bug that was fixed.
            }
            switch (autoCond.Comparison)
            {
            case AutoCondComparison.Equals:
                return(age == ageTrigger);

            case AutoCondComparison.Contains:
                return(age.ToString().Contains(autoCond.CompareString));

            case AutoCondComparison.GreaterThan:
                return(age > ageTrigger);

            case AutoCondComparison.LessThan:
                return(age < ageTrigger);

            default:
                return(false);
            }
        }
Example #6
0
        private static bool MedicationComparison(AutomationCondition autoCond, long patNum)
        {
            List <Medication> medList = Medications.GetMedicationsByPat(patNum);

            switch (autoCond.Comparison)
            {
            case AutoCondComparison.Equals:
                for (int i = 0; i < medList.Count; i++)
                {
                    if (medList[i].MedName == autoCond.CompareString)
                    {
                        return(true);
                    }
                }
                break;

            case AutoCondComparison.Contains:
                for (int i = 0; i < medList.Count; i++)
                {
                    if (medList[i].MedName.ToLower().Contains(autoCond.CompareString.ToLower()))
                    {
                        return(true);
                    }
                }
                break;
            }
            return(false);
        }
        ///<summary>Inserts one AutomationCondition into the database.  Provides option to use the existing priKey.</summary>
        public static long Insert(AutomationCondition automationCondition, bool useExistingPK)
        {
            if (!useExistingPK && PrefC.RandomKeys)
            {
                automationCondition.AutomationConditionNum = ReplicationServers.GetKey("automationcondition", "AutomationConditionNum");
            }
            string command = "INSERT INTO automationcondition (";

            if (useExistingPK || PrefC.RandomKeys)
            {
                command += "AutomationConditionNum,";
            }
            command += "AutomationNum,CompareField,Comparison,CompareString) VALUES(";
            if (useExistingPK || PrefC.RandomKeys)
            {
                command += POut.Long(automationCondition.AutomationConditionNum) + ",";
            }
            command +=
                POut.Long(automationCondition.AutomationNum) + ","
                + POut.Int((int)automationCondition.CompareField) + ","
                + POut.Int((int)automationCondition.Comparison) + ","
                + "'" + POut.String(automationCondition.CompareString) + "')";
            if (useExistingPK || PrefC.RandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                automationCondition.AutomationConditionNum = Db.NonQ(command, true, "AutomationConditionNum", "automationCondition");
            }
            return(automationCondition.AutomationConditionNum);
        }
Example #8
0
        private static bool LabresultComparison(AutomationCondition autoCond, long patNum)
        {
            List <LabResult> listResults = LabResults.GetAllForPatient(patNum);

            switch (autoCond.Comparison)
            {
            case AutoCondComparison.Equals:
                for (int i = 0; i < listResults.Count; i++)
                {
                    if (listResults[i].TestName == autoCond.CompareString)
                    {
                        return(true);
                    }
                }
                break;

            case AutoCondComparison.Contains:
                for (int i = 0; i < listResults.Count; i++)
                {
                    if (listResults[i].TestName.ToLower().Contains(autoCond.CompareString.ToLower()))
                    {
                        return(true);
                    }
                }
                break;
            }
            return(false);
        }
        ///<summary>Inserts one AutomationCondition into the database.  Provides option to use the existing priKey.  Doesn't use the cache.</summary>
        public static long InsertNoCache(AutomationCondition automationCondition, bool useExistingPK)
        {
            bool   isRandomKeys = Prefs.GetBoolNoCache(PrefName.RandomPrimaryKeys);
            string command      = "INSERT INTO automationcondition (";

            if (!useExistingPK && isRandomKeys)
            {
                automationCondition.AutomationConditionNum = ReplicationServers.GetKeyNoCache("automationcondition", "AutomationConditionNum");
            }
            if (isRandomKeys || useExistingPK)
            {
                command += "AutomationConditionNum,";
            }
            command += "AutomationNum,CompareField,Comparison,CompareString) VALUES(";
            if (isRandomKeys || useExistingPK)
            {
                command += POut.Long(automationCondition.AutomationConditionNum) + ",";
            }
            command +=
                POut.Long(automationCondition.AutomationNum) + ","
                + POut.Int((int)automationCondition.CompareField) + ","
                + POut.Int((int)automationCondition.Comparison) + ","
                + "'" + POut.String(automationCondition.CompareString) + "')";
            if (useExistingPK || isRandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                automationCondition.AutomationConditionNum = Db.NonQ(command, true, "AutomationConditionNum", "automationCondition");
            }
            return(automationCondition.AutomationConditionNum);
        }
		///<summary>Updates one AutomationCondition 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(AutomationCondition automationCondition,AutomationCondition oldAutomationCondition){
			string command="";
			if(automationCondition.AutomationNum != oldAutomationCondition.AutomationNum) {
				if(command!=""){ command+=",";}
				command+="AutomationNum = "+POut.Long(automationCondition.AutomationNum)+"";
			}
			if(automationCondition.CompareField != oldAutomationCondition.CompareField) {
				if(command!=""){ command+=",";}
				command+="CompareField = "+POut.Int   ((int)automationCondition.CompareField)+"";
			}
			if(automationCondition.Comparison != oldAutomationCondition.Comparison) {
				if(command!=""){ command+=",";}
				command+="Comparison = "+POut.Int   ((int)automationCondition.Comparison)+"";
			}
			if(automationCondition.CompareString != oldAutomationCondition.CompareString) {
				if(command!=""){ command+=",";}
				command+="CompareString = '"+POut.String(automationCondition.CompareString)+"'";
			}
			if(command==""){
				return false;
			}
			command="UPDATE automationcondition SET "+command
				+" WHERE AutomationConditionNum = "+POut.Long(automationCondition.AutomationConditionNum);
			Db.NonQ(command);
			return true;
		}
Example #11
0
		///<summary>Inserts one AutomationCondition into the database.  Provides option to use the existing priKey.</summary>
		public static long Insert(AutomationCondition automationCondition,bool useExistingPK){
			if(!useExistingPK && PrefC.RandomKeys) {
				automationCondition.AutomationConditionNum=ReplicationServers.GetKey("automationcondition","AutomationConditionNum");
			}
			string command="INSERT INTO automationcondition (";
			if(useExistingPK || PrefC.RandomKeys) {
				command+="AutomationConditionNum,";
			}
			command+="AutomationNum,CompareField,Comparison,CompareString) VALUES(";
			if(useExistingPK || PrefC.RandomKeys) {
				command+=POut.Long(automationCondition.AutomationConditionNum)+",";
			}
			command+=
				     POut.Long  (automationCondition.AutomationNum)+","
				+    POut.Int   ((int)automationCondition.CompareField)+","
				+    POut.Int   ((int)automationCondition.Comparison)+","
				+"'"+POut.String(automationCondition.CompareString)+"')";
			if(useExistingPK || PrefC.RandomKeys) {
				Db.NonQ(command);
			}
			else {
				automationCondition.AutomationConditionNum=Db.NonQ(command,true);
			}
			return automationCondition.AutomationConditionNum;
		}
Example #12
0
        private static bool NeedsSheet(AutomationCondition autoCond, long patNum)
        {
            List <Sheet> sheetList = Sheets.GetForPatientForToday(patNum);

            switch (autoCond.Comparison)             //Find out what operand to use.
            {
            case AutoCondComparison.Equals:
                //Loop through every sheet to find one that matches the condition.
                for (int i = 0; i < sheetList.Count; i++)
                {
                    if (sheetList[i].Description == autoCond.CompareString)                           //Operand based on AutoCondComparison.
                    {
                        return(true);
                    }
                }
                break;

            case AutoCondComparison.Contains:
                for (int i = 0; i < sheetList.Count; i++)
                {
                    if (sheetList[i].Description.ToLower().Contains(autoCond.CompareString.ToLower()))
                    {
                        return(true);
                    }
                }
                break;
            }
            return(false);
        }
		///<summary>Updates one AutomationCondition in the database.</summary>
		public static void Update(AutomationCondition automationCondition){
			string command="UPDATE automationcondition SET "
				+"AutomationNum         =  "+POut.Long  (automationCondition.AutomationNum)+", "
				+"CompareField          =  "+POut.Int   ((int)automationCondition.CompareField)+", "
				+"Comparison            =  "+POut.Int   ((int)automationCondition.Comparison)+", "
				+"CompareString         = '"+POut.String(automationCondition.CompareString)+"' "
				+"WHERE AutomationConditionNum = "+POut.Long(automationCondition.AutomationConditionNum);
			Db.NonQ(command);
		}
Example #14
0
        public async Task <bool> Meet(AutomationCondition automationCondition, AutomationContext context, CancellationToken cancellationToken)
        {
            var condition = (FieldAutomationCondition)automationCondition;

            var entity = await _automationContextProvider.GetEntity(context, cancellationToken);

            var props = condition.Props;

            var result = false;

            // todo: move to automation context provider (?)
            var property = entity.GetType().GetProperty(props.Field);

            if (property != null)
            {
                var getMethod = property.GetGetMethod();

                if (getMethod != null)
                {
                    var value = Convert.ToString(getMethod.Invoke(entity, null));

                    var compareResult = string.Compare(value, props.Value, StringComparison.OrdinalIgnoreCase);

                    switch (props.Operator)
                    {
                    case AutomationConditionOperator.Equal:
                        result = compareResult == 0;
                        break;

                    case AutomationConditionOperator.NotEqual:
                        result = compareResult != 0;
                        break;

                    case AutomationConditionOperator.LessThan:
                        result = compareResult < 0;
                        break;

                    case AutomationConditionOperator.LessThanEqual:
                        result = compareResult <= 0;
                        break;

                    case AutomationConditionOperator.GreaterThan:
                        result = compareResult > 0;
                        break;

                    case AutomationConditionOperator.GreaterThanEqual:
                        result = compareResult >= 0;
                        break;

                    default:
                        throw new InvalidOperationException($"Operator {props.Operator} is not supported.");
                    }
                }
            }

            return(result);
        }
		///<summary>Inserts one AutomationCondition into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
		public static long InsertNoCache(AutomationCondition automationCondition){
			if(DataConnection.DBtype==DatabaseType.MySql) {
				return InsertNoCache(automationCondition,false);
			}
			else {
				if(DataConnection.DBtype==DatabaseType.Oracle) {
					automationCondition.AutomationConditionNum=DbHelper.GetNextOracleKey("automationcondition","AutomationConditionNum"); //Cacheless method
				}
				return InsertNoCache(automationCondition,true);
			}
		}
Example #16
0
 ///<summary>Returns true if at least one RxPat has a patient letter filled out.</summary>
 private static bool IsPatientInstructionPresent <T>(AutomationCondition autoCond, long patNum, T triggerObj)
 {
     try {
         List <RxPat> listRx = (List <RxPat>)(object) triggerObj;
         return(listRx.Any(x => !String.IsNullOrWhiteSpace(x.PatientInstruction)));
     }
     catch (Exception e) {
         e.DoNothing();
         return(false);
     }
 }
Example #17
0
 ///<summary>Returns true if the patient is a RxPat and if IsControlled is true</summary>
 ///ONLY TO BE USED FOR RxCreate AUTOMATION TRIGGER
 private static bool IsControlledComparison <T>(AutomationCondition autoCond, long patNum, T triggerObj)
 {
     try {
         List <RxPat> listRx = (List <RxPat>)(object) triggerObj;
         return(listRx.Any(x => x.IsControlled));
     }
     catch (Exception e) {
         e.DoNothing();
         return(false);
     }
 }
Example #18
0
        public async Task <bool> Meet(AutomationCondition automationCondition, AutomationContext context, CancellationToken cancellationToken)
        {
            var condition = (GroupAutomationCondition)automationCondition;

            var props = condition.Props;

            if (props.Meet == AutomationConditionMeet.All)
            {
                return(await MeetAll(props.Conditions, context, cancellationToken));
            }

            return(await MeetAny(props.Conditions, context, cancellationToken));
        }
		///<summary>Converts a DataTable to a list of objects.</summary>
		public static List<AutomationCondition> TableToList(DataTable table){
			List<AutomationCondition> retVal=new List<AutomationCondition>();
			AutomationCondition automationCondition;
			foreach(DataRow row in table.Rows) {
				automationCondition=new AutomationCondition();
				automationCondition.AutomationConditionNum= PIn.Long  (row["AutomationConditionNum"].ToString());
				automationCondition.AutomationNum         = PIn.Long  (row["AutomationNum"].ToString());
				automationCondition.CompareField          = (OpenDentBusiness.AutoCondField)PIn.Int(row["CompareField"].ToString());
				automationCondition.Comparison            = (OpenDentBusiness.AutoCondComparison)PIn.Int(row["Comparison"].ToString());
				automationCondition.CompareString         = PIn.String(row["CompareString"].ToString());
				retVal.Add(automationCondition);
			}
			return retVal;
		}
Example #20
0
		///<summary>Converts a DataTable to a list of objects.</summary>
		public static List<AutomationCondition> TableToList(DataTable table){
			List<AutomationCondition> retVal=new List<AutomationCondition>();
			AutomationCondition automationCondition;
			for(int i=0;i<table.Rows.Count;i++) {
				automationCondition=new AutomationCondition();
				automationCondition.AutomationConditionNum= PIn.Long  (table.Rows[i]["AutomationConditionNum"].ToString());
				automationCondition.AutomationNum         = PIn.Long  (table.Rows[i]["AutomationNum"].ToString());
				automationCondition.CompareField          = (OpenDentBusiness.AutoCondField)PIn.Int(table.Rows[i]["CompareField"].ToString());
				automationCondition.Comparison            = (OpenDentBusiness.AutoCondComparison)PIn.Int(table.Rows[i]["Comparison"].ToString());
				automationCondition.CompareString         = PIn.String(table.Rows[i]["CompareString"].ToString());
				retVal.Add(automationCondition);
			}
			return retVal;
		}
		///<summary>Returns true if Update(AutomationCondition,AutomationCondition) 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(AutomationCondition automationCondition,AutomationCondition oldAutomationCondition) {
			if(automationCondition.AutomationNum != oldAutomationCondition.AutomationNum) {
				return true;
			}
			if(automationCondition.CompareField != oldAutomationCondition.CompareField) {
				return true;
			}
			if(automationCondition.Comparison != oldAutomationCondition.Comparison) {
				return true;
			}
			if(automationCondition.CompareString != oldAutomationCondition.CompareString) {
				return true;
			}
			return false;
		}
Example #22
0
        private static bool GenderComparison(AutomationCondition autoCond, long patNum)
        {
            Patient pat = Patients.GetPat(patNum);

            switch (autoCond.Comparison)
            {
            case AutoCondComparison.Equals:
                return(pat.Gender.ToString().Substring(0, 1).ToLower() == autoCond.CompareString.ToLower());

            case AutoCondComparison.Contains:
                return(pat.Gender.ToString().Substring(0, 1).ToLower().Contains(autoCond.CompareString.ToLower()));

            default:
                return(false);
            }
        }
Example #23
0
        private static bool AllergyComparison(AutomationCondition autoCond, long patNum)
        {
            List <AllergyDef> listAllergyDefs = AllergyDefs.GetAllergyDefs(patNum, false);

            switch (autoCond.Comparison)
            {
            case AutoCondComparison.Equals:
                return(listAllergyDefs.Any(x => x.Description == autoCond.CompareString));

            case AutoCondComparison.Contains:
                return(listAllergyDefs.Any(x => x.Description.ToLower().Contains(autoCond.CompareString.ToLower())));

            default:
                return(false);
            }
        }
Example #24
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <AutomationCondition> TableToList(DataTable table)
        {
            List <AutomationCondition> retVal = new List <AutomationCondition>();
            AutomationCondition        automationCondition;

            for (int i = 0; i < table.Rows.Count; i++)
            {
                automationCondition = new AutomationCondition();
                automationCondition.AutomationConditionNum = PIn.Long(table.Rows[i]["AutomationConditionNum"].ToString());
                automationCondition.AutomationNum          = PIn.Long(table.Rows[i]["AutomationNum"].ToString());
                automationCondition.CompareField           = (AutoCondField)PIn.Int(table.Rows[i]["CompareField"].ToString());
                automationCondition.Comparison             = (AutoCondComparison)PIn.Int(table.Rows[i]["Comparison"].ToString());
                automationCondition.CompareString          = PIn.String(table.Rows[i]["CompareString"].ToString());
                retVal.Add(automationCondition);
            }
            return(retVal);
        }
Example #25
0
        ///<summary>Returns false if the insurance plan is effective.  True if today is outside of the insurance effective date range.</summary>
        private static bool InsuranceNotEffectiveComparison(AutomationCondition autoCond, long patNum)
        {
            PatPlan patPlanCur = PatPlans.GetPatPlan(patNum, 1);

            if (patPlanCur == null)
            {
                return(false);
            }
            InsSub insSubCur = InsSubs.GetOne(patPlanCur.InsSubNum);

            if (insSubCur == null)
            {
                return(false);
            }
            if (DateTime.Today >= insSubCur.DateEffective && DateTime.Today <= insSubCur.DateTerm)
            {
                return(false);               //Allen - Not not effective
            }
            return(true);
        }
Example #26
0
        ///<summary>Returns true if the patient's billing type matches the autocondition billing type.</summary>
        private static bool BillingTypeComparison(AutomationCondition autoCond, long patNum)
        {
            Patient pat         = Patients.GetPat(patNum);
            Def     patBillType = Defs.GetDef(DefCat.BillingTypes, pat.BillingType);

            if (patBillType == null)
            {
                return(false);
            }
            switch (autoCond.Comparison)
            {
            case AutoCondComparison.Equals:
                return(patBillType.ItemName.ToLower() == autoCond.CompareString.ToLower());

            case AutoCondComparison.Contains:
                return(patBillType.ItemName.ToLower().Contains(autoCond.CompareString.ToLower()));

            default:
                return(false);
            }
        }
Example #27
0
        private static bool AgeComparison(AutomationCondition autoCond, long patNum)
        {
            Patient pat = Patients.GetPat(patNum);
            int     age = pat.Age;

            switch (autoCond.Comparison)
            {
            case AutoCondComparison.Equals:
                return(age == PIn.Int(autoCond.CompareString));

            case AutoCondComparison.Contains:
                return(age.ToString().Contains(autoCond.CompareString));

            case AutoCondComparison.GreaterThan:
                return(age > PIn.Int(autoCond.CompareString));

            case AutoCondComparison.LessThan:
                return(age < PIn.Int(autoCond.CompareString));

            default:
                return(false);
            }
        }
Example #28
0
 ///<summary>Inserts one AutomationCondition into the database.  Returns the new priKey.</summary>
 public static long Insert(AutomationCondition automationCondition)
 {
     return(Insert(automationCondition, false));
 }
Example #29
0
		///<summary>Updates one AutomationCondition 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(AutomationCondition automationCondition,AutomationCondition oldAutomationCondition){
			string command="";
			if(automationCondition.AutomationNum != oldAutomationCondition.AutomationNum) {
				if(command!=""){ command+=",";}
				command+="AutomationNum = "+POut.Long(automationCondition.AutomationNum)+"";
			}
			if(automationCondition.CompareField != oldAutomationCondition.CompareField) {
				if(command!=""){ command+=",";}
				command+="CompareField = "+POut.Int   ((int)automationCondition.CompareField)+"";
			}
			if(automationCondition.Comparison != oldAutomationCondition.Comparison) {
				if(command!=""){ command+=",";}
				command+="Comparison = "+POut.Int   ((int)automationCondition.Comparison)+"";
			}
			if(automationCondition.CompareString != oldAutomationCondition.CompareString) {
				if(command!=""){ command+=",";}
				command+="CompareString = '"+POut.String(automationCondition.CompareString)+"'";
			}
			if(command==""){
				return false;
			}
			command="UPDATE automationcondition SET "+command
				+" WHERE AutomationConditionNum = "+POut.Long(automationCondition.AutomationConditionNum);
			Db.NonQ(command);
			return true;
		}
Example #30
0
		///<summary>Updates one AutomationCondition in the database.</summary>
		public static void Update(AutomationCondition automationCondition){
			string command="UPDATE automationcondition SET "
				+"AutomationNum         =  "+POut.Long  (automationCondition.AutomationNum)+", "
				+"CompareField          =  "+POut.Int   ((int)automationCondition.CompareField)+", "
				+"Comparison            =  "+POut.Int   ((int)automationCondition.Comparison)+", "
				+"CompareString         = '"+POut.String(automationCondition.CompareString)+"' "
				+"WHERE AutomationConditionNum = "+POut.Long(automationCondition.AutomationConditionNum);
			Db.NonQ(command);
		}
Example #31
0
 public Task <bool> Meet(AutomationCondition automationCondition, AutomationContext context, CancellationToken cancellationToken)
 {
     return(Task.FromResult(false));
 }
Example #32
0
        private async Task <bool> MeetCondition(AutomationCondition condition, AutomationContext context, CancellationToken cancellationToken)
        {
            var provider = _providerRegistry.GetConditionProvider(condition.Type);

            return(await provider.Meet(condition, context, cancellationToken));
        }