} // RunPrimary private AutomationCalculator.AutoDecision.AutoRejection.LGAgent RunSecondary() { var oSecondary = new AutomationCalculator.AutoDecision.AutoRejection.LGAgent(this.args); oSecondary.MakeDecision(); return(oSecondary); } // RunSecondary
} // 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
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