private void postTradesforDate(BOaccount acc, DateTime reportdate, bool sendFee, bool sendPL, string token, string conStr, string account, string Broker) { var db = new EXANTE_Entities(_currentConnection); DateTime nextdate = reportdate.AddDays(1); IQueryable<CpTrade> cptradefromDb = from Cptrade in db.CpTrades where Cptrade.valid == 1 && Cptrade.BrokerId == Broker && Cptrade.ReportDate >= reportdate.Date && Cptrade.ReportDate < (nextdate.Date) //&& Cptrade.ReconAccount == null select Cptrade; List<CpTrade> cptradeitem = cptradefromDb.ToList(); int tradesqty = 0; foreach (CpTrade cpTrade in cptradeitem) { if (cpTrade.ReconAccount == null) { tradesqty = BoReconPostTrade(cpTrade, acc, conStr, token, tradesqty); if (sendFee) { BoReconPostFee(cpTrade, conStr, acc, token); } } } //json = FeeJsonfromCpTrade(cpTrade, accountnumber, "60002000000 - Exante Trading Account"); if (sendPL) { IQueryable<FT> FTfromDb = from ft in db.FT where ft.valid == 1 && ft.brocker == acc.DBcpName && ft.ReportDate >= reportdate.Date && ft.ReportDate < (nextdate.Date) && ft.account_id == acc.BOaccountId && ft.Type == "PL" select ft; List<FT> FTfromDbeitem = FTfromDb.ToList(); foreach (FT ft in FTfromDbeitem) { BoReconPostPnL(ft, conStr, acc, token); } } if (tradesqty > 0) { db.SaveChanges(); db.Dispose(); LogTextBox.AppendText("\r\n Uploaded trades for " + reportdate.ToShortDateString() + ": " + tradesqty.ToString() + "/" + cptradeitem.Count); } }
private static BOaccount GetAccount() { var db = new EXANTE_Entities(_currentConnection); List<DBBORecon_mapping> brockerlist = (from rec in db.DBBORecon_mapping where rec.valid == 1 && rec.NameProcess == _currentAcc select rec).ToList(); var result = new BOaccount { accountNameCP = brockerlist[0].accountNameCP, BOaccountId = brockerlist[0].boaccountid, DBcpName = brockerlist[0].dbcp }; return result; }
private void button18_Click(object sender, EventArgs e) { // const string conStr = "https://backoffice-recon.exante.eu:443/api/v1.5/accounts/"; // "ZAM1452.001/trade"; //var strZamTransaction = "https://backoffice-recon.exante.eu:443/api/v1.5/accounts/ZAM1452.001/transaction"; // var strAdsTrade = "https://backoffice-recon.exante.eu:443/api/v1.5/accounts/ADS1450.002/trade"; const string conStr = "https://backoffice.exante.eu:443/api/v1.5/accounts/"; // "ZAM1452.001/trade"; string token = GetToken("https://authdb.exante.eu/api/1.0/auth/session", "backoffice"); //var token = GetToken("https://authdb.prod.ghcg.com/api/1.0/auth/session", "backoffice"); DateTime reportdate = ABNDate.Value; var acc = new BOaccount { accountNameCP = null, // "EXANTE", // BOaccountId = "FQJ5082.001", // "ELC5351.001",UGN6015.001, "FQJ5082.001" // DBcpName = "Belarta" }; // var account = "FQJ5082.001";// "ELC5351.001", string broker = "Belarta"; bool sendFee = false; // var token = GetToken("https://authdb-recon.exante.eu/api/1.0/auth/session", "backoffice"); var db = new EXANTE_Entities(_currentConnection); DateTime nextdate = reportdate.AddDays(1); IQueryable<CpTrade> cptradefromDb = from Cptrade in db.CpTrades where Cptrade.valid == 1 && Cptrade.BrokerId == broker && Cptrade.ReportDate >= reportdate.Date && Cptrade.ReportDate < (nextdate.Date) && Cptrade.ReconAccount == null select Cptrade; List<CpTrade> cptradeitem = cptradefromDb.ToList(); int tradesqty = 0; foreach (CpTrade cpTrade in cptradeitem) { acc.BOaccountId = cpTrade.account; if (cpTrade.ReconAccount == null) { tradesqty = BoReconPostTrade(cpTrade, acc, conStr, token, tradesqty); if (sendFee) { BoReconPostFee(cpTrade, conStr, acc, token); } } SaveDBChanges(ref db); } if (tradesqty > 0) { SaveDBChanges(ref db); db.Dispose(); LogTextBox.AppendText("\r\n Uploaded trades for " + reportdate.ToShortDateString() + ": " + tradesqty.ToString() + "/" + cptradeitem.Count); } }
private int BoReconPostTrade(CpTrade cpTrade, BOaccount acc, string conStr, string token, int tradesqty) { string accountnumber = null; if (cpTrade.BOTradeNumber != null) { int? tradenumber = Convert.ToInt32(cpTrade.BOTradeNumber.Split(';')[0]); accountnumber = GetAccountIdFromTradeNumber(tradenumber); } BOjson json = JsonfromCpTrade(cpTrade, accountnumber, acc.accountNameCP); string requestPayload = JsonConvert.SerializeObject(json); // if (SendJson(requestPayload, conStr + acc.BOaccountId + "/trade", token)) if (SendJson(requestPayload, conStr + cpTrade.account + "/trade", token)) { cpTrade.ReconAccount = cpTrade.account; tradesqty++; } else { LogTextBox.AppendText("\r\n Error in sending to BO for fullid: " + cpTrade.FullId); } return tradesqty; }
private void BoReconPostPnL(FT ft, string conStr, BOaccount acc, string token) { FTjson bjson; bjson = PnlLeftJsonfromFt(ft, "PNL SETTLEMENT"); string requestFTload = JsonConvert.SerializeObject(bjson); if (!SendJson(requestFTload, conStr + acc.BOaccountId + "/transaction", token)) { LogTextBox.AppendText("\r\n Error in sending Left side VM to BO for fullid: " + ft.fullid); } bjson = PnlRightJsonfromFt(ft, "PNL SETTLEMENT"); requestFTload = JsonConvert.SerializeObject(bjson); if (!SendJson(requestFTload, conStr + acc.BOaccountId + "/transaction", token)) { LogTextBox.AppendText("\r\n Error in sending Right side VM to BO for fullid: " + ft.fullid); } }
private void BoReconPostFee(CpTrade cpTrade, string conStr, BOaccount acc, string token) { FTjson bjson = null; bjson = FeeJsonfromCpTrade(cpTrade); string requestFTload = JsonConvert.SerializeObject(bjson); if (!SendJson(requestFTload, conStr + acc.BOaccountId + "/transaction", token)) { LogTextBox.AppendText("\r\n Error in sending to fee to BO for fullid: " + cpTrade.FullId); } }