internal static COMTrade MapFrom(Trade source) { COMTrade destination = new COMTrade(); destination.Id = source.Id.ToString(); destination.OperatorName = source.OperatorName; destination.Price = source.Price; destination.Quantity = source.Quantity; destination.UnderlyingInfos = null; if (source.Underlyings != null) { destination.UnderlyingInfos = new COMUnderlyingInfos(); foreach (var udl in source.Underlyings) { destination.UnderlyingInfos.Add( new COMUnderlying() { SourceType = (COMEnumUnderlyingSourceType)Enum.Parse(typeof(COMEnumUnderlyingSourceType), udl.SourceType.ToString()), ProductType = (COMEnumUnderlyingProductType)Enum.Parse(typeof(COMEnumUnderlyingProductType), udl.ProductType.ToString()), Code = udl.Code }); } } // TODO : implement mapping for AdditionnalInfos //if (source.AdditionnalInfos != null && source.AdditionnalInfos.Any()) // destination.AdditionnalInfos = source.AdditionnalInfos; return(destination); }
public void SetAdditionnalInfosTest() { COMTrade comTrade = new COMTrade(); comTrade.SetAdditionnalInfos(new string[2] { "Foo", "Bar" }); var actual = comTrade.GetAdditionnalInfos(); Assert.IsTrue(actual.GetType().Equals(typeof(string[]))); //System.Diagnostics.Debug.Print(actual); }
public void Send(string operatorName, double price, int quantity) { COMUnderlyingInfos underlyingInfos = new COMUnderlyingInfos(); underlyingInfos.Add( new COMUnderlying() { SourceType = COMEnumUnderlyingSourceType.REUTERS, ProductType = COMEnumUnderlyingProductType.STOCK, Code = "BHP.AX" }); underlyingInfos.Add( new COMUnderlying() { SourceType = COMEnumUnderlyingSourceType.BLOOMBERG, ProductType = COMEnumUnderlyingProductType.INDEX, Code = "SX5E" }); COMTrade comTrade = new COMTrade() { OperatorName = operatorName, Price = price, Quantity = quantity, UnderlyingInfos = underlyingInfos }; comTrade.SetAdditionnalInfos(new string[2] { "Foo", "Bar" }); var actual = _comOrderBookingManager.Send(comTrade); Assert.IsInstanceOf(typeof(string), actual); Assert.IsNotNull(actual); Assert.IsTrue(actual.Contains("Foo")); Assert.IsTrue(actual.Contains("Bar")); System.Diagnostics.Debug.Print(actual); }
public string Send(COMTrade COMTrade) { log.DebugFormat("Call Send"); return(_orderBookingManager.Send(COMTrade.Trade)); }