Example #1
0
        public async Task <OrderOutput> GetOrder(string orderNo)
        {
            var orderInfo = _sellAppService.GetOrderInfo(orderNo);
            var goods     = _sellAppService.GetGoodsInfoById(orderInfo.GoodsId, SellType.Rmb);
            var discount  = orderInfo.OrderCost / orderInfo.OriginalCost;
            var orderDic  = new List <OrderInfoItem>();

            orderDic.Add(new OrderInfoItem()
            {
                Label = "订单号",
                Value = orderInfo.SalesOrderNo,
                Key   = "SalesOrderNo",
            });
            orderDic.Add(new OrderInfoItem()
            {
                Label = "商品名称",
                Value = goods.GoodName,
                Key   = "GoodName"
            });
            orderDic.Add(new OrderInfoItem()
            {
                Label = "授权版本",
                Value = ((MemberRank)goods.MemberRank).GetChineseDescribe(),
                Key   = "MemberRank"
            });

            orderDic.Add(new OrderInfoItem()
            {
                Label = "有效期",
                Value = DateTime.Now.AddMonths(orderInfo.Count).ToString("yyyy-MM-dd HH:mm:ss"),
                Key   = "ValidDate"
            });

            if (!discount.Equals(1.00))
            {
                orderDic.Add(new OrderInfoItem()
                {
                    Label = "原价",
                    Value = orderInfo.OriginalCost.ToString("0.00"),
                    Key   = "OriginalCost"
                });

                orderDic.Add(new OrderInfoItem()
                {
                    Label = "折扣",
                    Value = discount.ToString("0.00"),
                    Key   = "discount"
                });
            }

            var output = new OrderOutput()
            {
                OrderPrice = orderInfo.OrderCost,
                OrderInfo  = orderDic,
                OrderNo    = orderInfo.SalesOrderNo,
            };

            return(output);
        }