public void Add(Tbl_Ticket_Testing ticketTesting, Tbl_OrderDetail orderDetail)
 {
     //if (ticketTesting.DataStatus != (int)TicketTestingDataStatus.Employ)
     //{
     //    return;
     //}
     if (orderDetail.OrderSource == (int)OrderSource.OTA || orderDetail.OrderSource == (int)OrderSource.XiaoJing)
     {
         var order = _orderService.Get(orderDetail.OrderNo);
         if (order != null)
         {
             _ticketConsumeRepository.Add(new Tbl_TicketConsume
             {
                 OrderNo = order.OrderNo,
                 OtaOrderNo = order.OTAOrderNo,
                 TicketTestingId = ticketTesting.TicketTestingId,
                 TicketCategory = ticketTesting.TicketCategory,
                 BarCode = ticketTesting.BarCode,
                 QRcode = ticketTesting.QRcode,
                 OrderDetailNumber = orderDetail.Number,
                 OrderSource = orderDetail.OrderSource,
                 SendStatus = false,
                 CreateTime = DateTime.Now,
                 SendCount = 0,
                 TicketId = ticketTesting.TicketId
             });
         }
     }
 }
        private bool CheckTicket(Tbl_Ticket_Testing entity, out string msg)
        {
            if (entity == null)
            {
                //无效票,请您重新购买!
                msg = MessageKey.InvalidTicket;
                return(false);
            }
            if (entity.DataStatus == (int)TicketTestingDataStatus.Employ)
            {
                //票已使用
                msg = MessageKey.TicketEmploy;
                return(false);
            }
            if (entity.CheckDate != null && (DateTime.Now - entity.CheckDate.Value).TotalSeconds <= 10)
            {
                //门票正在使用,请稍后再试
                msg = MessageKey.TicketBeingUsed;
                return(false);
            }
            int count = entity.Quantity.Value - entity.UsedQuantity;

            msg = string.Format(MessageKey.VerifyThroughTicket, entity.TicketName, entity.Quantity, count);
            return(true);
        }
 /// <summary>
 /// 闸机入园更新[旅行社]状态
 /// </summary>
 /// <param name="orderNo"></param>
 public void UpdateForConsume(Tbl_OrderDetail tbl_OrderDetail, Tbl_Ticket_Testing tbl_Ticket_Testing)
 {
     if (tbl_OrderDetail.OrderSource == (int)OrderSource.OTA && tbl_Ticket_Testing.UsedQuantity <= 1)
     {
         var travelAgencyOrder = _travelAgencyOrderRepository.FirstOrDefault(a => a.OrderNo == tbl_Ticket_Testing.OrderNo);
         if (travelAgencyOrder != null)
         {
             travelAgencyOrder.OrderStatus = (int)TraveAgencyOrderStatus.Consume;
             _travelAgencyOrderRepository.Update(travelAgencyOrder);
         }
     }
 }
        /// <summary>
        /// 二维码支付,生成验票信息,自动激活
        /// </summary>
        /// <param name="order"></param>
        /// <param name="orderDetails"></param>
        /// <returns></returns>
        public List <Tbl_Ticket_Testing> addTicketTestings(Tbl_Order order, List <Tbl_OrderDetail> orderDetails)
        {
            List <Tbl_Ticket_Testing> ticketTestings = new List <Tbl_Ticket_Testing>();

            foreach (var orderDetail in orderDetails)
            {
                orderDetail.OrderStatus = (int)OrderDetailsDataStatus.Success;

                if (orderDetail.TicketCategory != 1)
                {
                    //生成凭证号
                    orderDetail.CertificateNO = OrderHelper.GetCertificateNo();

                    //二维码订单支付,生成二维码串,自动激活
                    orderDetail.OrderStatus = (int)OrderDetailsDataStatus.Activate;

                    //生成二维码串
                    orderDetail.QRcode = OrderHelper.GenerateQRCode();

                    //生成一张二维码图片,返回图片地址
                    string imgpath = string.Empty;
                    //OrderHelper.CreateCode_Simple(orderDetail.QRcode, out imgpath);
                    orderDetail.QRcodeUrl = imgpath;

                    //二维码支付,生成验票信息,自动激活
                    Tbl_Ticket_Testing tbl_Ticket_Testing = new Tbl_Ticket_Testing
                    {
                        OrderDetailNumber = orderDetail.Number,
                        OrderDetailId     = orderDetail.OrderDetailId,
                        OrderNo           = orderDetail.OrderNo,
                        EnterpriseId      = orderDetail.EnterpriseId,
                        ScenicId          = orderDetail.ScenicId,
                        TicketCategory    = orderDetail.TicketCategory,
                        TicketId          = orderDetail.TicketId,
                        TicketName        = orderDetail.TicketName,
                        BarCode           = orderDetail.BarCode,
                        CertificateNO     = orderDetail.CertificateNO,
                        QRcode            = orderDetail.QRcode,
                        DataStatus        = 1,
                        Quantity          = orderDetail.Quantity,
                        IDCard            = orderDetail.IDCard
                    };
                    ticketTestings.Add(tbl_Ticket_Testing);
                }
            }
            return(ticketTestings);
        }
 /// <summary>
 /// 更新检票时间,以判断是否有2台以上的闸机同时在验票
 /// </summary>
 public void UpdateForCheckDate(Tbl_Ticket_Testing entity)
 {
     entity.CheckDate = DateTime.Now;
     _ticketTestingRepository.Update(entity);
 }
 public void Add(Tbl_Ticket_Testing tbl_Ticket_Testing)
 {
     _ticketTestingRepository.Add(tbl_Ticket_Testing);
 }