Пример #1
0
        /// <summary>
        /// Парсинг не снятого количества из ответа на kill транзакцию
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        private int ParseUnfilledQuantityFromTransactionReply(QLTransactionReply message)
        {
            if (string.IsNullOrEmpty(message.result_msg))
            {
                return(-1);
            }

            var match = (message.result_msg.Contains("Неисполненный остаток") ? quantityFromKillTransReplRegex1 : quantityFromKillTransReplRegex2).Match(message.result_msg);

            // должено быть ровно одно совпадение
            if (match.Length == 0 || match.Groups.Count != 2)
            {
                return(-1);
            }

            int rValue = -1;

            int.TryParse(match.Groups["quantity"].Value, out rValue);

            Logger.Debug().PrintFormat("Parsed unfilled quantity is: {0}", LogFields.ActiveQuantity(rValue));

            return(rValue);
        }