Summer.Batch.Extra.Ebcdic.EbcdicReader.ReadFieldsGroup C# (CSharp) Метод

ReadFieldsGroup() приватный Метод

read a fields group
   
private ReadFieldsGroup ( Summer.Batch.Extra.Copybook.FieldsGroup fieldsGroup, decimal>.IDictionary readNumericValues ) : List
fieldsGroup Summer.Batch.Extra.Copybook.FieldsGroup
readNumericValues decimal>.IDictionary
Результат List
        private List<object> ReadFieldsGroup(FieldsGroup fieldsGroup, IDictionary<string, decimal> readNumericValues)
        {
            List<object> values = new List<object>();
            int occurs;

            if (fieldsGroup.HasDependencies())
            {
                if (readNumericValues.ContainsKey(fieldsGroup.DependingOn))
                {
                    occurs = Decimal.ToInt32(readNumericValues[fieldsGroup.DependingOn]);
                }
                else
                {
                    throw new System.Exception(
                    string.Format("Check your copybook :[{0}] is not present, but field format says it has dependencies ...",
                    fieldsGroup.DependingOn));
                }
            }
            else
            {
                occurs = fieldsGroup.Occurs;
            }

            for (int i = 0; i < occurs; i++)
            {
                values.Add(ReadFields(fieldsGroup));
            }

            if (fieldsGroup.HasDependencies() || occurs > 1)
            {
                // if occurs is more than one or variable, return results in a list
                return values;
            }
            else
            {
                // otherwise, just return the single item
                return (List<object>)values[0];
            }
        }