Esempio n. 1
0
        }         // LoadMainStrategyExecutedBefore

        private int CapOffer(MedalResult medal)
        {
            Log.Info("Finalizing and capping offer");

            int offeredCreditLine = medal.RoundOfferedAmount();

            bool isHomeOwnerAccordingToLandRegistry = DB.ExecuteScalar <bool>(
                "GetIsCustomerHomeOwnerAccordingToLandRegistry",
                CommandSpecies.StoredProcedure,
                new QueryParameter("CustomerId", this.customerID)
                );

            if (isHomeOwnerAccordingToLandRegistry)
            {
                Log.Info("Capped for home owner according to land registry");
                offeredCreditLine = Math.Min(offeredCreditLine, MaxCapHomeOwner);
            }
            else
            {
                Log.Info("Capped for not home owner");
                offeredCreditLine = Math.Min(offeredCreditLine, MaxCapNotHomeOwner);
            }             // if

            return(offeredCreditLine);
        }         // CapOffer
        }         // SetAdditionalCustomerData

        protected ABackdoorSimpleDetails(
            int homeOwnerCap,
            int notHomeOwnerCap,
            int customerID,
            DecisionActions decision,
            int delay,
            bool ownsProperty,
            decimal requestedAmount,
            bool gradeMode = false
            )
        {
            this.customerID      = customerID;
            Decision             = decision;
            Delay                = delay;
            this.ownsProperty    = ownsProperty;
            this.homeOwnerCap    = homeOwnerCap;
            this.notHomeOwnerCap = notHomeOwnerCap;

            Medal       = null;
            OfferResult = null;

            int appAmount = (int)(requestedAmount / 1000m);

            ApprovedAmount = MedalResult.RoundOfferedAmount(gradeMode ? appAmount * 1000 : Cap(appAmount * 1000));
        }         // constructor