/// <summary> /// Кодирование заголовка запроса в формат, /// пригодный для отправки на сервер. /// </summary> /// <returns></returns> public IEnumerable <string> Encode() { string glued = _GlueCommand(); List <string> result = new List <string> { glued, Workstation.ToInvariantString(), glued, ClientID.ToInvariantString(), QueryID.ToInvariantString() }; // Документация на сервер неверно описывает формат // клиентского пакета. На самом деле он таков (для команды А): // общая длина пакета // 'A' // АРМ, например 'C' // 'A' // ID клиента, например 523444 // номер команды, для A всегда 1 // пароль // имя пользователя // пустая строка // пустая строка // пустая строка if (!string.IsNullOrEmpty(Password)) { result.Add(Password); } if (!string.IsNullOrEmpty(UserName)) { result.Add(UserName); } while (result.Count < 10) { result.Add(string.Empty); } return(result); }