in FixAntenna/NetCore/Message/Rg/RepeatingGroupStorage.cs [1321:1361]
public void ShiftIndexes(int startIndex, int offset)
{
//shift(startIndex, offset, -1, -1, false);
if (offset < 0)
{
for (var rgIndex = 0; rgIndex < _rgArray.Length; rgIndex++)
{
var rg = _rgArray[rgIndex];
if (rg != null && _rgArrayManager.GetRgId(rg) != -1)
{
var rgStart = _rgArrayManager.GetRgLeadingTagIndexInFixMsg(rg);
var rgEnd = GetRgLastTagIndexInFixMsg(rg);
if (rgStart <= startIndex && startIndex <= rgEnd)
{
//tag is a part of RG
return;
}
}
}
}
else
{
for (var rgIndex = 0; rgIndex < _rgArray.Length; rgIndex++)
{
var rg = _rgArray[rgIndex];
if (rg != null && _rgArrayManager.GetRgId(rg) != -1)
{
var rgStart = _rgArrayManager.GetRgLeadingTagIndexInFixMsg(rg);
var rgEnd = GetRgLastTagIndexInFixMsg(rg);
Console.WriteLine(_rgArrayManager.GetRgLeadingTag(rg) + " [" + rgStart + ":" + rgEnd + "]");
if (rgStart < startIndex && startIndex <= rgEnd)
{
//tag is a part of RG
return;
}
}
}
}
Shift(startIndex, offset, -1, -1, false);
}