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)); }
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)); }
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)); }
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); }
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); }
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); }
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"); }
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)); }
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()); }
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)); }
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)); }
internal static string GetInfo(this TicketResponseDTO r) { return(String.Format("{0:dd/MM/yyyy} {1}{2}", r.Date, r.Text, r.IsClientResponse ? " (client)" : "")); }