Example #1
0
        public static List <AutoApproveInputRow> Load(
            AConnection oDB,
            int nTopCount,
            int nLastCheckedCustomerID
            )
        {
            string sTop = (nTopCount > 0) ? "TOP " + nTopCount : string.Empty;

            string sCondition = (nLastCheckedCustomerID > 0)
                                ? "AND mc.CustomerId < " + nLastCheckedCustomerID
                                : string.Empty;

            const string sQueryFormat = @"
SELECT {0}
	mc.CustomerId,
	MedalStr = mc.Medal,
	MedalTypeStr = mc.MedalType,
	TurnoverType = mc.InnerFlowName,
	ISNULL(mc.OfferedLoanAmount, 0) as OfferedLoanAmount
FROM
	MedalCalculations mc
WHERE
	mc.IsActive = 1
	{1}
ORDER BY
	mc.CustomerId DESC"    ;

            return(oDB.Fill <AutoApproveInputRow>(
                       string.Format(sQueryFormat, sTop, sCondition),
                       CommandSpecies.Text
                       ));
        }         // Load
Example #2
0
        }         // ReportArg

        private static List <ReportArg> LoadReportArgs(AConnection oDB, string sReportTypeName = null)
        {
            var oParams = new List <QueryParameter>();

            if (!string.IsNullOrWhiteSpace(sReportTypeName))
            {
                oParams.Add(new QueryParameter("@RptType", sReportTypeName));
            }

            return(oDB.Fill <ReportArg>(
                       ReportArgsStoredProc,
                       CommandSpecies.StoredProcedure,
                       oParams.ToArray()
                       ));
        }         // LoadReportArgs
Example #3
0
        }         // class Account

        private void Reload(string actionName)
        {
            try {
                Info("{0} Paypoint accounts configuration started...", actionName);

                AConnection oDB = DbConnectionGenerator.Get(this);

                Accounts = oDB.Fill <Account>(SpName, CommandSpecies.StoredProcedure);

                Info(
                    "{0} Paypoint accounts configuration complete, {1} loaded.",
                    actionName,
                    Grammar.Number(Accounts.Count, "account")
                    );
            } catch (Exception e) {
                Alert(e, "Failed to reload Paypoint accounts configuration.");
            } // try
        }     // Reload
Example #4
0
        public static LogicalGlueResult FromInference(Inference inference, int customerID, ASafeLog log, AConnection db)
        {
            if (inference == null)
            {
                return(new LogicalGlueResult {
                    Error = "No Logical Glue data found.",
                });
            }             // if

            decimal?minScore = 0;
            decimal?maxScore = 0;

            try {
                if (inference.Bucket != null)
                {
                    List <I_Grade> allGrades = db.Fill <I_Grade>("SELECT * FROM I_Grade", CommandSpecies.Text);

                    int gradeID = inference.Bucket.Value;

                    maxScore = allGrades.First(x => x.GradeID == gradeID).UpperBound;

                    if (gradeID > 1)
                    {
                        minScore = allGrades.First(x => x.GradeID == (gradeID - 1)).UpperBound;
                    }
                }                 // if
            } catch (Exception ex) {
                log.Error(ex, "Failed to retrieve min max grade scores for bucket {0}", inference.Bucket);
            }             // try

            try {
                var result = new LogicalGlueResult {
                    Error            = inference.Error.Message,
                    Date             = inference.ReceivedTime,
                    Bucket           = inference.Bucket,
                    BucketStr        = inference.Bucket != null ? inference.Bucket.Name : string.Empty,
                    MonthlyRepayment = inference.MonthlyRepayment,
                    UniqueID         = inference.UniqueID,
                    FLScore          = inference.ModelOutputs.ContainsKey(ModelNames.FuzzyLogic)
                                                ? inference.ModelOutputs[ModelNames.FuzzyLogic].Grade.Score
                                                : null,
                    NNScore  = inference.Score,
                    IsTryout = inference.IsTryOut,
                };

                var b = (maxScore - minScore) ?? 0;
                var a = (result.NNScore - minScore) ?? 0;

                result.BucketPercent = b == 0 ? 0 : a / b;

                result.IsHardReject =
                    (inference.Etl != null) &&
                    (inference.Etl.Code != null) &&
                    inference.Etl.Code.IsHardReject;

                result.ScoreIsReliable =
                    !inference.ModelOutputs.ContainsKey(ModelNames.NeuralNetwork) ||
                    inference.ModelOutputs[ModelNames.NeuralNetwork].Error.IsEmpty;

                return(result);
            } catch (Exception ex) {
                log.Warn(ex, "Failed loading lg data for customer {0}", customerID);

                return(new LogicalGlueResult {
                    Error = "Failed loading logical glue data",
                });
            } // try
        }     // FromInference