public ActionResult BookHaircut( [FromQuery] string customerId, [FromQuery] string barberId, [FromQuery] string date, [FromQuery] string time, [FromQuery] List <int> serviceIds) { DateTimeOffset dateTime = DateTimeUtil.GetTimeFrom(date, time); //Get services of barber List <BarberServices> services = _barberService.GetServicesByBarber(barberId) .Where(s => serviceIds.Contains(s.Id)).ToList(); var booking = _bookingService.BookSlot(customerId, barberId, dateTime, services, out var rs); if (rs) { //Make deposit transaction _paymentService.MakeDeposit( customerId, barberId, PaymentConstants.PaymentAmount.BookingDepositAmount, booking.Id); return(new JsonResult("Booked successfully") { StatusCode = StatusCodes.Status200OK }); } return(new JsonResult("Fail to book") { StatusCode = StatusCodes.Status404NotFound }); }
public ActionResult MakeDeposit(string senderId, string receiverId, decimal amount, int bookingId) { bool result = _paymentMethodService.MakeDeposit(senderId, receiverId, amount, bookingId); if (!result) { return(new JsonResult(PaymentDescription.NotEnoughMoney_VN) { StatusCode = StatusCodes.Status409Conflict }); } return(new JsonResult(null) { StatusCode = StatusCodes.Status200OK }); }