Exemplo n.º 1
0
        public TResult PayOrder(OrderCreateModel order)
        {
            var result = new TResult();

            if (order.TicketItem.Count <= 0)
            {
                return(result.ErrorResult("请选择您要购买的产品"));
            }

            var userInfo  = _enterpriseUserService.LoginForSession();
            var orderInfo = new OrderInfoCreateModel
            {
                PayType        = order.PayType,
                UserId         = userInfo.UserId,
                ValidityDate   = order.ValidityDate,
                Mobile         = "",
                Linkman        = "",
                TicketCategory = (int)TicketCategoryStatus.QrCodePrintTicket,
                TicketSource   = (int)TicketSourceStatus.ScenicSpot,
                TicketItem     = order.TicketItem
            };

            List <int> productIds       = orderInfo.TicketItem.Select(a => a.TicketId).ToList();
            var        tbl_Tickets      = _ticketService.GetTickets(productIds);
            var        tbl_Order        = _orderService.AddOrder(orderInfo);
            var        tbl_OrderDetails = _orderDetailService.AddOrderDetails(orderInfo, tbl_Order);

            _orderService.UpdateOrder(tbl_Order, tbl_OrderDetails);
            var tbl_Ticket_Testings = _ticketTestingService.addTicketTestings(tbl_Order, tbl_OrderDetails);

            _ticketService.UpdateTicketBySellCount(tbl_Tickets, tbl_OrderDetails);
            try
            {
                _orderService.BeginTran();
                _orderService.Add(tbl_Order);
                _orderDetailService.Add(tbl_OrderDetails);
                _ticketTestingService.Add(tbl_Ticket_Testings);
                _saleLogService.Add(tbl_Order);
                _ticketService.Update(tbl_Tickets);
                //提交事物
                _orderService.CommitTran();
            }
            catch
            {
                _orderService.RollbackTran();
                return(result.ErrorResult());
            }

            //打印机打印
            if (order.IsPrint && !string.IsNullOrEmpty(order.PrintKey))
            {
                var isPrint = _printService.Print(tbl_Order.OrderNo, order.PrintKey);
                if (!isPrint.Success)
                {
                    return(result.ErrorResult("门票创建成功," + isPrint.Message));
                }
            }

            return(result.SuccessResult());
        }
        public TResult <List <TicketTypeViewModel> > GetTicketType()
        {
            var result   = new TResult <List <TicketTypeViewModel> >();
            var userInfo = _enterpriseUserService.LoginForSession();
            var data     = _ticketTypeService.GetList(userInfo.ScenicId, userInfo.UserId);

            return(result.SuccessResult(data));
        }
Exemplo n.º 3
0
 public EnterpriseUser LoginForSession()
 {
     return(_enterpriseUserService.LoginForSession());
 }