コード例 #1
0
        public async Task ConfirmOrderShipmentAsync(OrderShipmentViewModel shipmentModel, string userName)
        {
            // log the order shipment order first to the database
            shipmentModel.SubmittedBy = userName;
            _orderService.LogOrderShipment(shipmentModel);

            // convert the model into marketplace object
            var marketplaceOrder = Mapper.Map <OrderShipmentViewModel, MarketplaceOrderFulfillment>(shipmentModel);

            // get the marketplace credential define for the company
            var credential = _credentialService.GetCredential(shipmentModel.Marketplace, _marketplaceMode);

            var ordersProvider = getMarketplaceOrderProvider(shipmentModel.Marketplace);

            ordersProvider.MarketplaceCredential = credential;

            bool isSucceed = false;
            await Task.Run(() =>
            {
                isSucceed = ordersProvider.ConfirmOrderShimpmentDetails(marketplaceOrder, userName);
            });

            // update the shipment order log
            shipmentModel.IsSucceed = isSucceed;
            _orderService.UpdateOrderShipment(shipmentModel);
        }
コード例 #2
0
ファイル: OrderService.cs プロジェクト: mikegerts/EIS-System
        public void UpdateOrderShipment(OrderShipmentViewModel shipmentModel)
        {
            shipmentModel.Modified = DateTime.Now;
            var oldShipment = _context.ordershipments.FirstOrDefault(x => x.OrderId == shipmentModel.OrderId);

            _context.Entry(oldShipment).CurrentValues.SetValues(shipmentModel);

            _context.SaveChanges();
        }
コード例 #3
0
        public JsonResult _PostOrderShipmentDetails(OrderShipmentViewModel model)
        {
            try
            {
                _manager.ConfirmOrderShipmentAsync(model, User.Identity.Name);

                return(Json(new { Success = "Shipment has been successfully sent! The order status will reflect in a moment." }));
            }
            catch (Exception)
            {
                return(Json(new { Error = "Error in confirming order shipment for order ID: " + model.OrderId }));
            }
        }
コード例 #4
0
        public JsonResult _GetUnshippedOrderItems(string orderId)
        {
            var orderItems = _orderService.GetOrderUnshippedItems(orderId);

            var orderderShipment = new OrderShipmentViewModel();

            if (orderItems.Any())
            {
                orderderShipment.OrderItems  = orderItems;
                orderderShipment.OrderId     = orderItems.First().OrderId;
                orderderShipment.Marketplace = orderItems.First().Marketplace;
            }

            return(Json(orderderShipment, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        protected override void Given()
        {
            OrderListItemViewModelFactoryMock = Substitute.For<IOrderListItemViewModelFactory>();
            SaverMock = Substitute.For<IShipmentSaver>();

            OrderListItemViewModelFactoryMock.CreateOrderListItem(Arg.Any<OrderItemShipmentModel>()).Returns(x =>
            {
                var viewModel = Substitute.For<IOrderListItemViewModel>();
                viewModel.Model.Returns(x.Arg<OrderItemShipmentModel>());
                return viewModel;
            });
            SaverMock.SaveOrderShipmentAsync(Arg.Any<OrderShipmentModel>()).Returns(Task.FromResult(new OrderShipmentSavedResult()));

            ViewModel = new OrderShipmentViewModel(OrderListItemViewModelFactoryMock, SaverMock);
        }
コード例 #6
0
ファイル: OrderService.cs プロジェクト: mikegerts/EIS-System
        public void LogOrderShipment(OrderShipmentViewModel shipmentModel)
        {
            // let's check first if it's already in the database
            var oldShipment = _context.ordershipments.FirstOrDefault(x => x.OrderId == shipmentModel.OrderId);

            if (oldShipment == null)
            {
                var shipment = Mapper.Map <OrderShipmentViewModel, ordershipment>(shipmentModel);
                shipment.Created = DateTime.Now;
                _context.ordershipments.Add(shipment);
            }
            else
            {
                // update the existing data
                shipmentModel.Modified = DateTime.Now;
                _context.Entry(oldShipment).CurrentValues.SetValues(shipmentModel);
            }

            _context.SaveChanges();
        }