public async Task CancelBooking_TicketBookedshouldbecancelled() { //Arrange string userid = "222", userName = "******"; string BookingID = "354436"; BookingCancel objBookingCancel = new BookingCancel(); objBookingCancel.BookingID = BookingID; objBookingCancel.UserID = userid; objBookingCancel.UserName = userName; _eventRepoMock.Setup(x => x.CancelBookingDB(objBookingCancel)).ReturnsAsync("Booking Cancelled"); BookingCancelResponse objBookingCancelResponse = new BookingCancelResponse(); objBookingCancelResponse.ResponseMessage = "Booking Cancelled"; objBookingCancelResponse.UserID = userid; objBookingCancelResponse.UserName = userName; objBookingCancelResponse.BookingID = BookingID; //Act var customer = await _EventBookingService.CancelBooking(objBookingCancel); //Assert Assert.Equal(objBookingCancelResponse.ResponseMessage, customer.ResponseMessage); Assert.Equal(objBookingCancelResponse.UserID, customer.UserID); Assert.Equal(objBookingCancelResponse.UserName, customer.UserName); Assert.Equal(objBookingCancelResponse.BookingID, customer.BookingID); }
public async Task CancelBooking_TicketBookedshouldbecancelled() { //Arrange string userid = "222", userName = "******"; string BookingID = "354436"; BookingCancel objBookingCancel = new BookingCancel(); objBookingCancel.BookingID = BookingID; objBookingCancel.UserID = userid; objBookingCancel.UserName = userName; BookingCancelResponse objBookingCancelResponse = new BookingCancelResponse(); objBookingCancelResponse.ResponseMessage = "Booking Cancelled"; objBookingCancelResponse.UserID = userid; objBookingCancelResponse.UserName = userName; objBookingCancelResponse.BookingID = BookingID; _eventBookingService.Setup(x => x.CancelBooking(objBookingCancel)).ReturnsAsync(objBookingCancelResponse); //Act var customer = await _EventBookingController.CancelBooking(objBookingCancel); //Assert Assert.NotNull(customer); }
public async Task CancelBooking_TicketBookedshouldbecancelled() { //Arrange string userid = "222", userName = "******"; string BookingID = "354436"; BookingCancel objBookingCancel = new BookingCancel(); objBookingCancel.BookingID = BookingID; objBookingCancel.UserID = userid; objBookingCancel.UserName = userName; string queryString = ""; queryString = "sp_CustBookingCancel @userID,@userName,@BookingID,@MessageStatus OUT"; _eventDBMock.Setup(x => x.ExecuteAsyncSql(It.IsAny <SqlParameter[]>(), queryString, 3)).ReturnsAsync("Booking Cancelled"); BookingCancelResponse objBookingCancelResponse = new BookingCancelResponse(); objBookingCancelResponse.ResponseMessage = "Booking Cancelled"; objBookingCancelResponse.UserID = userid; objBookingCancelResponse.UserName = userName; objBookingCancelResponse.BookingID = BookingID; //Act var customer = await _eventBookingRepository.CancelBookingDB(objBookingCancel); //Assert Assert.Equal(objBookingCancelResponse.ResponseMessage, customer); }
public async Task <BookingCancelResponse> CancelBooking(BookingCancel ObjBookingCancel) { BookingCancelResponse objBookingCancelResponse = new BookingCancelResponse(); string ResponseMessage = await _eventBookingRepository.CancelBookingDB(ObjBookingCancel); objBookingCancelResponse.ResponseMessage = ResponseMessage; objBookingCancelResponse.UserID = ObjBookingCancel.UserID; objBookingCancelResponse.UserName = ObjBookingCancel.UserName; objBookingCancelResponse.BookingID = ObjBookingCancel.BookingID; return(objBookingCancelResponse); }
/// <summary> /// THis methos will be used after getting status sucess from roomxml /// </summary> /// <returns></returns> public ActionResult SaleRefund(string bookingID) { var hotelTransaction = this.hotelBookingService.GetHotelBookingTransactionByBookingID(bookingID, this.User.Identity.GetUserId()); // var BookingContent = this.hotelBookingService.GetHotelBookingContent(this.User.Identity.GetUserId(), hotelTransaction.re); //var hotelBookingResult = this.hotelBookingService.GetHotelBookingResultByUserId(this.User.Identity.GetUserId()); var paypalTransaction = this.hotelBookingService.GetPaypalBookingTransactionByUserId(this.User.Identity.GetUserId(), hotelTransaction.ResultId); BookingCancelResponse cancelObj = CancelHotelBooking(Convert.ToString(hotelTransaction.BookingID)); var cancellationDetails = this.hotelBookingService.GetCancellationDetailByBookingID(hotelTransaction.BookingID); var sortedReadings = cancellationDetails.OrderBy(x => x.CancelFromDate.TimeOfDay) .ThenBy(x => x.CancelFromDate.Date) .ThenBy(x => x.CancelFromDate.Year); double refundAmount = 0; string cancelAmount = ""; foreach (var item in sortedReadings) { if (item.CancelFromDate.Date > DateTime.UtcNow.Date) { cancelAmount = item.CancelAmount; break; } } refundAmount = Convert.ToDouble(hotelTransaction.Amount) - Convert.ToDouble(cancelAmount); string Amount = String.Format("{0:0.00}", refundAmount); if (cancelObj.BookingCancelResult.CommitLevel.ToLower() == "confirm") { var apiContext = Configuration.GetAPIContext(); var refund = new Refund() { amount = new PayPal.Api.Amount() { currency = "USD", total = Amount } }; var sale = new Sale() { id = paypalTransaction.SaleId }; var response = sale.Refund(apiContext, refund); if (response.state == "completed") { PaypalBookingTransaction PaypalBookingTransaction = new PaypalBookingTransaction(); PaypalBookingTransaction.BookingDate = paypalTransaction.BookingDate; PaypalBookingTransaction.UserId = this.User.Identity.GetUserId(); PaypalBookingTransaction.TransactionId = paypalTransaction.TransactionId; PaypalBookingTransaction.ResultId = paypalTransaction.ResultId; PaypalBookingTransaction.SaleId = response.sale_id; PaypalBookingTransaction.BookingAmount = paypalTransaction.BookingAmount; PaypalBookingTransaction.RefundAmount = response.amount.total; PaypalBookingTransaction.CancelId = response.id; PaypalBookingTransaction.Status = response.state; PaypalBookingTransaction.CancelDate = Convert.ToDateTime(response.create_time); PaypalBookingTransaction.Type = "C"; this.hotelBookingService.AddPaypalBookingTransaction(PaypalBookingTransaction); hotelTransaction.CancelBy = this.User.Identity.GetUserId(); this.hotelBookingService.UpdateHotelBookingTransaction(hotelTransaction); } } return(RedirectToAction("BookingDetails")); }