예제 #1
0
        public static XQt8412OutBlock1[] ListFromQuery(XQt8412 query)
        {
            int count = query.GetBlockCount(XQt8412OutBlock1.BlockName);
            List <XQt8412OutBlock1> list = new List <XQt8412OutBlock1>();

            if (query.QueryResult != null && query.QueryResult.IsSystemError == true)
            {
                return(list.ToArray());
            }
            for (int i = 0; i < count; i++)
            {
                XQt8412OutBlock1 block = new XQt8412OutBlock1();
                block.IsValidData   = true;
                block.InvalidReason = "";
                try
                {
                    block.date      = query.GetFieldData(block.GetBlockName(), "date", i).TrimEnd('?');                // char 8
                    block.time      = query.GetFieldData(block.GetBlockName(), "time", i).TrimEnd('?');                // char 10
                    block.open      = query.GetFieldData(block.GetBlockName(), "open", i).ParseLong("open");           // long 8
                    block.high      = query.GetFieldData(block.GetBlockName(), "high", i).ParseLong("high");           // long 8
                    block.low       = query.GetFieldData(block.GetBlockName(), "low", i).ParseLong("low");             // long 8
                    block.close     = query.GetFieldData(block.GetBlockName(), "close", i).ParseLong("close");         // long 8
                    block.jdiff_vol = query.GetFieldData(block.GetBlockName(), "jdiff_vol", i).ParseLong("jdiff_vol"); // long 12
                    block.value     = query.GetFieldData(block.GetBlockName(), "value", i).ParseLong("value");         // long 12
                    block.jongchk   = query.GetFieldData(block.GetBlockName(), "jongchk", i).ParseLong("jongchk");     // long 13
                    block.rate      = query.GetFieldData(block.GetBlockName(), "rate", i).ParseDouble("rate");         // double 6.2
                    block.sign      = query.GetFieldData(block.GetBlockName(), "sign", i).FirstOrDefault();            // char 1
                } catch (InvalidDataFormatException e) {
                    block.IsValidData   = false;
                    block.InvalidReason = $"FieldName == {e.DataFieldName}, FieldData == \"{e.DataValue}\"";
                }
                list.Add(block);
            }
            return(list.ToArray());
        }
예제 #2
0
        public static XQt8412OutBlock FromQuery(XQt8412 query)
        {
            XQt8412OutBlock block = new XQt8412OutBlock();

            block.IsValidData   = true;
            block.InvalidReason = "";
            if (query.QueryResult != null && query.QueryResult.IsSystemError == true)
            {
                block.IsValidData   = false;
                block.InvalidReason = query.ReceiveMessage;
                return(block);
            }
            try
            {
                block.shcode    = query.GetFieldData(block.GetBlockName(), "shcode", 0).TrimEnd('?');              // char 6
                block.jisiga    = query.GetFieldData(block.GetBlockName(), "jisiga", 0).ParseLong("jisiga");       // long 8
                block.jihigh    = query.GetFieldData(block.GetBlockName(), "jihigh", 0).ParseLong("jihigh");       // long 8
                block.jilow     = query.GetFieldData(block.GetBlockName(), "jilow", 0).ParseLong("jilow");         // long 8
                block.jiclose   = query.GetFieldData(block.GetBlockName(), "jiclose", 0).ParseLong("jiclose");     // long 8
                block.jivolume  = query.GetFieldData(block.GetBlockName(), "jivolume", 0).ParseLong("jivolume");   // long 12
                block.disiga    = query.GetFieldData(block.GetBlockName(), "disiga", 0).ParseLong("disiga");       // long 8
                block.dihigh    = query.GetFieldData(block.GetBlockName(), "dihigh", 0).ParseLong("dihigh");       // long 8
                block.dilow     = query.GetFieldData(block.GetBlockName(), "dilow", 0).ParseLong("dilow");         // long 8
                block.diclose   = query.GetFieldData(block.GetBlockName(), "diclose", 0).ParseLong("diclose");     // long 8
                block.highend   = query.GetFieldData(block.GetBlockName(), "highend", 0).ParseLong("highend");     // long 8
                block.lowend    = query.GetFieldData(block.GetBlockName(), "lowend", 0).ParseLong("lowend");       // long 8
                block.cts_date  = query.GetFieldData(block.GetBlockName(), "cts_date", 0).TrimEnd('?');            // char 8
                block.cts_time  = query.GetFieldData(block.GetBlockName(), "cts_time", 0).TrimEnd('?');            // char 10
                block.s_time    = query.GetFieldData(block.GetBlockName(), "s_time", 0).TrimEnd('?');              // char 6
                block.e_time    = query.GetFieldData(block.GetBlockName(), "e_time", 0).TrimEnd('?');              // char 6
                block.dshmin    = query.GetFieldData(block.GetBlockName(), "dshmin", 0).TrimEnd('?');              // char 2
                block.rec_count = query.GetFieldData(block.GetBlockName(), "rec_count", 0).ParseLong("rec_count"); // long 7
            } catch (InvalidDataFormatException e) {
                block.IsValidData   = false;
                block.InvalidReason = $"FieldName == {e.DataFieldName}, FieldData == \"{e.DataValue}\"";
            }
            return(block);
        }