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()); }
public XQt1444OutBlock1[] GetBlock1s() { XQt1444OutBlock1[] instance = XQt1444OutBlock1.ListFromQuery(this); return(instance); }