コード例 #1
0
        /// <summary>
        /// Получение заказа в требуемом формате из заказа программы ДВ (использует функцию ниже)
        /// </summary>
        /// <param name="orderId">Идентификатор заказа</param>
        /// <returns>APIOrder</returns>
        public OrderDto Get(int orderId)
        {
            var vodovozOrder = _orderRepository.GetOrder(_unitOfWork, orderId)
                               ?? throw new DataNotFoundException(nameof(orderId), $"Заказ { orderId } не найден");
            var routeListItem = _routeListItemRepository.GetRouteListItemForOrder(_unitOfWork, vodovozOrder);

            var order = _orderConverter.convertToAPIOrder(
                vodovozOrder,
                routeListItem.CreationDate,
                _aPISmsPaymentModel.GetOrderSmsPaymentStatus(orderId),
                _fastPaymentModel.GetOrderFastPaymentStatus(orderId));

            order.OrderAdditionalInfo = GetAdditionalInfo(vodovozOrder);

            return(order);
        }
コード例 #2
0
        public OrderQRPaymentStatusResponseDto GetOrderQRPaymentStatus(int orderId)
        {
            var additionalInfo = _aPIOrderData.GetAdditionalInfo(orderId)
                                 ?? throw new Exception($"Не удалось получить информацию о заказе {orderId}");

            var response = new OrderQRPaymentStatusResponseDto
            {
                AvailablePaymentTypes = additionalInfo.AvailablePaymentTypes,
                CanReceiveQR          = additionalInfo.CanReceiveQRCode,
                QRPaymentStatus       = _qrPaymentConverter.ConvertToAPIPaymentStatus(_fastPaymentModel.GetOrderFastPaymentStatus(orderId))
            };

            return(response);
        }