Esempio n. 1
0
        public ISdkTicket GetTicketResponseFromJson(string json, string routingKey, TicketResponseType type, string correlationId, IDictionary <string, string> additionalInfo)
        {
            //new
            if (type == TicketResponseType.Ticket)
            {
                var ticketDto = TicketResponseDTO.FromJson(json);
                return(Map(ticketDto, correlationId, additionalInfo, json));
            }
            if (type == TicketResponseType.TicketCancel)
            {
                var cancelDto = TicketCancelResponseDTO.FromJson(json);
                return(Map(cancelDto, correlationId, additionalInfo, json));
            }
            if (type == TicketResponseType.TicketCashout)
            {
                var cashoutDto = TicketCashoutResponseDTO.FromJson(json);
                return(Map(cashoutDto, correlationId, additionalInfo, json));
            }
            if (type == TicketResponseType.TicketNonSrSettle)
            {
                var nonSrSettleDto = TicketNonSrSettleResponseDTO.FromJson(json);
                return(Map(nonSrSettleDto, correlationId, additionalInfo, json));
            }

            //old
            if (!routingKey.Contains("cancel"))
            {
                var ticketDto = TicketResponseDTO.FromJson(json);
                return(Map(ticketDto, correlationId, additionalInfo, json));
            }

            var cancel2Dto = TicketCancelResponseDTO.FromJson(json);

            return(Map(cancel2Dto, correlationId, additionalInfo, json));
        }
Esempio n. 2
0
        public IActionResult Post(NewTicketResponseDTO response)
        {
            TicketResponse createdResponse = mgr.AddTicketResponse(response.TicketNumber
                                                                   , response.ResponseText, response.IsClientResponse);

            if (createdResponse == null)
            {
                return(BadRequest("Er is iets misgelopen bij het registreren van het antwoord!"));
            }

            //return CreatedAtAction("Get", new { id = createdResponse.Id }, null);
            //return CreatedAtAction("Get", new { id = createdResponse.Id }, createdResponse); // -> serializing: circulaire referentie!!

            /* Oplossing 'DTO' */
            TicketResponseDTO responseData = new TicketResponseDTO()
            {
                Id                   = createdResponse.Id,
                Text                 = createdResponse.Text,
                Date                 = createdResponse.Date,
                IsClientResponse     = createdResponse.IsClientResponse,
                TicketNumberOfTicket = createdResponse.Ticket.TicketNumber
            };

            return(CreatedAtAction("Get", new { id = responseData.Id }, responseData));
        }
Esempio n. 3
0
        public IHttpActionResult Post(NewTicketResponseDTO response)
        {
            TicketResponse createdResponse = mgr.AddTicketResponse(response.TicketNumber, response.ResponseText, response.IsClientResponse);

            if (createdResponse == null)
            {
                return(BadRequest("Er is iets misgelopen bij het registreren van het antwoord!"));
            }

            //// Circulaire referentie!! (TicketResponse <-> Ticket) -> can't be serialized!!
            //return CreatedAtRoute("DefaultApi",
            //                      new { Controller = "TicketResponse", id = createdResponse.Id },
            //                      createdResponse);

            // Gebruik DTO (Data Transfer Object)
            TicketResponseDTO responseData = new TicketResponseDTO()
            {
                Id                   = createdResponse.Id,
                Text                 = createdResponse.Text,
                Date                 = createdResponse.Date,
                IsClientResponse     = createdResponse.IsClientResponse,
                TicketNumberOfTicket = createdResponse.Ticket.TicketNumber
            };

            return(CreatedAtRoute("DefaultApi",
                                  new { Controller = "TicketResponse", id = responseData.Id },
                                  responseData));
        }
Esempio n. 4
0
        public void BuildTicketResponseFromTicketResponseDtoTest()
        {
            var json   = FileHelper.ReadFile(DirPath, @"ticket-response2.json");
            var dto    = TicketResponseDTO.FromJson(json);
            var ticket = new TicketResponseMapper(null).Map(dto, SR.S1000, null, dto.ToJson());

            TicketCompareHelper.Compare(ticket, dto);
        }
Esempio n. 5
0
        public void BuildTicketResponseFromTicketResponseJson_ReceivedFromCustomerTest()
        {
            var json   = FileHelper.ReadFile(DirPath, @"ticket-response-customer.json");
            var dto    = TicketResponseDTO.FromJson(json);
            var ticket = new TicketResponseMapper(null).Map(dto, SR.S1000, null, dto.ToJson());

            TicketCompareHelper.Compare(ticket, dto);
            Assert.IsNotNull(ticket.BetDetails);
            Assert.IsNotNull(dto.Result.BetDetails.First().SelectionDetails);
            Assert.IsNull(ticket.BetDetails.First().SelectionDetails);
        }
Esempio n. 6
0
        public void BuildTicketResponseDtoFromJson2Test()
        {
            var json = FileHelper.ReadFile(DirPath, @"ticket-response2.json");
            var dto  = TicketResponseDTO.FromJson(json);

            Assert.IsNotNull(dto);
            Assert.IsNotNull(dto.Result);
            Assert.AreEqual(Status.Rejected, dto.Result.Status);
            Assert.IsNotNull(dto.Result.Reason);
            Assert.AreEqual(-422, dto.Result.Reason.Code);
            Assert.AreEqual("2.0", dto.Version);
        }
