Example #1
0
        public ReceiptDetails GetReceiptDetails(string token, Receipt receipt, string appClientId)
        {
            var request = new GetTicketRequest
            {
                GeoInfo = new GeoInfo
                {
                    Latitude  = 1.0,
                    Longitude = 1.0
                },
                GetTicketInfo = new GetTicketInfo
                {
                    TypeOperation    = receipt.Operation,
                    FiscalDocumentId = receipt.Fp.Trim(),
                    Fn         = receipt.Fn.Trim(),
                    FiscalSign = receipt.Fd.Trim(),
                    Date       = receipt.Date.ToReceiptDate(),
                    Sum        = receipt.Sum.ToReceiptAmount()
                }
            };

            var xmlResponse = _openApiClient.SendMessage(token, request, appClientId);

            var result = xmlResponse.FromXmlString <GetTicketResponse>();
            var retVal = JsonConvert.DeserializeObject <ReceiptDetails>(result.Result.Ticket);

            retVal = retVal.TrimAllStringProperties();

            return(retVal);
        }
Example #2
0
 void AndGivenCommandPrepared()
 {
     _request = new GetTicketRequest
     {
         Id = _ticketId
     };
 }
Example #3
0
        public async Task <IActionResult> Get(Guid id)
        {
            var request = new GetTicketRequest {
                Id = id
            };

            return(Ok(await _mediator.Send(request)));
        }
Example #4
0
        public static string GetHTMLString(GetTicketRequest ticket)
        {
            var sb = new StringBuilder();

            sb.Append(@"
                        <html>
                            <head>
                            </head>
                            <body>
                                <div class='header'><h1 align='center'>Booking Confirmation</h1></div>
                                <table align='center'>
                                    <tr>
                                        <th>Email</th>
                                        <th>BookingDate</th>
                                        <th>EventDate</th>
                                        <th>StatusId</th>
                                        <th>TicketId</th>
                                        <th>SeatCoordinates</th>
                                        <th>Price</th>
                                    </tr>");


            sb.AppendFormat(@"<tr>
                                <td>{0}</td>
                                <td>{1}</td>
                                <td>{2}</td>
                                <td>{3}</td>
                                <td>{4}</td>
                                <td>{5}</td>
                                <td>{6}</td>
                                </tr>", ticket.Email, ticket.BookingDate, ticket.EventDate, ticket.StatusId,
                            ticket.TicketId, ticket.SeatCoordinates, ticket.Price);


            sb.Append(@"
                                </table>
                            </body>
                        </html>");

            return(sb.ToString());
        }
        /// <summary>
        /// 刷新ticket
        /// </summary>
        /// <param name="access_Token"></param>
        private void RefeshTicket(string access_Token)
        {
            Dictionary<string, object> bugobjd = new Dictionary<string, object>();
            try
            {
                bugobjd.Add("方法名", "刷新ticket");
                bugobjd.Add("access_Token", access_Token);
                // 更新ticket
                GetTicketRequest ticketInfo = new GetTicketRequest(access_Token, "jsapi");

                ApiClient client = new ApiClient();
                DateTime now = DateTime.Now;
                var ticketResponse = client.Execute(ticketInfo);
                bugobjd.Add("ticketResponse", ticketResponse);
                if (this.WeixinTicketDic == null)
                {
                    this.WeixinTicketDic = new Dictionary<string, MTicketInfo>();
                }

                if (this.WeixinTicketDic.ContainsKey(access_Token))
                {
                    this.WeixinTicketDic[access_Token].Ticket = ticketResponse.Ticket;
                    this.WeixinTicketDic[access_Token].OutTime = now.AddSeconds(ticketResponse.Expires_In);
                }
                else
                {
                    this.WeixinTicketDic.Add(access_Token, new MTicketInfo()
                    {
                        Ticket = ticketResponse.Ticket,
                        Access_Token = access_Token,
                        OutTime = now.AddSeconds(ticketResponse.Expires_In)
                    });
                }

                bugobjd.Add("WeixinTicketDic", WeixinTicketDic);
            }
            catch (Exception ex)
            {
                TxtLogHelper.WriteLog_Day(new TxtLogInfoObject()
                {
                    LogType = EnumLogType.Error,
                    LogMessage = string.Format(" 刷新ticket 错误信息{0};堆栈信息{1}", ex.Message, ex.StackTrace),
                });
                throw;
            }
            finally
            {
                TxtLogHelper.WriteDebugLog(bugobjd);
            }
        }