Beispiel #1
0
        /// <summary>
        /// Reads variables
        /// </summary>
        /// <param name="clsID"></param>
        /// <returns></returns>
        internal List <VariableRecordDTO_Create> ReadClassificationVariables(int clsID)
        {
            var inputParams = new List <ADO_inputParams>()
            {
                new ADO_inputParams()
                {
                    name = "@ClsID", value = clsID
                }
            };

            var clsVars = ado.ExecuteReaderProcedure("Data_Variable_Read", inputParams);

            var dtoList = new List <VariableRecordDTO_Create>();

            foreach (var item in clsVars.data)
            {
                VariableRecordDTO_Create dto = new VariableRecordDTO_Create();
                dto.ClassificationVariableId = ReadInt(item.VrbID);
                dto.Code  = ReadString(item.VrbCode);
                dto.Value = ReadString(item.VrbValue);
                dtoList.Add(dto);
            }

            return(dtoList);
        }
Beispiel #2
0
        /// <summary>
        /// Recursive function to package the graph of dimensions into a list of DataItem_DTO
        /// </summary>
        /// <param name="dto"></param>
        /// <param name="item"></param>
        private void populateDataItem(ref DataItem_DTO dto, object[] item)
        {
            foreach (var subItem in item)
            {
                if (subItem.GetType().IsArray)
                {
                    populateDataItem(ref dto, (object[])subItem);
                }
                else
                {
                    var v = (DimensionDetail_DTO)subItem;
                    switch (v.dimensionValue.dimType)
                    {
                    case DimensionType.STATISTIC:
                        dto.statistic.Code  = v.key;
                        dto.statistic.Value = v.value;
                        break;

                    case DimensionType.PERIOD:
                        dto.period.Code  = v.key;
                        dto.period.Value = v.value;
                        break;

                    case DimensionType.CLASSIFICATION:
                        var cls = new ClassificationRecordDTO_Create();
                        cls.Code  = v.dimensionValue.code;
                        cls.Value = v.dimensionValue.value;
                        var vrb = new VariableRecordDTO_Create();
                        vrb.Code     = v.key;
                        vrb.Value    = v.value;
                        cls.Variable = new List <VariableRecordDTO_Create>();
                        cls.Variable.Add(vrb);
                        dto.classifications.Add(cls);
                        break;
                    }
                }
            }
        }