示例#1
0
        public void QueryExcute(IOrders order) => Connect.GetInstance().Request.RequestTrData(new Task(() =>
        {
            if (LoadFromResFile(Secrecy.GetResFileName(GetType().Name)))
            {
                foreach (var param in GetInBlocks(Secrecy.GetData(this, order)))
                {
                    SetFieldData(param.Block, param.Field, param.Occurs, param.Data);
                }

                SendErrorMessage(GetType().Name, Request(false));
            }
        }));
示例#2
0
        protected internal Queue <InBlock> GetInBlocks(string name)
        {
            string block  = string.Empty;
            var    queue  = new Queue <InBlock>();
            var    secret = Secrecy.GetData(name);
            int    i      = 0;

            foreach (var str in GetResData().Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
            {
                if (str.Contains(record) && str.Contains("InBlock"))
                {
                    block = str.Replace("*", string.Empty).Replace(record, string.Empty).Trim();

                    continue;
                }
                else if (str.Contains(record) && str.Contains("OutBlock"))
                {
                    break;
                }

                else if (str.Contains(separator))
                {
                    continue;
                }

                var temp = str.Split(',');
                queue.Enqueue(new InBlock
                {
                    Block  = block,
                    Field  = temp[2],
                    Occurs = 0,
                    Data   = secret?[i++]
                });
                if (secret == null || secret.Length == i)
                {
                    break;
                }
            }
            return(queue);
        }