public decimal CalculateBookingPrice(Booking booking) { var room = _roomRepo.GetRoom(booking.RoomId); var numberOfNights = (booking.CheckOutDate - booking.CheckInDate).Days; var price = room.Rate * numberOfNights; if (booking.CouponCode != null) { var discount = _couponRepo.GetCoupon(booking.CouponCode).PercentageDiscount; price = price - (price * discount / 100); } return(price); }
public decimal CalculateBookingPrice(Booking booking) { var room = _roomsRepository.GetRoom(booking.RoomId); var numberOfNights = (booking.CheckOutDate - booking.CheckInDate).Days; var price = room.Rate * numberOfNights; if (string.IsNullOrEmpty(booking.CouponCode)) { return(price); } var discount = _couponRepository.GetCoupon(booking.CouponCode).PercentageDiscount; price = price - (price * discount / 100); return(price); }
public async Task <object> Checkout(CheckoutHeaderDto checkoutHeader) { try { CartDto cartDto = await _cartRepository.GetCartByUserId(checkoutHeader.UserId); if (cartDto == null) { return(BadRequest()); } if (!string.IsNullOrEmpty(checkoutHeader.CouponCode)) { CouponDto coupon = await _couponRepository.GetCoupon(checkoutHeader.CouponCode); if (checkoutHeader.DiscountTotal != coupon.DiscountAmount) { _response.IsSuccess = false; _response.ErrorMessages = new List <string>() { "Coupon Price has changed, please confirm" }; _response.DisplayMessage = "Coupon Price has changed, please confirm"; return(_response); } } checkoutHeader.CartDetails = cartDto.CartDetails; //logic to add message to process order. await _messageBus.PublishMessage(checkoutHeader, "checkoutqueue"); ////rabbitMQ //_rabbitMQCartMessageSender.SendMessage(checkoutHeader, "checkoutqueue"); await _cartRepository.ClearCart(checkoutHeader.UserId); } catch (Exception ex) { _response.IsSuccess = false; _response.ErrorMessages = new List <string>() { ex.ToString() }; } return(_response); }
public PhieuNhapXuat getCoupon(String key) { return(_couponrepository.GetCoupon(key)); }
public Coupon GetCoupon(System.Int32 CouponId) { return(_iCouponRepository.GetCoupon(CouponId)); }
public Coupon GetCoupon(string coupon) { return(_couponRepository.GetCoupon(coupon)); }