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); }
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(); }
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 })); } }
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)); }
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); }
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(); }