public byte[] AddDocType(string name, CTM_Message message) { var strMsg = Seralizer.SerializeObject <CTM_Message>(message)?.Replace("<CTM_Message>", "<!DOCTYPE CTM_Message PUBLIC \"-//TFN//DTD " + name + " 1.3//EN\" \"" + name + ".dtd\"><CTM_Message>").Replace("\r\n", ""); var iso8859Encoding = System.Text.Encoding.GetEncoding("ISO-8859-1"); return(iso8859Encoding?.GetBytes(strMsg)); }
public CTM_Message SendMultiTradeDetailRequest(string protocolVersion, string sendersMessageReference, DateTime?dateTimeOfSentMessage, string orgPartyRole, string orgPartyType, string orgPartyValue, string receiptPartyRole, string receiptPartyType, string receiptPartyValue, string multiTradeDetailResponseRequested, string byOrAgainstFlag, DateTime?minLastUpdateDateTime, string[] matchStatus) { var msg = new CTM_Message(); var newReuqestMsg = new CTM_MultiTradeDetailRequest(); var newSubmitHeaderMsg = new CTM_Header { ProtocolVersion = protocolVersion, //"CM01", SendersMessageReference = sendersMessageReference, // "ars455", DateTimeOfSentMessage = 20150202112233 //dateTimeOfSentMessage // 20150202112233 // (DateTime) DateTime.Now.Ticks }; var originatorOfMeessage = new CTM_OriginatorOfMessage { PartyRole = orgPartyRole, //"MEOR", PartyType = orgPartyType, //"BIC", PartyValue = orgPartyValue // "LIGHTSPD" }; var receiptOfMessage = new CTM_RecipientOfMessage { PartyRole = receiptPartyRole, //"MERE", PartyType = receiptPartyType, //"TFID", PartyValue = receiptPartyValue //"CTMSERVICE" }; newSubmitHeaderMsg.OriginatorOfMessage = originatorOfMeessage; newSubmitHeaderMsg.RecipientOfMessage = receiptOfMessage; var newRequestBodyMsg = new CTM_MultiTradeDetailRequestBody { MultiTradeDetailResponseRequested = multiTradeDetailResponseRequested, //"ADDD", ByOrAgainstFlag = byOrAgainstFlag, //"A", MinLastUpdateDateTime = minLastUpdateDateTime //20150202112233 //(DateTime) DateTime.Now.AddDays(-10).Ticks }; var newStatusQuery = new CTM_MultiTradeDetailRequestBodyMultiTradeDetailStatusQuery { TDMatchStatusValues = matchStatus }; // var newMatch = new string[3]; // newMatch[0] = "NMAT"; //newMatch[1] = "CAND"; // newRequestBodyMsg.MultiTradeDetailStatusQuery = newStatusQuery; newReuqestMsg.SubmitHeader = newSubmitHeaderMsg; newReuqestMsg.MultiTradeDetailRequestBody = newRequestBodyMsg; msg.MultiTradeDetailRequest = newReuqestMsg; //var newWebSession = new CTM.CtmMessages("https", "ctmct.omgeo.net", "443", "/home/WS/DCILogin", "cmacl33", "speed$deeps323","","","","",30,10,true); //newWebSession.OpenWebSession(); // var strMsg = Seralizer.SerializeObject<CTM_Message>(msg).Replace("<CTM_Message>", "<!DOCTYPE CTM_Message PUBLIC \"-//TFN//DTD MultiTradeDetailRequest 1.3//EN\" \"MultiTradeDetailRequest.dtd\"><CTM_Message>").Replace("\r\n",""); return(msg); }
public CTM_Message ReturnCtmMessage(byte[] response, string name) { if (response == null) { return(null); } var newMessage = new CTM_Message(); var enc = System.Text.Encoding.ASCII; var responseString = ""; responseString = enc?.GetString(response); try { if (responseString.Contains("Invalid.dtd")) { var invalidMsg = Regex.Split(responseString, "Invalid.dtd'>"); if (1 < invalidMsg.Length) { responseString = invalidMsg[1].Replace("\r", "").Replace("\n", ""); } else { invalidMsg = Regex.Split(responseString, "Invalid.dtd\">"); responseString = invalidMsg[1].Replace("\r", "").Replace("\n", ""); } } else { var values = Regex.Split(responseString, ".dtd'>"); if (1 < values.Length) { responseString = values[1].Replace("\r", "").Replace("\n", "").Replace(@",", " ").Replace(@"-", " ").Replace(@"+", " "); } else { values = Regex.Split(responseString, ".dtd\">"); responseString = values[1].Replace("\r", "").Replace("\n", "").Replace(@",", " ").Replace(@"-", " ").Replace(@"+", " "); } } } catch (Exception ex) { //Log an Error var msg = ex.Message; } try { return(Seralizer.Deserialize <CTM_Message>(responseString)); } catch (Exception ex) { var msg = ex.Message; // newMessage.Invalid.Text[0] = "Serialization failed for : " + responseString; } return(null); }
public CTM_Message GenerateMultiTradeLevelRequest() { var msg = new CTM_Message(); var newReuqestMsg = new CTM_MultiTradeLevelRequest(); var newSubmitHeaderMsg = new CTM_Header { ProtocolVersion = _protocolVersion, //"CM01", SendersMessageReference = _sendersMessageReference, // "ars455", DateTimeOfSentMessage = 20150202112233 // _dateTimeOfSentMessage // 20150202112233 // (DateTime) DateTime.Now.Ticks }; var originatorOfMeessage = new CTM_OriginatorOfMessage { PartyRole = _orgPartyRole, //"MEOR", PartyType = _orgPartyType, //"BIC", PartyValue = _orgPartyValue // "LIGHTSPD" }; var recipientOfMessage = new CTM_RecipientOfMessage { PartyRole = _receiptPartyRole, //"MEOR", PartyType = _receiptPartyType, //"BIC", PartyValue = _receiptPartyValue // "LIGHTSPD" }; newSubmitHeaderMsg.OriginatorOfMessage = originatorOfMeessage; newSubmitHeaderMsg.RecipientOfMessage = recipientOfMessage; var newRequestBodyMsg = new CTM_MultiTradeLevelRequestBody { MultiTradeLevelResponseIndicator = _multiTradeLevelResponseIndicator, //"ADDD", ByOrAgainstFlag = _byOrAgainstFlag, //"A", MinLastUpdateDateTime = _minLastUpdateDateTime //20150202112233 //(DateTime) DateTime.Now.AddDays(-10).Ticks }; newReuqestMsg.SubmitHeader = newSubmitHeaderMsg; newReuqestMsg.MultiTradeLevelRequestBody = newRequestBodyMsg; msg.MultiTradeLevelRequest = newReuqestMsg; return(msg); }
public SendTradeCancel(CTM_Message message) { _message = message; }
private static CTM_Message GetTradeDetail () { var tdMessage = new CTM_Message { LastUpdated = DateTime.Now, TradeDetail = new CTM_TradeDetail { SubmitHeader = new CTM_Header { ProtocolVersion = "CM01", OriginatorOfMessage = new CTM_OriginatorOfMessage { PartyRole = "MEOR", PartyType = "BIC", PartyValue = "LIGHTSPD" }, RecipientOfMessage = new CTM_RecipientOfMessage { PartyRole = "MERE", PartyType = "TFID", PartyValue = "CTMSERVICE" }, SendersMessageReference = "VitasRef4417", DateTimeOfSentMessage = 20151022143030 }, TradeDetailBody = new CTM_TradeDetailBody { FunctionOfTheMessage = "NEWM", VersionOfTradeComponent = 001, InstructingParty = new CTM_TradeDetailBodyInstructingParty { PartyRole = "INST", PartyType = "BIC", PartyValue = "LIGHTSPD" }, ExecutingBroker = new CTM_TradeDetailBodyExecutingBroker { PartyRole = "EXEC", PartyType = "OG", PartyValue = "CTMTST01" }, TradeLevelReferences = new CTM_TradeDetailBodyTradeLevelReferences { MasterReference = "20150917224155" //Trade_Block }, TradeDetailReferences = new CTM_TradeDetailBodyTradeDetailReferences { ClientAllocationReference = "Vitas0714144828" // TradeRefNo }, TradeLevelExpected = "N", IdentificationOfASecurity = new CTM_TradeDetailBodyIdentificationOfASecurity { SecurityCodeType = new CTM_TradeDetailBodyIdentificationOfASecuritySecurityCodeType { NumberingAgencyCode = "SEDO" }, SecurityCode = "TWELLS", DescriptionOfTheSecurity = "TWELLS" }, TradeLevelInformation = new CTM_TradeDetailBodyTradeLevelInformation { TypeOfTransactionIndicator = "TRAD", BuySellIndicator = "BUYI", TypeOfFinancialInstrument = "COMM", DealPrice = new CTM_TradeDetailBodyTradeLevelInformationDealPrice { CurrencyCode = "GBP", Amount = "12," }, QuantityOfTheBlockTrade = new CTM_TradeDetailBodyTradeLevelInformationQuantityOfTheBlockTrade { QuantityTypeCode = "UNIT", Amount = "100," }, TotalTradeAmount = new CTM_TradeDetailBodyTradeLevelInformationTotalTradeAmount { CurrencyCode = "GBP", Amount = "1200," }, // TradeDateTime = 20151021144825, TimeZone = new CTM_TradeDetailBodyTradeLevelInformationTimeZone { TradeTimeQualifier = "LOCL" }, SettlementDate = 20151021, //DateTime.Now, TradeDateTime = 20151021111111, // SettlementDate = 20151021, // StipulationsNonStandard = // new CTM_TradeDetailBodyTradeLevelInformationStipulationsNonStandard(), // StipulationsStandard = // new CTM_TradeDetailBodyTradeLevelInformationStipulationsStandard(), // AdditionalMunicipalDebtData = // new CTM_TradeDetailBodyTradeLevelInformationAdditionalMunicipalDebtData(), // Yield = new CTM_TradeDetailBodyTradeLevelInformationYield() }, TradeDetailData = new CTM_TradeDetailBodyTradeDetailData { TradeAmount = new CTM_TradeDetailBodyTradeDetailDataTradeAmount { CurrencyCode = "GBP", Amount = "1200," }, QuantityAllocated = new CTM_TradeDetailBodyTradeDetailDataQuantityAllocated { QuantityTypeCode = "UNIT", Amount = "100," }, NetCashAmount = new CTM_TradeDetailBodyTradeDetailDataNetCashAmount { CurrencyCode = "GBP", Amount = "1200," }, CommFeesTaxes = new CTM_TradeDetailBodyTradeDetailDataCommFeesTaxes { Commissions = new CTM_TradeDetailBodyTradeDetailDataCommFeesTaxesCommissions { CommissionSharingBasisIndicator = "FLAT", CommissionType = "TCOM", Commission = new CTM_TradeDetailBodyTradeDetailDataCommFeesTaxesCommissionsCommission { Sign = "+", CurrencyCode = "GBP", Amount = "0," } }, ChargesOrTaxes = new CTM_TradeDetailBodyTradeDetailDataCommFeesTaxesChargesOrTaxes[] { new CTM_TradeDetailBodyTradeDetailDataCommFeesTaxesChargesOrTaxes { ChargeTaxType = "LOCL", ChargeAmount = new CTM_TradeDetailBodyTradeDetailDataCommFeesTaxesChargesOrTaxesChargeAmount { Sign = "+", CurrencyCode = "GBP", Amount = "0," } }, new CTM_TradeDetailBodyTradeDetailDataCommFeesTaxesChargesOrTaxes { ChargeTaxType = "CHAR", ChargeAmount = new CTM_TradeDetailBodyTradeDetailDataCommFeesTaxesChargesOrTaxesChargeAmount { Sign = "+", CurrencyCode = "GBP", Amount = "0," } }, new CTM_TradeDetailBodyTradeDetailDataCommFeesTaxesChargesOrTaxes { ChargeTaxType = "OTHR", ChargeAmount = new CTM_TradeDetailBodyTradeDetailDataCommFeesTaxesChargesOrTaxesChargeAmount { Sign = "+", CurrencyCode = "GBP", Amount = "0," } } } } }, IPSettlement = new CTM_TradeDetailBodyIPSettlement { AccountID = "" } } } }; return(tdMessage); }
public SendTradeDetail(CTM_Message message) { _message = message; }
public CTM_Message GenerateTradeLevelRequest() { var msg = new CTM_Message(); var newReuqestMsg = new CTM_TradeLevel(); var newSubmitHeaderMsg = new CTM_Header { ProtocolVersion = _protocolVersion, //"CM01", SendersMessageReference = _sendersMessageReference, // "ars455", DateTimeOfSentMessage = 20150202112233 //_dateTimeOfSentMessage // 20150202112233 // (DateTime) DateTime.Now.Ticks }; var originatorOfMeessage = new CTM_OriginatorOfMessage { PartyRole = _orgPartyRole, //"MEOR", PartyType = _orgPartyType, //"BIC", PartyValue = _orgPartyValue // "LIGHTSPD" }; var recipientOfMessage = new CTM_RecipientOfMessage { PartyRole = _receiptPartyRole, //"MEOR", PartyType = _receiptPartyType, //"BIC", PartyValue = _receiptPartyValue // "LIGHTSPD" }; newSubmitHeaderMsg.OriginatorOfMessage = originatorOfMeessage; newSubmitHeaderMsg.RecipientOfMessage = recipientOfMessage; var newExecutingBroker = new CTM_TradeLevelBodyExecutingBroker { PartyRole = _executingBrokerPartyRole, //"EXEC", PartyType = _executingBrokerPartyType, //"BIC", PartyValue = _executingBrokerPartyValue // "TECHSOLBXXX" }; var newTradeLevelReferences = new CTM_TradeLevelBodyTradeLevelReferences { MasterReference = _masterReference //"-893838912000000", }; var newIdentificationOfASecuritySecurityCodeType = new CTM_TradeLevelBodyIdentificationOfASecuritySecurityCodeType { NumberingAgencyCode = _numberingAgencyCode, //"SEDO" }; var newSecurityCodeType = new CTM_TradeLevelBodyIdentificationOfASecurity { SecurityCodeType = newIdentificationOfASecuritySecurityCodeType, //"v", SecurityCode = _securityCode //5668287 }; var newDealPrice = new CTM_TradeLevelBodyTradeLevelInformationDealPrice { CurrencyCode = _currencyCode, //USD Amount = _amount // Ammount }; var newQuantityOfTheBlockTrade = new CTM_TradeLevelBodyTradeLevelInformationQuantityOfTheBlockTrade { QuantityTypeCode = _quantityTypeCode, //USD Amount = _qTypeCodeAmount // Ammount }; var newTotalTradeAmount = new CTM_TradeLevelBodyTradeLevelInformationTotalTradeAmount { CurrencyCode = _currencyCodeTotalTradeAmount, //USD Amount = _currencyAmountTotalTradeAmount // Ammount }; var newTimeZone = new CTM_TradeLevelBodyTradeLevelInformationTimeZone { TradeTimeQualifier = _timeZoneTradeTimeQualifier //LOCL }; var newTradeLevelInformation = new CTM_TradeLevelBodyTradeLevelInformation { TypeOfTransactionIndicator = _typeOfTransactionIndicator, // TRAD BuySellIndicator = _buySellIndicator, // BUYI TypeOfFinancialInstrument = _typeOfFinancialInstrument, // COMM TradeDateTime = _tradeDateTime, // 20150504094438 SettlementDate = _settlementDate, //> 20150505 DealPrice = newDealPrice, QuantityOfTheBlockTrade = newQuantityOfTheBlockTrade, TotalTradeAmount = newTotalTradeAmount, TimeZone = newTimeZone }; var newInstructingParty = new CTM_TradeLevelBodyInstructingParty { PartyRole = _instructingPartyRole, //"INST", PartyType = _instructingPartyType, //"BIC", PartyValue = _instructingPartyValue // "LIGHTSPD" }; var newRequestBodyMsg = new CTM_TradeLevelBody { FunctionOfTheMessage = _functionOfTheMessage, //"NEWM" VersionOfTradeComponent = _versionOfTradeComponent, //"001", IdentificationOfASecurity = newSecurityCodeType, InstructingParty = newInstructingParty, ExecutingBroker = newExecutingBroker, TradeLevelReferences = newTradeLevelReferences, TradeLevelInformation = newTradeLevelInformation }; newReuqestMsg.SubmitHeader = newSubmitHeaderMsg; newReuqestMsg.TradeLevelBody = newRequestBodyMsg; msg.TradeLevel = newReuqestMsg; return(msg); }
public CTM_Message GenerateInfoRequest() { var msg = new CTM_Message(); var newReuqestMsg = new CTM_InfoRequest(); var newSubmitHeaderMsg = new CTM_Header { ProtocolVersion = _protocolVersion, //"CM01", SendersMessageReference = _sendersMessageReference, // "ars455", DateTimeOfSentMessage = 20150202112233 //_dateTimeOfSentMessage // 20150202112233 // (DateTime) DateTime.Now.Ticks }; var originatorOfMeessage = new CTM_OriginatorOfMessage { PartyRole = _orgPartyRole, //"MEOR", PartyType = _orgPartyType, //"BIC", PartyValue = _orgPartyValue // "LIGHTSPD" }; var recipientOfMessage = new CTM_RecipientOfMessage { PartyRole = _receiptPartyRole, //"MEOR", PartyType = _receiptPartyType, //"BIC", PartyValue = _receiptPartyValue // "LIGHTSPD" }; newSubmitHeaderMsg.OriginatorOfMessage = originatorOfMeessage; newSubmitHeaderMsg.RecipientOfMessage = recipientOfMessage; var newRequestBodyMsg = new CTM_InfoRequestBody { ViewRequestedIndicator = _viewRequestedIndicator, QueryType = _queryType }; var newExecutingBroker = new CTM_InfoRequestBodyExecutingBroker { PartyRole = _executingBrokerPartyRole, PartyType = _executingBrokerPartyType, PartyValue = _executingBrokerPartyValue }; var newMasterReference = new CTM_InfoRequestBodyAccessPathTradeLevelIdentifiers { MasterReference = _accessPathTradeLevelIdentifiersMasterReference }; var newAccessPath = new CTM_InfoRequestBodyAccessPath { IDOwner = _accessPathIdOwner, TradeLevelIdentifiers = newMasterReference }; //if (!string.IsNullOrEmpty(_cTMTradeDetailID)) //{ // var new //} // _accessPathIdOwner // _accessPathTradeLevelIdentifiersMasterReference newReuqestMsg.SubmitHeader = newSubmitHeaderMsg; newReuqestMsg.InfoRequestBody = newRequestBodyMsg; newReuqestMsg.InfoRequestBody.ExecutingBroker = newExecutingBroker; newReuqestMsg.InfoRequestBody.AccessPath = newAccessPath; msg.InfoRequest = newReuqestMsg; return(msg); }