Beispiel #1
0
        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"));
 }