private ReceiptCard BuildOrderCard(Order order)
 {
     return(new ReceiptCard()
     {
         Title = $"Order #{order.OrderNumber}",
         Facts = BuildOrderFactsDetail(order),
         Items = UIHelper.CreateOrderItemListReceipt(order.OrderItems),
         Total = $"{order.Total} $"
     });
 }
Example #2
0
        private async Task GetOrder(IDialogContext context)
        {
            var botUserData = await identityService.GetBotDataAsync(context);

            var authUser = botUserData.GetUserAuthData();
            var userData = botUserData.GetUserData();

            var basket = await basketService.GetBasket(authUser.UserId, authUser.AccessToken);

            var orderFromBasket = basketService.MapBasketToOrder(basket);

            order = orderingService.MapUserInfoIntoOrder(userData, orderFromBasket);
            order.CardExpirationShortFormat();
            order.RequestId = Guid.NewGuid();
        }
        private List <Fact> BuildOrderFacts(Order order, bool showOrder = true)
        {
            List <Fact> facts = new List <Fact>
            {
                new Fact($"Date:", $"{order.Date.ToShortDateString()}"),
                new Fact($"Status:", $"{order.Status}")
            };

            if (showOrder)
            {
                facts.Insert(0, new Fact($"Order:", $"{order.OrderNumber}"));
            }

            return(facts);
        }
        private async Task OrderReceipt(IDialogContext context, Order order)
        {
            if (!string.IsNullOrEmpty(order.Description))
            {
                await context.PostAsync($"{order.Description}");
            }

            var reply = context.MakeMessage();

            reply.Attachments = new List <Attachment>
            {
                BuildOrderCard(order).ToAttachment()
            };
            reply.SuggestedActions = new SuggestedActions()
            {
                Actions = CardBackAction()
            };

            await context.PostAsync(reply);
        }
 private List <Fact> BuildOrderFactsDetail(Order order)
 {
     return(BuildOrderFacts(order, showOrder: false));
 }