예제 #1
0
 private void HandleTicketCancelResponse(ITicketCancelResponse ticket)
 {
     _log.LogInformation($"Ticket '{ticket.TicketId}' response is {ticket.Status}. Reason={ticket.Reason?.Message}");
     if (ticket.Status == TicketCancelAcceptance.Cancelled)
     {
         //mandatory for all cancellations, except for TimeOutTriggered cancellation
         ticket.Acknowledge();
     }
 }
예제 #2
0
        public static void Compare(ITicketCancelResponse ticket, TicketCancelResponseDTO dto)
        {
            Assert.IsTrue(ticket != null);
            Assert.IsTrue(dto != null);

            Assert.AreEqual(ticket.TicketId, dto.Result.TicketId);
            Assert.AreEqual(ticket.Status, MtsTicketHelper.Convert(dto.Result.Status));
            Assert.AreEqual(ticket.Signature, dto.Signature);
            Assert.AreEqual(ticket.Version, dto.Version);

            Assert.AreEqual(ticket.Reason.Code, dto.Result.Reason.Code);
            Assert.AreEqual(ticket.Reason.Message, dto.Result.Reason.Message);
            Assert.IsFalse(string.IsNullOrEmpty(ticket.CorrelationId));
        }
예제 #3
0
        public Task HandleTicketCancelResponse(ITicketCancelResponse ticket)
        {
            Task task = null;

            _log.Info($"Ticket '{ticket.TicketId}' response is {ticket.Status}. Reason={ticket.Reason?.Message}");
            if (ticket.Reason.Code == 101 || ticket.Reason.Code == 102 || ticket.Reason.Code == 103 || ticket.Reason.Code == -101 || ticket.Reason.Code == -102 || ticket.Reason.Code == -103)
            {
                ticket.Acknowledge();
            }

            if (ticket.Status == TicketCancelAcceptance.Cancelled)
            {
                //required only if 'explicit acking' is enabled in MTS admin
                //ticket.Acknowledge();
                task = Task.Run(() =>
                {
                    var tkId = Convert.ToInt64(ticket.TicketId.Split('_')[1]);
                    //int stat = (int)BetStatus.r;
                    int stat = (int)TicketStatus.cancelled;
                    _ticketService.UpdateTicketStatus(tkId, stat.ToString(), ticket.Reason.Code);
                });
                //Task.Run(() =>
                //{
                //    var tkId = Convert.ToInt64(ticket.TicketId.Split('_')[1]);
                //    int stat = (int)TicketStatus.cancelled;
                //    _ticketService.RejectTicket(tkId, stat.ToString());
                //});
            }
            else
            {
                task = Task.Run(() =>
                {
                    var tkId = Convert.ToInt64(ticket.TicketId.Split('_')[1]);
                    int stat = (int)TicketStatus.running;
                    _ticketService.UpdateTicketStatus(tkId, stat.ToString(), ticket.Reason.Code);
                });
            }
            return(task);
        }