コード例 #1
0
        }         // enum RowType

        private AutomationCalculator.AutoDecision.AutoReApproval.Agent RunSecondary()
        {
            var oSecondary = new AutomationCalculator.AutoDecision.AutoReApproval.Agent(
                DB,
                Log,
                Args.CustomerID,
                Args.CashRequestID,
                Args.NLCashRequestID,
                Trail.InputData.DataAsOf
                );

            oSecondary.MakeDecision(oSecondary.GetInputData());

            return(oSecondary);
        }         // RunSecondary
コード例 #2
0
        }         // Init

        public override void MakeAndVerifyDecision()
        {
            try {
                RunPrimary();

                AutomationCalculator.AutoDecision.AutoReApproval.Agent oSecondary = RunSecondary();

                WasMismatch = !Trail.EqualsTo(oSecondary.Trail);

                Log.Debug("Auto re-approval matching result: {0}match.", WasMismatch ? "mis" : string.Empty);

                if (!WasMismatch && Trail.HasDecided)
                {
                    Log.Debug("Match and approved.");

                    if (ApprovedAmount == oSecondary.Result.ReApproveAmount)
                    {
                        Log.Debug("Auto re-approval: match and approved and same amount of {0}.", ApprovedAmount);

                        Trail.Affirmative <SameAmount>(false).Init(ApprovedAmount);
                        oSecondary.Trail.Affirmative <SameAmount>(false).Init(oSecondary.Result.ReApproveAmount);
                    }
                    else
                    {
                        Log.Debug(
                            "Auto re-approval: match and approved but different amounts: {0} primary vs {1} secondary.",
                            ApprovedAmount,
                            oSecondary.Result.ReApproveAmount
                            );

                        Trail.Negative <SameAmount>(false).Init(ApprovedAmount);
                        oSecondary.Trail.Negative <SameAmount>(false).Init(oSecondary.Result.ReApproveAmount);

                        WasMismatch = true;
                    }             // if
                }                 // if

                Output.ApprovedAmount = ApprovedAmount;

                Trail.Save(DB, oSecondary.Trail);
            } catch (Exception e) {
                Log.Error(e, "Exception during re-approval.");
                StepFailed <ExceptionThrown>().Init(e);
                Output.ApprovedAmount = 0;
            }     // try
        }         // MakeAndVerifyDecision