Example #1
0
        public static void mainProcess()
        {
            string bankrule = "";

            try
            {
                BankService     bs  = new BankService();
                TenorService    ts  = new TenorService();
                BankRuleService brs = new BankRuleService();

                List <BANK> bankList  = bs.findAll();
                string      groupCode = Guid.NewGuid().ToString();



                List <TENOR> tenorList = ts.findAll();
                foreach (BANK b in bankList)
                {
                    if (DataExtractorFactory.getDataExtractor(b) != null)
                    {
                        string bankData = DataExtractorFactory.getDataExtractor(b).extractData(b);
                        foreach (TENOR t in tenorList)
                        {
                            BANK_RULES br = brs.find(b.BankCode, t.TenorCode);
                            bankrule = br.BankRule;
                            if (br != null)
                            {
                                string rule = br.BankRule;

                                string             result      = RuleProcessor.process(bankData, rule, b.BankCode);
                                RATE_HISTORY       rateHistory = new RATE_HISTORY();
                                RateHistoryService rhs         = new RateHistoryService();

                                rateHistory.BankCode  = b.BankCode;
                                rateHistory.TenorCode = t.TenorCode;
                                rateHistory.InsRate   = result;
                                rateHistory.GroupCode = groupCode;
                                rateHistory.Timestamp = DateTime.Now;

                                rhs.addRateHistory(rateHistory);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ErrorUtil.logError(ex, bankrule);
            }
        }
Example #2
0
        //public void ReportThread(string result, string strRptFolder)
        public void BankRateThread(object QueryCode)
        {
            List <BANK_RULES> lbr = new List <BANK_RULES>();
            BankRuleService   brs = new BankRuleService();

            lbr = brs.findAll();
            foreach (BANK_RULES BR in lbr)
            {
                try
                {
                    string      result = "";
                    BankService bs     = new BankService();
                    BANK        b      = new BANK();
                    b = bs.find(BR.BankCode);
                    if (b != null)
                    {
                        string             groupCode   = Guid.NewGuid().ToString();
                        RATE_HISTORY       rateHistory = new RATE_HISTORY();
                        RateHistoryService rhs         = new RateHistoryService();
                        if (b.BankCode == "OCB")
                        {
                            Thread.Sleep(180000);
                            if (BankRateService.LastOCBRun.AddMinutes(5) < DateTime.Now)
                            {
                                BankRateService.LastOCBRun = DateTime.Now;
                                string bankData = DataExtractorFactory.getDataExtractor(b).extractData(b);

                                result = RuleProcessor.process(bankData, BR.BankRule, b.BankCode);
                            }
                        }
                        else
                        {
                            string bankData = DataExtractorFactory.getDataExtractor(b).extractData(b);

                            result = RuleProcessor.process(bankData, BR.BankRule, b.BankCode);
                        }

                        if (result != "")
                        {
                            rateHistory = rhs.get(b.BankCode, BR.TenorCode);
                            float finalResult;
                            if (rateHistory != null)
                            {
                                if (float.TryParse(result, out finalResult))
                                {
                                    rateHistory.InsRate   = result;
                                    rateHistory.GroupCode = groupCode;
                                    rateHistory.Timestamp = DateTime.Now;
                                    rhs.editRateHistory(rateHistory);
                                }
                            }
                            else
                            {
                                if (float.TryParse(result, out finalResult))
                                {
                                    rateHistory           = new RATE_HISTORY();
                                    rateHistory.BankCode  = b.BankCode;
                                    rateHistory.TenorCode = BR.TenorCode;

                                    rateHistory.InsRate   = result;
                                    rateHistory.GroupCode = groupCode;
                                    rateHistory.Timestamp = DateTime.Now;
                                    rhs.addRateHistory(rateHistory);
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    log.Info("Error: ", ex);
                }
            }
        }