示例#1
0
        }         // RunPrimary

        private AutomationCalculator.AutoDecision.AutoRejection.LGAgent RunSecondary()
        {
            var oSecondary = new AutomationCalculator.AutoDecision.AutoRejection.LGAgent(this.args);

            oSecondary.MakeDecision();

            return(oSecondary);
        }         // RunSecondary
示例#2
0
        }         // InternalFlow

        private void ComparePrimaryAndSecondary(AutomationCalculator.AutoDecision.AutoRejection.LGAgent oSecondary)
        {
            if (Trail.HasApprovalChance == oSecondary.Trail.HasApprovalChance)
            {
                Trail.Negative <SameApprovalChance>(false)
                .Init(Trail.HasApprovalChance, oSecondary.Trail.HasApprovalChance);
                oSecondary.Trail.Negative <SameApprovalChance>(false)
                .Init(Trail.HasApprovalChance, oSecondary.Trail.HasApprovalChance);
            }
            else
            {
                Trail.Affirmative <SameApprovalChance>(false)
                .Init(Trail.HasApprovalChance, oSecondary.Trail.HasApprovalChance);
                oSecondary.Trail.Affirmative <SameApprovalChance>(false)
                .Init(Trail.HasApprovalChance, oSecondary.Trail.HasApprovalChance);
            }             // if

            if (Output.FlowType == oSecondary.Output.FlowType)
            {
                Trail.Dunno <SameFlowChosen>().Init(Output.FlowType, oSecondary.Output.FlowType);
                oSecondary.Trail.Dunno <SameFlowChosen>().Init(Output.FlowType, oSecondary.Output.FlowType);
            }
            else
            {
                Trail.Negative <SameFlowChosen>(true).Init(Output.FlowType, oSecondary.Output.FlowType);
                oSecondary.Trail.Negative <SameFlowChosen>(true).Init(Output.FlowType, oSecondary.Output.FlowType);
            }             // if

            if (Output.GradeRangeID == oSecondary.Output.GradeRangeID)
            {
                Trail.Dunno <SameConfigurationChosen>().Init(Output.GradeRangeID, oSecondary.Output.GradeRangeID);
                oSecondary.Trail.Dunno <SameConfigurationChosen>()
                .Init(Output.GradeRangeID, oSecondary.Output.GradeRangeID);
            }
            else
            {
                Trail.Negative <SameConfigurationChosen>(true).Init(Output.GradeRangeID, oSecondary.Output.GradeRangeID);
                oSecondary.Trail.Negative <SameConfigurationChosen>(true)
                .Init(Output.GradeRangeID, oSecondary.Output.GradeRangeID);
            }     // if
        }         // ComparePrimaryAndSecondary
示例#3
0
        public override void MakeAndVerifyDecision()
        {
            Trail.SetTag(this.args.Tag).UniqueID = this.args.TrailUniqueID;

            AutomationCalculator.AutoDecision.AutoRejection.LGAgent oSecondary = null;

            try {
                RunPrimary();

                oSecondary = RunSecondary();

                ComparePrimaryAndSecondary(oSecondary);

                WasMismatch = !Trail.EqualsTo(oSecondary.Trail, CompareTrailsQuietly);
            } catch (Exception e) {
                Log.Error(e, "Exception during auto rejection.");
                Trail.Negative <ExceptionThrown>(true).Init(e);
            }             // try

            Trail.Save(DB, oSecondary == null ? null : oSecondary.Trail);
        }         // MakeAndVerifyDecision