Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 8
0
 public IActionResult CancelBooking(CancelBookingRequest request)
 {
     try
     {
         _bookingService.CancelBooking(request);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex));
     }
 }
Ejemplo n.º 9
0
        public async Task <CancelBookingResponse> CancelBooking(CancelBookingRequest request)
        {
            var response = await _bittnRepository.DeleteBooking(new DeleteBookingRequest
            {
                Id = request.BookingId
            });

            return(new CancelBookingResponse
            {
                Deleted = response.Deleted
            });
        }
Ejemplo n.º 10
0
        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();
        }
Ejemplo n.º 12
0
        public IActionResult CancelBooking(CancelBookingRequest request)
        {
            try
            {
                _bookingService.CancelPatientBooking(request.BookingIdentifier);
                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }

            return(StatusCode(200));
        }
Ejemplo n.º 13
0
        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");
            }
        }
Ejemplo n.º 15
0
 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));
     }
 }
Ejemplo n.º 16
0
 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;
 }
Ejemplo n.º 17
0
 public CancelBookingResponse CancelBooking(CancelBookingRequest request)
 {
     return(new CancelBookingResponse(cancel_booking_response.cancelled));
 }