private void UpdateFixTagRequired(string name, bool required) { // find the fix tag var fixTag = FixTags.FirstOrDefault(a => a.Name == name); if (fixTag != null) { fixTag.Required = required; } }
protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func <OrderCondition> getCondition) { return(reader.ReadOrderCondition(tag, TimeHelper.Moscow, TransactionSession.DateTimeFormat, () => (QuikOrderCondition)getCondition())); }
public static bool ReadOrderCondition(this IFixReader reader, FixTags tag, TimeZoneInfo timeZone, string dateTimeFormat, Func <QuikOrderCondition> getCondition) { if (getCondition == null) { throw new ArgumentNullException(nameof(getCondition)); } switch ((QuikFixTags)tag) { case QuikFixTags.Type: getCondition().Type = (QuikOrderConditionTypes)reader.ReadInt(); return(true); case QuikFixTags.StopPriceCondition: getCondition().StopPriceCondition = (QuikStopPriceConditions)reader.ReadInt(); return(true); case QuikFixTags.ConditionOrderSide: getCondition().ConditionOrderSide = (Sides)reader.ReadInt(); return(true); case QuikFixTags.LinkedOrderCancel: getCondition().LinkedOrderCancel = reader.ReadBool(); return(true); case QuikFixTags.Result: getCondition().Result = (QuikOrderConditionResults)reader.ReadInt(); return(true); case QuikFixTags.OtherSecurityCode: getCondition().OtherSecurityId = new SecurityId { SecurityCode = reader.ReadString() }; return(true); case QuikFixTags.StopPrice: getCondition().StopPrice = reader.ReadDecimal(); return(true); case QuikFixTags.StopLimitPrice: getCondition().StopLimitPrice = reader.ReadDecimal(); return(true); case QuikFixTags.IsMarketStopLimit: getCondition().IsMarketStopLimit = reader.ReadBool(); return(true); case QuikFixTags.ActiveTimeFrom: if (getCondition().ActiveTime == null) { getCondition().ActiveTime = new Range <DateTimeOffset>(); } getCondition().ActiveTime.Min = reader.ReadDateTime(dateTimeFormat).ToDateTimeOffset(timeZone); return(true); case QuikFixTags.ActiveTimeTo: if (getCondition().ActiveTime == null) { getCondition().ActiveTime = new Range <DateTimeOffset>(); } getCondition().ActiveTime.Max = reader.ReadDateTime(dateTimeFormat).ToDateTimeOffset(timeZone); return(true); case QuikFixTags.ConditionOrderId: getCondition().ConditionOrderId = reader.ReadLong(); return(true); case QuikFixTags.ConditionOrderPartiallyMatched: getCondition().ConditionOrderPartiallyMatched = reader.ReadBool(); return(true); case QuikFixTags.ConditionOrderUseMatchedBalance: getCondition().ConditionOrderUseMatchedBalance = reader.ReadBool(); return(true); case QuikFixTags.LinkedOrderPrice: getCondition().LinkedOrderPrice = reader.ReadDecimal(); return(true); case QuikFixTags.Offset: getCondition().Offset = reader.ReadString().ToUnit(); return(true); case QuikFixTags.StopSpread: getCondition().Spread = reader.ReadString().ToUnit(); return(true); case QuikFixTags.IsMarketTakeProfit: getCondition().IsMarketTakeProfit = reader.ReadBool(); return(true); default: return(false); } }
/// <summary> /// Прочитать условие заявки <see cref="OrderCondition"/>. /// </summary> /// <param name="reader">Читатель данных.</param> /// <param name="tag">Тэг.</param> /// <param name="getCondition">Функция, возвращающая условие заявки.</param> /// <returns>Успешно ли обработаны данные.</returns> protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func <OrderCondition> getCondition) { return(reader.ReadOrderCondition(tag, TimeZone, TimeStampFormat, () => (QuikOrderCondition)getCondition())); }
protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func<OrderCondition> getCondition) { return reader.ReadOrderCondition(tag, TimeHelper.Moscow, TransactionSession.DateTimeFormat, () => (QuikOrderCondition)getCondition()); }
public static bool ReadOrderCondition(this IFixReader reader, FixTags tag, TimeSpan dateTimeOffset, Func<QuikOrderCondition> getCondition) { if (getCondition == null) throw new ArgumentNullException("getCondition"); switch ((QuikFixTags)tag) { case QuikFixTags.Type: getCondition().Type = (QuikOrderConditionTypes)reader.ReadInt(); return true; case QuikFixTags.StopPriceCondition: getCondition().StopPriceCondition = (QuikStopPriceConditions)reader.ReadInt(); return true; case QuikFixTags.ConditionOrderSide: getCondition().ConditionOrderSide = (Sides)reader.ReadInt(); return true; case QuikFixTags.LinkedOrderCancel: getCondition().LinkedOrderCancel = reader.ReadBool(); return true; case QuikFixTags.Result: getCondition().Result = (QuikOrderConditionResults)reader.ReadInt(); return true; case QuikFixTags.OtherSecurityCode: getCondition().OtherSecurityId = new SecurityId { SecurityCode = reader.ReadString() }; return true; case QuikFixTags.StopPrice: getCondition().StopPrice = reader.ReadDecimal(); return true; case QuikFixTags.StopLimitPrice: getCondition().StopLimitPrice = reader.ReadDecimal(); return true; case QuikFixTags.IsMarketStopLimit: getCondition().IsMarketStopLimit = reader.ReadBool(); return true; case QuikFixTags.ActiveTimeFrom: if (getCondition().ActiveTime == null) getCondition().ActiveTime = new Range<DateTimeOffset>(); getCondition().ActiveTime.Min = reader.ReadDateTime().ApplyTimeZone(dateTimeOffset); return true; case QuikFixTags.ActiveTimeTo: if (getCondition().ActiveTime == null) getCondition().ActiveTime = new Range<DateTimeOffset>(); getCondition().ActiveTime.Max = reader.ReadDateTime().ApplyTimeZone(dateTimeOffset); return true; case QuikFixTags.ConditionOrderId: getCondition().ConditionOrderId = reader.ReadLong(); return true; case QuikFixTags.ConditionOrderPartiallyMatched: getCondition().ConditionOrderPartiallyMatched = reader.ReadBool(); return true; case QuikFixTags.ConditionOrderUseMatchedBalance: getCondition().ConditionOrderUseMatchedBalance = reader.ReadBool(); return true; case QuikFixTags.LinkedOrderPrice: getCondition().LinkedOrderPrice = reader.ReadDecimal(); return true; case QuikFixTags.Offset: getCondition().Offset = reader.ReadString().ToUnit(); return true; case QuikFixTags.StopSpread: getCondition().Spread = reader.ReadString().ToUnit(); return true; case QuikFixTags.IsMarketTakeProfit: getCondition().IsMarketTakeProfit = reader.ReadBool(); return true; default: return false; } }
protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func<OrderCondition> getCondition) { return reader.ReadOrderCondition(tag, TimeHelper.Moscow.BaseUtcOffset, () => (QuikOrderCondition)getCondition()); }
/// <summary> /// Прочитать условие регистрации заявки <see cref="OrderRegisterMessage.Condition"/>. /// </summary> /// <param name="reader">Читатель данных.</param> /// <param name="tag">Тэг.</param> /// <param name="getCondition">Функция, возвращающая условие заявки.</param> /// <returns>Успешно ли обработаны данные.</returns> protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func<OrderCondition> getCondition) { return reader.ReadOrderCondition(tag, UtcOffset, DateTimeFormat, () => (QuikOrderCondition)getCondition()); }
/// <summary> /// Прочитать условие регистрации заявки <see cref="OrderRegisterMessage.Condition"/>. /// </summary> /// <param name="reader">Читатель данных.</param> /// <param name="tag">Тэг.</param> /// <param name="getCondition">Функция, возвращающая условие заявки.</param> /// <returns>Успешно ли обработаны данные.</returns> protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func <OrderCondition> getCondition) { return(reader.ReadOrderCondition(tag, UtcOffset, DateTimeFormat, () => (QuikOrderCondition)getCondition())); }
/// <summary> /// Прочитать условие регистрации заявки <see cref="OrderRegisterMessage.Condition"/>. /// </summary> /// <param name="reader">Читатель данных.</param> /// <param name="tag">Тэг.</param> /// <param name="getCondition">Функция, возвращающая условие заявки.</param> /// <returns>Успешно ли обработаны данные.</returns> protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func<OrderCondition> getCondition) { return reader.ReadOrderCondition(tag, TimeZone, TimeStampFormat, () => (QuikOrderCondition)getCondition()); }
public static bool ReadOrderCondition(this IFixReader reader, FixTags tag, TimeSpan dateTimeOffset, QuikOrderCondition condition) { switch ((QuikFixTags)tag) { case QuikFixTags.Type: condition.Type = (QuikOrderConditionTypes)reader.ReadInt(); return(true); case QuikFixTags.StopPriceCondition: condition.StopPriceCondition = (QuikStopPriceConditions)reader.ReadInt(); return(true); case QuikFixTags.ConditionOrderSide: condition.ConditionOrderSide = (Sides)reader.ReadInt(); return(true); case QuikFixTags.LinkedOrderCancel: condition.LinkedOrderCancel = reader.ReadBool(); return(true); case QuikFixTags.Result: condition.Result = (QuikOrderConditionResults)reader.ReadInt(); return(true); case QuikFixTags.OtherSecurityCode: condition.OtherSecurityId = new SecurityId { SecurityCode = reader.ReadString() }; return(true); case QuikFixTags.StopPrice: condition.StopPrice = reader.ReadDecimal(); return(true); case QuikFixTags.StopLimitPrice: condition.StopLimitPrice = reader.ReadDecimal(); return(true); case QuikFixTags.IsMarketStopLimit: condition.IsMarketStopLimit = reader.ReadBool(); return(true); case QuikFixTags.ActiveTimeFrom: if (condition.ActiveTime == null) { condition.ActiveTime = new Range <DateTimeOffset>(); } condition.ActiveTime.Min = reader.ReadDateTime().ApplyTimeZone(dateTimeOffset); return(true); case QuikFixTags.ActiveTimeTo: if (condition.ActiveTime == null) { condition.ActiveTime = new Range <DateTimeOffset>(); } condition.ActiveTime.Max = reader.ReadDateTime().ApplyTimeZone(dateTimeOffset); return(true); case QuikFixTags.ConditionOrderId: condition.ConditionOrderId = reader.ReadLong(); return(true); case QuikFixTags.ConditionOrderPartiallyMatched: condition.ConditionOrderPartiallyMatched = reader.ReadBool(); return(true); case QuikFixTags.ConditionOrderUseMatchedBalance: condition.ConditionOrderUseMatchedBalance = reader.ReadBool(); return(true); case QuikFixTags.LinkedOrderPrice: condition.LinkedOrderPrice = reader.ReadDecimal(); return(true); case QuikFixTags.Offset: condition.Offset = reader.ReadString().ToUnit(); return(true); case QuikFixTags.StopSpread: condition.Spread = reader.ReadString().ToUnit(); return(true); case QuikFixTags.IsMarketTakeProfit: condition.IsMarketTakeProfit = reader.ReadBool(); return(true); default: return(false); } }