Esempio n. 7
0
        public void BuildTicketResponseDtoFromJsonTest()
        {
            var json = FileHelper.ReadFile(DirPath, @"ticket-response.json");

            var dto = TicketResponseDTO.FromJson(json);

            Assert.IsNotNull(dto);
            Assert.IsNotNull(dto.Result);
            Assert.AreEqual(dto.Result.Status, Status.Accepted);
            Assert.IsNotNull(dto.Result.Reason);
            Assert.AreEqual(dto.Result.Reason.Code, 1024);
            Assert.AreEqual(dto.Version, "2.0");
        }
Esempio n. 8
0
        public static void Compare(ITicketResponse ticket, TicketResponseDTO 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.ExchangeRate, dto.ExchangeRate);
            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.IsNull(ticket.Reason.InternalMessage);

            if (ticket.BetDetails == null || !ticket.BetDetails.Any())
            {
                return;
            }

            for (var i = 0; i < ticket.BetDetails.Count(); i++)
            {
                var bd1 = ticket.BetDetails.ToList()[i];
                var bd2 = dto.Result.BetDetails.ToList()[i];
                Compare(bd1.Reason, bd2.Reason);
                Assert.AreEqual(bd1.BetId, bd2.BetId);
                if (bd1.AlternativeStake != null)
                {
                    Assert.AreEqual(bd1.AlternativeStake.Stake, bd2.AlternativeStake.Stake);
                }
                if (bd1.Reoffer != null)
                {
                    Assert.AreEqual(bd1.Reoffer.Stake, bd2.Reoffer.Stake);
                    Assert.AreEqual(bd1.Reoffer.Type, MtsTicketHelper.Convert(bd2.Reoffer.Type));
                }
                if (bd2.SelectionDetails != null && bd2.SelectionDetails.Any())
                {
                    for (var j = 0; j < bd2.SelectionDetails.Count(); j++)
                    {
                        Compare(bd1.SelectionDetails.ToList()[i].Reason, bd2.SelectionDetails.ToList()[i].Reason);
                        Assert.AreEqual(bd1.SelectionDetails.ToList()[i].SelectionIndex, bd2.SelectionDetails.ToList()[i].SelectionIndex);
                        if (bd2.SelectionDetails.ToList()[i].RejectionInfo != null)
                        {
                            Compare(bd1.SelectionDetails.ToList()[i].RejectionInfo, bd2.SelectionDetails.ToList()[i].RejectionInfo);
                        }
                    }
                }
            }
            Assert.IsFalse(string.IsNullOrEmpty(ticket.CorrelationId));
        }
Esempio n. 9
0
        public void BuildTicketResponseDtoFromJson4_MissingSelectionDetailsTest()
        {
            var json = FileHelper.ReadFile(DirPath, @"ticket-response4.json");
            var dto  = TicketResponseDTO.FromJson(json);

            Assert.IsNotNull(dto);
            Assert.IsNotNull(dto.Result);
            Assert.AreEqual(Status.Rejected, dto.Result.Status);
            Assert.IsNotNull(dto.Result.Reason);
            Assert.AreEqual(-321, dto.Result.Reason.Code);
            Assert.AreEqual("2.0", dto.Version);
            Assert.IsNotNull(dto.Result.BetDetails);
            Assert.IsNotNull(dto.Result.BetDetails.First().SelectionDetails);
            Assert.IsTrue(!dto.Result.BetDetails.First().SelectionDetails.Any());
        }
Esempio n. 10
0
        public ITicketResponse Map(TicketResponseDTO source, string correlationId, IDictionary <string, string> additionalInfo, string orgJson)
        {
            var autoAcceptedOdds = source.AutoAcceptedOdds?.Select(s => new AutoAcceptedOdds(s.SelectionIndex, s.RequestedOdds, s.UsedOdds));

            return(new TicketResponse(_ticketAckSender,
                                      source.Result.TicketId,
                                      MtsTicketHelper.Convert(source.Result.Status),
                                      new ResponseReason(source.Result.Reason.Code, source.Result.Reason.Message),
                                      source.Result.BetDetails?.ToList().ConvertAll(b => new BetDetail(b)),
                                      correlationId,
                                      source.Signature,
                                      source.ExchangeRate,
                                      source.Version,
                                      additionalInfo,
                                      autoAcceptedOdds,
                                      orgJson));
        }
Esempio n. 11
0
        public IActionResult Post(NewTicketResponseDTO response)
        {
            var createdResponse =
                mgr.AddTicketResponse(response.TicketNumber, response.ResponseText, response.IsClientResponse);


            //// Circulaire referentie!! (TicketResponse <-> Ticket) -> can't be serialized!!
            //return CreatedAtRoute("DefaultApi",
            //                      new { Controller = "TicketResponse", id = createdResponse.Id },
            //                      createdResponse);

            // Gebruik DTO (Data Transfer Object)
            var responseData = new TicketResponseDTO {
                Id                   = createdResponse.Id,
                Text                 = createdResponse.Text,
                Date                 = createdResponse.Date,
                IsClientResponse     = createdResponse.IsClientResponse,
                TicketNumberOfTicket = createdResponse.Ticket.TicketNumber
            };

            return(CreatedAtRoute("DefaultApi",
                                  new { Controller = "TicketResponse", id = responseData.Id },
                                  responseData));
        }
Esempio n. 12
0
 internal static string GetInfo(this TicketResponseDTO r)
 {
     return(String.Format("{0:dd/MM/yyyy} {1}{2}", r.Date, r.Text, r.IsClientResponse ? " (client)" : ""));
 }