private async Task CreateOrder() { List <WCF.OrderLine> lines = (from product in this.Products let productId = long.Parse(product.Id) select new WCF.OrderLine { ProductId = productId, Quantity = 1 }) .ToList(); WCF.Order order = new WCF.Order { Lines = lines, FirstName = this.DeliveryAddress.FirstName, LastName = this.DeliveryAddress.LastName, Street = this.DeliveryAddress.Street + " " + this.DeliveryAddress.Number, City = this.DeliveryAddress.City, ZipCode = this.DeliveryAddress.PostalCode, CountryISOCode = "PL" }; string orderNumber = await this.MaxCommerceServiceClient.CreateOrder(order); await this.ShoppingCart.Clear(); this.Products.Clear(); this.MessageService.ShowMessage("Order placed", "Order number: " + orderNumber, MessageBoxButton.OK); this.NavigationService.UriFor <MainPageViewModel>().Navigate(); }
private bool ValidateOrder(WCF.Order order) { List <string> orderLinesIds = order.Lines.Select(l => l.ProductId.ToString()).ToList(); List <string> productsIds = this.viewModel.Products.Select(p => p.Id).ToList(); Address address = this.viewModel.DeliveryAddress; return(order.City == address.City && order.CountryISOCode == address.Country && order.FirstName == address.FirstName && order.LastName == address.LastName && order.Street == address.Street + " " + address.Number && order.ZipCode == address.PostalCode && order.Lines.All(line => line.Quantity == 1) && orderLinesIds.Count == productsIds.Count && productsIds.All(id => orderLinesIds.Contains(id))); }
public Task <string> CreateOrder(WCF.Order order) { return(Task.FromResult("FAKE-000123")); }