Пример #1
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
            }
        }