public void CancelBooking(CancelBookingRequest request) { var validationResult = _cancelBookingRequestValidation.ValidateRequest(request); if (!validationResult.PassedValidation) { if (validationResult.Errors.Contains($"Booking with id {request.BookingId} does not exist.")) { throw new ObjectNotFoundException($"Booking with id {request.BookingId} does not exist."); } throw new ArgumentException(validationResult.Errors.First()); } var booking = _context.Order.FirstOrDefault(x => x.Id == request.BookingId && !x.Cancelled); if (booking != null) { booking.Cancelled = true; _context.Order.Update(booking); _context.SaveChanges(); } }
private bool IncorrectData(CancelBookingRequest request, ref PdrValidationResult result) { var errors = new List <string>(); var booking = _context.Order .Where(x => x.Id == request.BookingId) .SingleOrDefault(); if (booking == null) { errors.Add($"Booking with id {request.BookingId} does not exist."); } else { if (booking.PatientId != request.PatientId) { errors.Add($"Booking with id: {request.BookingId} is not attached to Patient " + $"with id {request.PatientId}."); } if (booking.Cancelled) { errors.Add($"Booking with id: {request.BookingId} already cancelled."); } } if (errors.Any()) { result.PassedValidation = false; result.Errors.AddRange(errors); return(true); } return(false); }
public CancelBookingResponse CancelBooking(string bookingPK, CancelBookingRequest request) { JsonServiceClient client = new JsonServiceClient(PASSENGER_API_ROOT_URL); CancelBookingResponse response = client.Post <CancelBookingResponse>("bookings/" + bookingPK + "/cancel?access_token=" + PASSENGER_ACCESS_TOKEN, request); return(response); }
public async Task <CancelBookingResponse> CancelBooking(string userId, int id) { var request = new CancelBookingRequest { UserId = userId, BookingId = id, }; return(await PostAsync <CancelBookingRequest, CancelBookingResponse>($"{BaseUrl}cancelbooking", request)); }
public void CancelBooking(CancelBookingRequest request) { var order = _context.Order .First(p => p.Id == request.Id); order.IsCancelled = true; _context.Update(order); _context.SaveChanges(); }
public PdrValidationResult ValidateRequest(CancelBookingRequest request) { var result = new PdrValidationResult(true); if (IncorrectData(request, ref result)) { return(result); } return(result); }
private bool IncorrectBooking(CancelBookingRequest request, ref PdrValidationResult result) { if (!_context.Order.Any(x => x.Id == request.BookingId && x.Status == OrderStatus.Unserved)) { result.PassedValidation = false; result.Errors.Add("Selected booking can not be canceled."); return(true); } return(false); }
public IActionResult CancelBooking(CancelBookingRequest request) { try { _bookingService.CancelBooking(request); return(Ok()); } catch (Exception ex) { return(StatusCode(500, ex)); } }
public async Task <CancelBookingResponse> CancelBooking(CancelBookingRequest request) { var response = await _bittnRepository.DeleteBooking(new DeleteBookingRequest { Id = request.BookingId }); return(new CancelBookingResponse { Deleted = response.Deleted }); }
public CancelBookingResponse CancelBooking(CancelBookingRequest request) { PublicServiceDAO publicDAO = new PublicServiceDAO(); if (publicDAO.CancleBooking(request.booking_id)) { return(new CancelBookingResponse(cancel_booking_response.cancelled)); } else { return(new CancelBookingResponse(cancel_booking_response.failed)); } }
public void CancelBooking(CancelBookingRequest request) { var validationResult = _cancelbookingvalidator.ValidateRequest(request); if (!validationResult.PassedValidation) { throw new ArgumentException(validationResult.Errors.First()); } var booking = _context.Order.Find(request.BookingId); booking.Status = OrderStatus.Canceled; _context.SaveChanges(); }
public IActionResult CancelBooking(CancelBookingRequest request) { try { _bookingService.CancelPatientBooking(request.BookingIdentifier); return(Ok()); } catch (Exception ex) { return(StatusCode(500, ex)); } return(StatusCode(200)); }
public async void CancelBooking_Should_Call_IBittnService_CancelBooking() { var service = Substitute.For <IBittnService>(); CancelBookingRequest arg = null; service.CancelBooking(Arg.Do <CancelBookingRequest>(a => arg = a)).Returns(new CancelBookingResponse()); var id = 1; await _controller.CancelBooking(id, service); await service.Received(1).CancelBooking(Arg.Any <CancelBookingRequest>()); arg.BookingId.Should().Be(id); }
/// <summary> /// cancel booking /// </summary> /// <param name="bookingModel"></param> /// <returns></returns> public async Task <CancelBookingResponse> CancelMerchantBooking(CancelBookingRequest cancelBookingModel, ViatorSetting setting = null) { var uri = $"/service/merchant/cancellation"; var response = await _httpClient.PostAsync <CancelBookingRequest>(GenerateBaseURL(uri, setting), cancelBookingModel); if (response.IsSuccessStatusCode) { var content = response.Content.ReadAsStringAsync().Result; var result = CancelBookingResponse.FromJson(content); return(result); } else { throw new Exception("Viator API - Booking Status: Api error response"); } }
public IActionResult CancelBooking(CancelBookingRequest request) { try { _bookingService.CancelBooking(request); return(Ok()); } catch (ObjectNotFoundException ex) { return(NotFound(ex.Message)); } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(StatusCode(500, ex)); } }
public CancelBookingResponse CancelBooking(string bookingPK, CancelBookingRequest request) { JsonServiceClient client = new JsonServiceClient(PASSENGER_API_ROOT_URL); CancelBookingResponse response = client.Post<CancelBookingResponse>("bookings/" + bookingPK + "/cancel?access_token=" + PASSENGER_ACCESS_TOKEN, request); return response; }
public CancelBookingResponse CancelBooking(CancelBookingRequest request) { return(new CancelBookingResponse(cancel_booking_response.cancelled)); }