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)); }
/// <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 }); }