public CancellationResponse CancelBooking(CancellationRequest request) { var response = new CancellationResponse(); try { using (var context = new SpartanHotelsEntities()) { var userReservations = context.Reservations.Where( rs => (rs.ConfirmationNum.ToString() == request.ConfirmationNumber && rs.BookStatusID == (int)BookingStatus.Confirmed)); if (userReservations.Any()) { foreach (var reservation in userReservations) { reservation.BookStatusID = (int)BookingStatus.Cancelled; } context.SaveChanges(); } else { //return.. invalid input, confirmation doesnt exists } } } catch (Exception) { throw; } return(response); }
public void CanDeSerialize_Cancel_WithNoErrors() { var dto = JsonSerializer.Deserialize <CancelResponseDto>(PaymentOrderCancelResponse, JsonSerialization.JsonSerialization.Settings); var sut = new CancellationResponse(dto.Payment, dto.Cancellation.Map()); Assert.NotNull(sut); Assert.NotNull(sut.Cancellation); Assert.NotNull(sut.Cancellation.Transaction); Assert.NotNull(sut.Payment); }
public void Test1() { var response1 = new CancellationResponse { Header = new Hnhbk(1, 0), Feedback = ResponseFeedbackTests.CreateExample(), Footer = new Hnhbs(1, 0) }; var serialized1 = response1.Serialize(); var response2 = FinTsParser.Parse <CancellationResponse>(serialized1); var serialized2 = response2.Serialize(); Assert.Equal(serialized1, serialized2); }
public CancellationResponse Cancellation(int amount, string ean, string txref) { try { using (var client = new HttpClient()) { var url = $"{ConfigurationManager.AppSettings["EPayApi"]}"; var request = new SaleCancellation { Amount = amount, TXREF = txref, Card = new Card { EAN = ean } }; var xml = request.ToString(); using (var stringContent = new StringContent(xml, Encoding.UTF8, "application/xml")) { var resp = client.PostAsync(url, stringContent).Result; resp.EnsureSuccessStatusCode(); var resultXML = resp.Content.ReadAsStringAsync().Result; var response = CancellationResponse.LoadFromXML(resultXML); if (response.Result != "0") { throw new Exception($"ERRO AO CHAMAR DE VENDAS EPAY - " + response.ResultText); } return(response); } } } catch (Exception ex) { throw new Exception($"ERRO AO CHAMAR DE CANCELAMENTO DE VENDAS EPAY", ex); } }