示例#1
0
        public MainStrategy(MainStrategyArguments args)
        {
            if (args == null)
            {
                throw new StrategyAlert(this, "No arguments specified for the main strategy.");
            }

            this.context = new MainStrategyContextData(args);
            this.mailer  = new StrategiesMailer();

            this.steps = new SortedDictionary <string, AMainStrategyStepBase>();

            this.transitions = new SortedDictionary <StepResult, Func <AMainStrategyStepBase> >();
            InitMachineTransitions();

            UpdateStrategyContext();
        }         // constructor
示例#2
0
        public MainStrategyContextData(MainStrategyArguments args)
        {
            this.arguments = args;

            IsSilentlyApproved             = false;
            LoanOfferEmailSendingBannedNew = false;

            AutoRejectionOutput       = null;
            AutoReapprovalOutput      = null;
            AutoApprovalTrailUniqueID = null;

            OverrideApprovedRejected = true;
            CashRequestID            = this.arguments.CashRequestID ?? 0;
            NLCashRequestID          = 0;
            CashRequestOriginator    = this.arguments.CashRequestOriginator;

            if (FinishWizardArgs != null)
            {
                CashRequestOriginator    = FinishWizardArgs.CashRequestOriginator;
                FinishWizardArgs.DoMain  = false;
                OverrideApprovedRejected = FinishWizardArgs.CashRequestOriginator != CashRequestOriginatorType.Approved;
            }             // if

            WasMismatch = false;

            AutoDecisionResponse = new AutoDecisionResponse(this.arguments.CustomerID);

            Tag = string.Format(
                "#MainStrategy_{0}_{1}",
                DateTime.UtcNow.ToString("yyyy-MM-dd-HH-mm-ss", CultureInfo.InvariantCulture),
                Guid.NewGuid().ToString().ToUpperInvariant()
                );

            CustomerDetails = new Helpers.CustomerDetails(this.arguments.CustomerID);

            HasCashRequest         = false;
            CashRequestWasWritten  = false;
            ShuttingDownUbnormally = false;
            DelayReason            = string.Empty;
            CurrentStepName        = "not started";

            WriteDecisionOutput = null;

            BackdoorLogicApplied = false;
            BackdoorInvestorID   = null;
        }         // constructor