Пример #1
0
        static async Task getCQInfoClientName(int userId, string token, string cqAccount)
        {
            try
            {
                String uriAPI = "https://bkp.cqfutures.com/CQAPI/api/CQBO/client/GetInfoClientName";

                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(uriAPI);
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Add($"Authorization", $"Bearer " + token);
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    //HttpResponseMessage response = await client.GetAsync(uriAPI + "?userId=" + userId + "&cd_type=CNTR&PageSize=500&PageNo=1");
                    HttpResponseMessage response = await client.GetAsync(uriAPI + "?userId=" + userId + "&AccountStatus=Acive&AccountNo=" + cqAccount);

                    if (response.IsSuccessStatusCode)
                    {
                        var content = await response.Content.ReadAsStringAsync();

                        Console.WriteLine("Country List");
                        CQAPICountryList countryRes = JsonConvert.DeserializeObject <CQAPICountryList>(content);

                        PCIBO_DAL dao = new PCIBO_DAL();
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #2
0
        static void ProcessBankTrans()
        {
            processCiti citi    = new processCiti();
            ProcessBMO  bmo     = new ProcessBMO();
            PCIBO_DAL   pci_dal = new PCIBO_DAL();
            ArchiveData archive = new ArchiveData();

            string fileDate      = ConfigurationManager.AppSettings.Get("SpecificDate");
            int    fileToProcess = Convert.ToInt32(ConfigurationManager.AppSettings.Get("DayToProcess"));

            if (fileDate == "")
            {
                fileDate = "YYYYmmdd";
                DateTime dtNow = DateTime.Now.AddDays(fileToProcess);

                fileDate = fileDate.Replace("YYYY", dtNow.ToString("yyyy"));
                fileDate = fileDate.Replace("mm", dtNow.ToString("MM"));
                fileDate = fileDate.Replace("dd", dtNow.ToString("dd"));
            }

            archive.processArchiveData();

            citi.processCitiFiles(fileDate); //From Excel to Raw Data in Table [PCIBO].[dbo].[PCI_Citi_RawFile] --USP_PCI_Citi_RawFile_Insert

            citi.processCitiData();          //Insert the RawData into [PCIBO].[dbo].[PCI_BankTrans] table

            bmo.processBMOFiles(fileDate);

            bmo.GetBankTrans();

            citi.IdentifyCitiTransCountry();

            pci_dal.GetAMLReport();
        }
Пример #3
0
        public void GetCQAPI_EODVolume(LogHelper log)
        {
            int      CMEToProcess = Convert.ToInt32(ConfigurationManager.AppSettings.Get("CMEDayToProcess"));
            string   APIVolMode   = ConfigurationManager.AppSettings.Get("APIVolumeMode").ToString();
            DateTime dayToProcess = DateTime.Now.AddDays(CMEToProcess);
            string   tradeDate    = dayToProcess.Year.ToString() + dayToProcess.Month.ToString("00") + dayToProcess.Day.ToString("00");

            CQAPICMEVolumeListResult CMEVolListRes = new CQAPICMEVolumeListResult();

            CQLoginCredentials cqLoginCredentials = new CQLoginCredentials();
            CQLoginResult      CQLoginRes         = new CQLoginResult();
            CQAPIHandler       cqHandler          = new CQAPIHandler();

            string CQAPIuri   = "https://bkp.cqfutures.com/CQAPI/";    //_configuration.GetValue<string>("App:CQAPISettings:CQAPIuri");
            string APIuserKey = "cm9tbWVsQ1FCT1BDSUFQSQ==";            //_configuration.GetValue<string>("App:CQAPISettings:UserKey");

            //int pageSize = "";// Convert.ToInt32(_configuration.GetValue<string>("App:CQAPISettings:CQAPIpageSize"));
            cqLoginCredentials.username = "******";            //_configuration.GetValue<string>("App:CQAPISettings:CQAPIid");
            cqLoginCredentials.password = "******";       //_configuration.GetValue<string>("App:CQAPISettings:CQAPIpw");

            string date = DateTime.Now.ToLongDateString();

            //
            CQLoginRes = cqHandler.cqAPILogin(CQAPIuri, cqLoginCredentials);

            // Get CQ API function for CQ Comparison
            CQAPIHandler cqAPI = new CQAPIHandler();


            string userId = CQLoginRes.data.userId.ToString();
            string Mode   = APIVolMode;

            string EODTradeVolByExchangeParams = "api/CQBO/EOD/GetCMETradeByExchangeList?userId=" + userId + "&mode=" + Mode + "&TradeDate=" + tradeDate;

            //cqAPI.GetCQVolumeOfCME(CQAPIuri,, CQLoginRes.data.token.ToString());
            CMEVolListRes = cqAPI.GetCQVolumeOfCME(CQAPIuri, EODTradeVolByExchangeParams, CQLoginRes.data.token.ToString());

            // Update PCI DB for values
            PCIBO_DAL pciboDal = new PCIBO_DAL();
            DataTable dtable   = new DataTable();

            dtable.Columns.Add("ExchCode", typeof(String));
            dtable.Columns.Add("Volume", typeof(Int32));


            foreach (var item in CMEVolListRes.data)
            {
                DataRow dr = dtable.NewRow();
                dr["ExchCode"] = item.exch_Cd.ToString() == "CBOT" ? "CBT" : item.exch_Cd.ToString();
                dr["Volume"]   = item.allQty;

                dtable.Rows.Add(dr);
            }

            pciboDal.UpdateCQVol_DB(log, dtable);
        }
Пример #4
0
        public void ExtractCME_EODTrades(LogHelper log)
        {
            DataTable dt           = new DataTable();
            int       CMEToProcess = Convert.ToInt32(ConfigurationManager.AppSettings.Get("CMEDayToProcess"));
            DateTime  dayToProcess = DateTime.Now.AddDays(CMEToProcess);
            string    tradeDate    = dayToProcess.Year.ToString() + dayToProcess.Month.ToString("00") + dayToProcess.Day.ToString("00");

            Console.WriteLine("Extract CME");
            PCIBO_DAL _PCIBOdal = new PCIBO_DAL();

            _PCIBOdal.InsertCME_EODFIXML(log, tradeDate);
            dt = _PCIBOdal.GetCME_EODTrades(log, tradeDate);


            log.Log("Preparing email of extracted data..");

            EmailSettings emailSettings = new EmailSettings();

            emailSettings.SmtpHost      = System.Configuration.ConfigurationManager.AppSettings.Get("SmtpHost");         //"smtp.office365.com";
            emailSettings.SmtpPort      = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings.Get("SmtpPort"));
            emailSettings.SmtpUser      = ConfigurationManager.AppSettings.Get("SmtpUser");
            emailSettings.SmtpPassword  = ConfigurationManager.AppSettings.Get("SmtpPassword");
            emailSettings.DefaultSender = ConfigurationManager.AppSettings.Get("DefaultSender");
            emailSettings.EnableSSL     = Convert.ToBoolean(ConfigurationManager.AppSettings.Get("EnableSSL"));

            EmailHelper   email        = new EmailHelper(emailSettings);
            string        emailTo      = ConfigurationManager.AppSettings.Get("CMEEmailTo");
            string        emailSubject = "Daily CME Trades Volume Compare - " + dayToProcess.ToString("MMM dd, yyyy");
            StringBuilder emailBody    = new StringBuilder();
            StringBuilder sb           = new StringBuilder();

            emailBody.Append("<html><head><style type='text/css'>table, th, td { border: 1px solid black; }</style></head><body>{body}</body></html>");

            sb.Append("<h3>The following are the daily volume comparison between extracted CME EOD FIX file and CQ for " + dayToProcess.ToString("MMM dd, yyyy") + "</h3>");
            sb.Append("<table><thead><tr><th>Exchange</th><th>Exch. Volume</th><th>CQ Volume</th><th>Difference</th></tr></thead><tbody>");

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                sb.Append(string.Format("<tr><td>{0}", dt.Rows[i]["ExchCode"].ToString()));
                sb.Append(string.Format("</td><td>{0:#,##0}", Convert.ToDecimal(dt.Rows[i]["Vol"].ToString())));
                sb.Append(string.Format("</td><td>{0:#,##0}", Convert.ToDecimal(dt.Rows[i]["CQVol"].ToString())));
                if (Convert.ToInt32(dt.Rows[i]["Diff"]) != 0)
                {
                    sb.Append(string.Format("</td><td style='background-color:yellow; color:red'><b>{0:#,##0}</b></td></tr>", Convert.ToDecimal(dt.Rows[i]["Diff"].ToString())));
                }
                else
                {
                    sb.Append(string.Format("</td><td >{0:#,##0}</td></tr>", Convert.ToDecimal(dt.Rows[i]["Diff"].ToString())));
                }

                //Console.WriteLine(dt.Rows[i]["ExchCode"].ToString());
                //Console.WriteLine(dt.Rows[i]["Vol"].ToString());
            }
            sb.Append("</tbody></table>");
            sb.Append("<p><b>NOTE on above numbers:</b> </p>");
            sb.Append("<p style:'margin-left:10px'>1.	Exclude Options Expiration Resulting Futures</p>");
            sb.Append("<p style:'margin-left:10px'>2.	MOS Trades ( Included only top day MOS trades and Excluded the T-1 reversals from count )</p>");

            sb.Append("<p style:'margin-left:10px'><b>***This is an auto-generated email***</b></p>");

            email.Send(emailTo, emailSubject, emailBody.ToString().Replace("{body}", sb.ToString()), emailSettings.SmtpUser);

            log.Log("Process Done.....Email sent.");
        }