internal override void FillOrderCommonData(OrderCommonData orderData, Guid instrumentId, DateTime?tradeDay = null) { base.FillOrderCommonData(orderData, instrumentId, tradeDay); this.PhysicalSettings = new PhysicalConstructParams(); if (orderData is Protocal.Physical.PhysicalOrderData) { var physicalOrderData = (Protocal.Physical.PhysicalOrderData)orderData; this.PhysicalSettings.Fill(physicalOrderData); if (physicalOrderData.InstalmentPart != null && this.PhysicalSettings.PhysicalType != Protocal.Physical.PhysicalType.FullPayment) { this.Instalment = new InstalmentConstructParams(); this.Instalment.FIll(physicalOrderData.InstalmentPart); } } else if (orderData is Protocal.Physical.PhysicalOrderBookData) { var bookData = (Protocal.Physical.PhysicalOrderBookData)orderData; this.PhysicalSettings.FillForBookData(bookData); if (bookData.InstalmentPart != null) { this.Instalment = new InstalmentConstructParams(); this.Instalment.FIll(bookData.InstalmentPart); } } }
protected override void ParseAttrs(OrderCommonData order, XmlNode orderXml) { base.ParseAttrs(order, orderXml); if (orderXml.HasAttribute("ExecutePrice")) { ((OrderBookData)order).ExecutePrice = orderXml.GetAttrValue("ExecutePrice"); } }
protected override void ParseAttrs(OrderCommonData order, XmlNode orderXml) { base.ParseAttrs(order, orderXml); var boOrder = (BOOrderData)order; boOrder.BOBetTypeID = (Guid)orderXml.GetAttrValue("BOBetTypeID", typeof(Guid)); boOrder.BOFrequency = (int)orderXml.GetAttrValue("BOFrequency", typeof(Int32)); boOrder.BOOdds = (decimal)orderXml.GetAttrValue("BOOdds", typeof(decimal)); boOrder.BOBetOption = (long)orderXml.GetAttrValue("BOBetOption", typeof(Int64)); }
protected override void ParseAttrs(OrderCommonData order, XmlNode orderXml) { base.ParseAttrs(order, orderXml); PhysicalOrderParameters physicalOrderParameters = orderXml.ParsePhysicalOrderParameters(); var physicalOrder = (PhysicalOrderData)order; physicalOrder.InstalmentPart = physicalOrderParameters.InstalmentPart; physicalOrder.PhysicalType = physicalOrderParameters.PhysicalType; physicalOrder.PhysicalTradeSide = physicalOrderParameters.PhysicalTradeSide; }
internal override void FillOrderCommonData(OrderCommonData orderData, Guid instrumentId, DateTime?tradeDay = null) { base.FillOrderCommonData(orderData, instrumentId, tradeDay); var boOrderData = (BOOrderData)orderData; this.BetTypeId = boOrderData.BOBetTypeID; this.Frequency = boOrderData.BOFrequency; this.BetOption = boOrderData.BOBetOption; this.Odds = boOrderData.BOOdds; }
protected void ValidateForCloseOrder(OrderCommonData orderData, OrderConstructParams constructParams) { Logger.InfoFormat("closeOrderId = {0}, totalClosedLot = {1}, lot = {2}", orderData.Id, constructParams.LotBalance, orderData.Lot); foreach (var eachOrderRelation in orderData.OrderRelations) { var closedLot = eachOrderRelation.ClosedLot; constructParams.LotBalance -= closedLot; } if (constructParams.LotBalance != 0) { throw new TransactionServerException(TransactionError.InvalidLotBalance, string.Format("closeOrderId = {0}, leftLotBalance = {1}, lot = {2}", orderData.Id, constructParams.LotBalance, orderData.Lot)); } }
protected override void ParseAttrs(OrderCommonData order, XmlNode orderXml) { base.ParseAttrs(order, orderXml); var physicalOrder = (PhysicalOrderBookData)order; PhysicalOrderParameters physicalOrderParameters = orderXml.ParsePhysicalOrderParameters(); physicalOrder.InstalmentPart = physicalOrderParameters.InstalmentPart; physicalOrder.PhysicalType = physicalOrderParameters.PhysicalType; physicalOrder.PhysicalTradeSide = physicalOrderParameters.PhysicalTradeSide; if (physicalOrder.PhysicalTradeSide == PhysicalTradeSide.None) { physicalOrder.PhysicalTradeSide = order.IsBuy ? PhysicalTradeSide.Buy : PhysicalTradeSide.Sell; } physicalOrder.PhysicalRequestId = orderXml.HasAttribute("PhysicalRequestId") ? orderXml.GetGuidAttrValue("PhysicalRequestId") : (Guid?)null; }