Ejemplo n.º 1
0
        /// <summary>
        ///[55] 설명 차트 조회 데이터를 배열로 받아온다.
        ///입력값
        ///strTrCode : 조회한TR코드
        ///strRecordName: 조회한 TR명
        ////반환값  object인데.. 잘모르겠음..
        ///비고
        ///조회 데이터가 많은 차트 경우 GetCommData()로 항목당 하나씩 받아오는 것 보다
        ///한번에 데이터 전부를 받아서 사용자가 처리할 수 있도록 배열로 받는다.
        /// </summary>
        public Object GetCommDataEx(String strTrCode, String strRecordName)
        {
            Object ret = axKHOpenAPI.GetCommDataEx(strTrCode, strRecordName);

            FileLog.PrintF("GetCommDataEx(" + strTrCode + "," + strRecordName + "):" + ret);
            return(ret);
        }
Ejemplo n.º 2
0
        private void OnReceiveTrData(object sender, _DKHOpenAPIEvents_OnReceiveTrDataEvent e)
        {
            var temp = axAPI.GetCommDataEx(e.sTrCode, e.sRQName);

            if (temp != null)
            {
                string[,] ts = new string[((object[, ])temp).GetUpperBound(0) + 1, ((object[, ])temp).GetUpperBound(1) + 1];
                int x, y, lx = ((object[, ])temp).GetUpperBound(0), ly = ((object[, ])temp).GetUpperBound(1);

                for (x = 0; x <= lx; x++)
                {
                    sb = new StringBuilder(64);

                    for (y = 0; y <= ly; y++)
                    {
                        ts[x, y] = (string)((object[, ])temp)[x, y];

                        if (ts[x, y].Length > 13 && !e.sTrCode.Equals("opt50001") && Retention.Equals(ts[x, y].Substring(2)))
                        {
                            sb          = new StringBuilder(it);
                            e.sPrevNext = "0";

                            break;
                        }
                        sb.Append(ts[x, y]);

                        if (y != ly)
                        {
                            sb.Append(",");
                        }
                    }
                    if (!e.sTrCode.Equals("opt50001") && sb.ToString() != it)
                    {
                        SendMemorize?.Invoke(this, new MemorizeEvent(sb));

                        continue;
                    }
                    if (sb.ToString() == it)
                    {
                        break;
                    }

                    if (e.sTrCode.Equals("opt50001"))
                    {
                        Remaining = axAPI.GetCommData(e.sTrCode, e.sRQName, 0, "잔존일수").Trim();

                        return;
                    }
                }
                if (e.sPrevNext.Equals("2") && !e.sTrCode.Equals("opt50001"))
                {
                    rq = new Task(() =>
                    {
                        tr = new Opt50028
                        {
                            Value    = Code,
                            RQName   = Code + Retention,
                            PrevNext = 2
                        };
                        InputValueRqData(tr);
                    });
                    request.RequestTrData(rq);

                    return;
                }
                if (e.sPrevNext.Equals("0") && !e.sTrCode.Equals("opt50001"))
                {
                    SendMemorize?.Invoke(this, new MemorizeEvent(e.sPrevNext));
                }
            }
        }