예제 #1
0
        private OrdersResponse GetOrdersForMetele(BaseWebRequest webRequest)
        {
            try
            {
                var orders = _paxTerminalService.GetOrders(webRequest.MerchantId, webRequest.TerminalId, webRequest.SerialNumber).OrderByDescending(order => order.OrderDate);

                //Taking the first 100 orders on the queue
                if (orders.Count() > 100)
                    orders = (IOrderedEnumerable<PaxTerminalOrder>)orders.Take(100);

                var ordersResult = orders.UIMapTo<IEnumerable<PaxTerminalOrder>, IEnumerable<Order>>();

                return new OrdersResponse
                {
                    Status = 200,
                    Orders = ordersResult
                };
            }
            catch (Exception exception)
            {
                if (exception is CustomException)
                {
                    var customException = exception as CustomException;

                    _logger.Debug(string.Format("Operation:GetOrders,Error Message:{3}, Parameters:MerchantId:{0},TerminalId:{1},SerialNumber:{2}", customException.MerchantId, customException.TerminalId, customException.SerialNumber, customException.Message));
                }
                return new OrdersResponse
                {
                    ErrorMessage = exception.Message,
                    Status = 201,
                };
            }
        }
예제 #2
0
        public OrdersResponse GetOrders(BaseWebRequest webRequest)
        {
            var isMeteleMerchant = IsMeteleUsaMerchant(webRequest.MerchantId);

            return isMeteleMerchant ? GetOrdersForMetele(webRequest): GetOrdersForBlackstonePos(webRequest);
        }