private void HandleTradeException(TradeDetail trade, OrderException tradeException)
        {
            _console.WriteLineWithTimestamp(tradeException.Message);
            _console.WriteLineWithTimestamp($"Trade failed - {trade.Id}");

            var databaseTradeRecord = BuildTradeRecord(trade, tradeException.ExceptionCode, tradeException.Message);

            WriteToDatabase(databaseTradeRecord);
        }
Exemplo n.º 2
0
        public static string TryGetUserFriendlyMessage(OrderException e)
        {
            var message = e.Message;

            if (e is UserFriendlyException)
            {
                message = ((UserFriendlyException)e).UserMessage;
            }
            return(message);
        }
        public string SaveOrderException(string orderNo, string msg, string currentUserId)
        {
            try
            {
                var order = context.Orders.SingleOrDefault(a => a.IsDeleted != 1 && a.No.Equals(orderNo));
                if (order == null)
                {
                    return("查无订单信息");
                }
                if (msg.Trim() == "")
                {
                    return("异常描述不能为空");
                }

                OrderException exception = new OrderException();
                exception.CreatedBy   = currentUserId;
                exception.CreatedOn   = DateTime.Now;
                exception.Id          = DataHelper.GetSystemID();
                exception.OrderNo     = orderNo;
                exception.IsDeleted   = 0;
                exception.Description = msg;
                context.OrderExceptions.Add(exception);

                order.Status     = OrderStatus.TradingClosed;
                order.ModifiedBy = currentUserId;
                order.ModifiedOn = DateTime.Now;

                Distribution dis = context.Distribution.SingleOrDefault(a => a.IsDeleted != 1 && a.OrderNo.Equals(orderNo));
                if (dis == null)
                {
                    return("查无物流信息");
                }
                dis.Status     = StatusDistribution.DistributionFalse;
                dis.ModifiedBy = currentUserId;
                dis.ModifiedOn = DateTime.Now;

                context.SaveChanges();
                return("");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
 public GatewayConnectionException(string exceptionMessage, OrderException innerException) : base(exceptionMessage, innerException)
 {
 }