Пример #1
0
        public static XQt1444OutBlock FromQuery(XQt1444 query)
        {
            XQt1444OutBlock block = new XQt1444OutBlock();

            block.IsValidData   = true;
            block.InvalidReason = "";
            if (query.QueryResult != null && query.QueryResult.IsSystemError == true)
            {
                block.IsValidData   = false;
                block.InvalidReason = query.ReceiveMessage;
                return(block);
            }
            try
            {
                block.idx = query.GetFieldData(block.GetBlockName(), "idx", 0).ParseLong("idx");                 // long 4
            } catch (InvalidDataFormatException e) {
                block.IsValidData   = false;
                block.InvalidReason = $"FieldName == {e.DataFieldName}, FieldData == \"{e.DataValue}\"";
            }
            return(block);
        }
Пример #2
0
        public static XQt1444OutBlock1[] ListFromQuery(XQt1444 query)
        {
            int count = query.GetBlockCount(XQt1444OutBlock1.BlockName);
            List <XQt1444OutBlock1> list = new List <XQt1444OutBlock1>();

            if (query.QueryResult != null && query.QueryResult.IsSystemError == true)
            {
                return(list.ToArray());
            }
            for (int i = 0; i < count; i++)
            {
                XQt1444OutBlock1 block = new XQt1444OutBlock1();
                block.IsValidData   = true;
                block.InvalidReason = "";
                try
                {
                    block.shcode   = query.GetFieldData(block.GetBlockName(), "shcode", i).TrimEnd('?');                 // char 6
                    block.hname    = query.GetFieldData(block.GetBlockName(), "hname", i).TrimEnd('?');                  // char 20
                    block.price    = query.GetFieldData(block.GetBlockName(), "price", i).ParseLong("price");            // long 8
                    block.sign     = query.GetFieldData(block.GetBlockName(), "sign", i).FirstOrDefault();               // char 1
                    block.change   = query.GetFieldData(block.GetBlockName(), "change", i).ParseLong("change");          // long 8
                    block.diff     = query.GetFieldData(block.GetBlockName(), "diff", i).ParseFloat("diff");             // float 6.2
                    block.volume   = query.GetFieldData(block.GetBlockName(), "volume", i).ParseLong("volume");          // long 12
                    block.vol_rate = query.GetFieldData(block.GetBlockName(), "vol_rate", i).ParseFloat("vol_rate");     // float 6.2
                    block.total    = query.GetFieldData(block.GetBlockName(), "total", i).ParseLong("total");            // long 12
                    block.rate     = query.GetFieldData(block.GetBlockName(), "rate", i).ParseFloat("rate");             // float 6.2
                    block.for_rate = query.GetFieldData(block.GetBlockName(), "for_rate", i).ParseFloat("for_rate");     // float 6.2
                } catch (InvalidDataFormatException e) {
                    block.IsValidData   = false;
                    block.InvalidReason = $"FieldName == {e.DataFieldName}, FieldData == \"{e.DataValue}\"";
                }
                list.Add(block);
            }
            return(list.ToArray());
        }