public static XQt2830OutBlock FromQuery(XQt2830 query) { XQt2830OutBlock block = new XQt2830OutBlock(); block.IsValidData = true; block.InvalidReason = ""; if (query.QueryResult != null && query.QueryResult.IsSystemError == true) { block.IsValidData = false; block.InvalidReason = query.ReceiveMessage; return(block); } try { block.hname = query.GetFieldData(block.GetBlockName(), "hname", 0).TrimEnd('?'); // char 20 block.price = query.GetFieldData(block.GetBlockName(), "price", 0).ParseFloat("price"); // float 6.2 block.sign = query.GetFieldData(block.GetBlockName(), "sign", 0).FirstOrDefault(); // char 1 block.change = query.GetFieldData(block.GetBlockName(), "change", 0).ParseFloat("change"); // float 6.2 block.jnilclose = query.GetFieldData(block.GetBlockName(), "jnilclose", 0).ParseFloat("jnilclose"); // float 6.2 block.diff = query.GetFieldData(block.GetBlockName(), "diff", 0).ParseFloat("diff"); // float 6.2 block.volume = query.GetFieldData(block.GetBlockName(), "volume", 0).ParseLong("volume"); // long 12 block.value = query.GetFieldData(block.GetBlockName(), "value", 0).ParseLong("value"); // long 12 block.open = query.GetFieldData(block.GetBlockName(), "open", 0).ParseFloat("open"); // float 6.2 block.high = query.GetFieldData(block.GetBlockName(), "high", 0).ParseFloat("high"); // float 6.2 block.low = query.GetFieldData(block.GetBlockName(), "low", 0).ParseFloat("low"); // float 6.2 block.recprice = query.GetFieldData(block.GetBlockName(), "recprice", 0).ParseFloat("recprice"); // float 6.2 block.theoryprice = query.GetFieldData(block.GetBlockName(), "theoryprice", 0).ParseFloat("theoryprice"); // float 6.2 block.actprice = query.GetFieldData(block.GetBlockName(), "actprice", 0).ParseFloat("actprice"); // float 6.2 block.impv = query.GetFieldData(block.GetBlockName(), "impv", 0).ParseFloat("impv"); // float 6.2 block.timevl = query.GetFieldData(block.GetBlockName(), "timevl", 0).ParseFloat("timevl"); // float 6.2 block.kospijisu = query.GetFieldData(block.GetBlockName(), "kospijisu", 0).ParseFloat("kospijisu"); // float 6.2 block.kospisign = query.GetFieldData(block.GetBlockName(), "kospisign", 0).FirstOrDefault(); // char 1 block.kospichange = query.GetFieldData(block.GetBlockName(), "kospichange", 0).ParseFloat("kospichange"); // float 6.2 block.kospidiff = query.GetFieldData(block.GetBlockName(), "kospidiff", 0).ParseFloat("kospidiff"); // float 6.2 block.cmeprice = query.GetFieldData(block.GetBlockName(), "cmeprice", 0).ParseFloat("cmeprice"); // float 6.2 block.cmesign = query.GetFieldData(block.GetBlockName(), "cmesign", 0).FirstOrDefault(); // char 1 block.cmechange = query.GetFieldData(block.GetBlockName(), "cmechange", 0).ParseFloat("cmechange"); // float 6.2 block.cmediff = query.GetFieldData(block.GetBlockName(), "cmediff", 0).ParseFloat("cmediff"); // float 6.2 block.cmefocode = query.GetFieldData(block.GetBlockName(), "cmefocode", 0).TrimEnd('?'); // char 8 block.uplmtprice = query.GetFieldData(block.GetBlockName(), "uplmtprice", 0).ParseFloat("uplmtprice"); // float 6.2 block.dnlmtprice = query.GetFieldData(block.GetBlockName(), "dnlmtprice", 0).ParseFloat("dnlmtprice"); // float 6.2 block.focode = query.GetFieldData(block.GetBlockName(), "focode", 0).TrimEnd('?'); // char 8 block.yeprice = query.GetFieldData(block.GetBlockName(), "yeprice", 0).ParseFloat("yeprice"); // float 6.2 block.ysign = query.GetFieldData(block.GetBlockName(), "ysign", 0).FirstOrDefault(); // char 1 block.ychange = query.GetFieldData(block.GetBlockName(), "ychange", 0).ParseFloat("ychange"); // float 6.2 block.ydiff = query.GetFieldData(block.GetBlockName(), "ydiff", 0).ParseFloat("ydiff"); // float 6.2 block.danhochk = query.GetFieldData(block.GetBlockName(), "danhochk", 0).FirstOrDefault(); // char 1 block.jnilvolume = query.GetFieldData(block.GetBlockName(), "jnilvolume", 0).ParseLong("jnilvolume"); // long 12 block.jnilvalue = query.GetFieldData(block.GetBlockName(), "jnilvalue", 0).ParseLong("jnilvalue"); // long 12 } catch (InvalidDataFormatException e) { block.IsValidData = false; block.InvalidReason = $"FieldName == {e.DataFieldName}, FieldData == \"{e.DataValue}\""; } return(block); }
public XQt2830OutBlock GetBlock() { XQt2830OutBlock instance = XQt2830OutBlock.FromQuery(this); return(instance); }