コード例 #1
0
        private PrintResult Print(PrintConfigData printConfigData, Tbl_Scenic tbl_Scenic, Tbl_OrderDetail tbl_OrderDetail)
        {
            tbl_OrderDetail.UsedQuantity = tbl_OrderDetail.Quantity;
            tbl_OrderDetail.PrintCount++;
            if (tbl_OrderDetail.OrderStatus == (int)OrderDetailsDataStatus.Activate)
            {
                tbl_OrderDetail.OrderStatus = (int)OrderDetailsDataStatus.IsTaken;
            }

            _orderDetailService.Update(tbl_OrderDetail);
            var userInfo       = _enterpriseUserService.LoginForSession();
            var printOrderData = new PrintOrderData
            {
                OrderNo       = tbl_OrderDetail.OrderNo,
                TicketName    = tbl_OrderDetail.TicketName,
                Qunatity      = tbl_OrderDetail.Quantity,
                Price         = tbl_OrderDetail.Price,
                TotalAmount   = tbl_OrderDetail.Quantity * tbl_OrderDetail.Price,
                CertificateNo = tbl_OrderDetail.CertificateNO,
                QRcode        = SecurityExtension.DesEncrypt(tbl_OrderDetail.QRcode, DesKey.QrCodeKey),
                CreateTime    = tbl_OrderDetail.ValidityDateStart.ToString("yyyy-MM-dd"),
                PrintCount    = tbl_OrderDetail.PrintCount,
                RealName      = userInfo.RealName,
                UserName      = userInfo.UserName
            };

            if (tbl_Scenic != null)
            {
                printOrderData.ScenicName  = tbl_Scenic.ScenicName;
                printOrderData.ScenicPhone = tbl_Scenic.Tel;
            }
            return(_printGateway.Send(printOrderData, printConfigData));
        }
コード例 #2
0
        /// <summary>
        /// 把已激活的票变成已使用的状态
        /// </summary>
        /// <param name="ticketTestingId"></param>
        /// <param name="count"></param>
        /// <param name="doorGateNo">闸机号</param>
        /// <returns></returns>
        public TicketTestingModel UpdateDataStatus(int ticketTestingId, int count, string doorGateNo)
        {
            //开始更改票的状态
            var entity = _ticketTestingRepository.FirstOrDefault(a =>
                                                                 a.TicketTestingId == ticketTestingId &&
                                                                 (a.DataStatus == (int)TicketTestingDataStatus.Activate || a.DataStatus == (int)TicketTestingDataStatus.PartEmploy));

            if (entity == null)
            {
                return(null);
            }
            entity.UsedQuantity += count;
            entity.DataStatus    = (int)TicketTestingDataStatus.PartEmploy;
            if (entity.UsedQuantity >= entity.Quantity.Value)
            {
                entity.DataStatus        = (int)TicketTestingDataStatus.Employ; //已使用
                entity.CheckTicketUserId = (int)ActivateType.System;            //0为系统激活
                entity.CheckDate         = DateTime.Now;
                entity.DoorGateNO        = doorGateNo;
                var scenicGateId = _doorGateService.GetScenicGateId(doorGateNo);
                entity.ScenicGateId   = scenicGateId;
                entity.CheckTicketWay = entity.ScenicGateId > 0 ? (int)CheckTicketWayType.ScenicGate : (int)CheckTicketWayType.NoScenicGate;//景区有园门闸机验票
            }
            try
            {
                _ticketTestingRepository.BeginTran();
                _ticketTestingRepository.Update(entity);
                //开始更改订单详情的状态
                var orderDetail = _orderDetailService.Update(entity.OrderDetailNumber, entity.UsedQuantity);
                _travelAgencyOrderService.UpdateForConsume(orderDetail, entity);
                _ticketTestingRepository.CommitTran();
            }
            catch
            {
                _ticketTestingRepository.RollbackTran();
            }
            return(new TicketTestingModel
            {
                UsedQuantity = entity.UsedQuantity,
                Quantity = entity.Quantity.Value
            });
        }