public async Task CreateOrderAsync(Models.Orders.Order newOrder, string token) { await Task.Delay(500); if (!string.IsNullOrEmpty(token)) { MockOrders.Add(newOrder); } }
public async Task CreateOrderAsync(Models.Orders.Order newOrder, string token) { UriBuilder builder = new UriBuilder(GlobalSetting.Instance.OrdersEndpoint); builder.Path = "api/v1/orders/new"; string uri = builder.ToString(); await _requestProvider.PostAsync(uri, newOrder, token, "x-requestid"); }
public async Task CreateOrderAsync(Models.Orders.Order newOrder, string token) { await Task.Delay(500); if (!string.IsNullOrEmpty(token)) { newOrder.OrderNumber = $"{MockOrders.Count + 1}"; MockOrders.Insert(0, newOrder); } }
public BasketCheckout MapOrderToBasket(Models.Orders.Order order) { return(new BasketCheckout() { CardExpiration = order.CardExpiration, CardHolderName = order.CardHolderName, CardNumber = order.CardNumber, CardSecurityNumber = order.CardSecurityNumber, CardTypeId = order.CardTypeId, City = order.ShippingCity, Country = order.ShippingCountry, ZipCode = order.ShippingZipCode, Street = order.ShippingStreet }); }
public async Task <Models.Orders.Order> GetOrderAsync(int orderId, string token) { try { var uri = UriHelper.CombineUri(GlobalSetting.Instance.GatewayShoppingEndpoint, $"{ApiUrlBase}/{orderId}"); Models.Orders.Order order = await _requestProvider.GetAsync <Models.Orders.Order>(uri, token); return(order); } catch { return(new Models.Orders.Order()); } }
public bool PurchaseOrders(Models.Orders.Order order, List <Models.Orders.OrderLine> orderLines, Models.Vendors.Vendor administrativeVendor, Models.Vendors.Vendor vendor, bool directShipment, DataAccess.UnitOfWork.IUnitOfWork unit, log4net.ILog logger) { try { var webShopStockType = unit.Scope.Repository <VendorStockType>().GetSingle(x => x.StockType == "Webshop"); if (webShopStockType == null) { throw new Exception("Stocklocation Webshop does not exists, skip order process"); } orderLines.Where(c => (!c.Product.IsNonAssortmentItem.HasValue || (c.Product.IsNonAssortmentItem.HasValue && !c.Product.IsNonAssortmentItem.Value))).ToList().ForEach(line => { var webshopStock = line.Product.VendorStocks.FirstOrDefault(x => x.VendorStockTypeID == webShopStockType.VendorStockTypeID && x.VendorID == int.Parse(ConfigurationManager.AppSettings["ATVendorID"])); if (webshopStock == null) { throw new Exception(string.Format("Stocklocation Webshop does not exists for product {0}, skip order process", line.ProductID)); } if (line.Quantity > webshopStock.QuantityOnHand) { //CANCEL LINE int qtyCancelled = Math.Abs(line.Quantity - Math.Abs(webshopStock.QuantityOnHand)); line.SetStatus(OrderLineStatus.Cancelled, unit.Scope.Repository <OrderLedger>(), qtyCancelled); CancelLine(line, unit, qtyCancelled, "Out of stock"); } else { webshopStock.QuantityOnHand -= line.GetDispatchQuantity(); line.SetStatus(OrderLineStatus.ReadyToOrder, unit.Scope.Repository <OrderLedger>()); } }); } catch (Exception e) { logger.Debug(e); } unit.Save(); return(false); }
public async Task <Models.Orders.Order> GetOrderAsync(int orderId, string token) { try { UriBuilder builder = new UriBuilder(GlobalSetting.Instance.OrdersEndpoint); builder.Path = $"api/v1/orders/{orderId}"; string uri = builder.ToString(); Models.Orders.Order order = await _requestProvider.GetAsync <Models.Orders.Order>(uri, token); return(order); } catch { return(new Models.Orders.Order()); } }
public async Task <OrderDetails> AddManager(Models.Orders.Order order, Models.Employees.Employee manager, CancellationToken cancellationToken = default) { var orderDb = await DbContext.Orders.FirstOrDefaultAsync(x => x.OrderId == order.OrderId, cancellationToken); if (orderDb == null) { throw new Exception("Order not found"); } var managerDb = await DbContext.Employees.FirstOrDefaultAsync(x => x.EmployeeId == manager.EmployeeId, cancellationToken); if (managerDb == null) { throw new Exception("Employee not found"); } orderDb.EmployeeId = managerDb.EmployeeId; DbContext.Orders.Update(orderDb); await DbContext.SaveChangesAsync(cancellationToken); return(await GetDetailModel(orderDb, cancellationToken)); }
public Task CreateOrderAsync(Models.Orders.Order newOrder, string token) { throw new Exception("Only available in Mock Services!"); }
public BasketCheckout MapOrderToBasket(Models.Orders.Order order) { return(MockBasketCheckout); }