gov.va.medora.mdo.dao.vista.VistaQuery.buildMessage_DirectBroker C# (CSharp) Method

buildMessage_DirectBroker() public method

public buildMessage_DirectBroker ( ) : string
return string
        public string buildMessage_DirectBroker()
        {
            const string PREFIX = "{XWB}";
            const string HDR = "007XWB;;;;";

            string sParams = "";
            DictionaryHashList lst = null;
            string text = null;
            for (int i=0; i<parameters.Count; i++)
            {
                Parameter vp = (Parameter)parameters[i];
                int pType = vp.Type;
                if (pType == LITERAL)
                {
                    sParams += StringUtils.strPack('0' + vp.Value,3);
                }
                else if (pType == REFERENCE)
                {
                    sParams += StringUtils.strPack('1' + vp.Value,3);
                }
                else if (pType == LIST)
                {
                    sParams += StringUtils.strPack('2' + vp.Value,3);
                    lst = vp.List;
                }
                else if (pType == WORDPROC)
                {
                    sParams += StringUtils.strPack('2' + vp.Value,3);
                    text = vp.Text;
                }
            }
            string msg = "";
            if (lst == null && text == null)
            {
                msg = StringUtils.strPack(HDR + buildApi(rpcName,sParams,"0"),5);
            }
            else if (lst != null)
            {
                msg = StringUtils.strPack(HDR + buildApi(rpcName,sParams,"1"),5);
                for (int j = 0; j < lst.Count; j++)
                {
                    DictionaryEntry entry = lst[j];
                    string key = (string)entry.Key;
                    string value = (string)entry.Value;
                    if (value == null || value == "")
                    {
                        value = "\u0001";
                    }
                    msg += StringUtils.strPack(key, 3) + StringUtils.strPack(value, 3);
                }
                msg += "000";
            }
            else
            {
                msg = StringUtils.strPack(HDR + buildApi(rpcName,sParams,"1"),5);
                string[] lines = StringUtils.split(text,StringUtils.CRLF);
                for (int i=0; i<lines.Length; i++)
                {
                    msg += StringUtils.strPack(i.ToString(),3) +
                            StringUtils.strPack(lines[i] + StringUtils.CRLF,3);
                }
                msg += "000";
            }
            msg = getVersion() + msg;
            msg = PREFIX + StringUtils.strPack(msg,5);
            return msg;
        }