예제 #1
0
        [ProducesResponseType(StatusCodes.Status418ImATeapot)] // ;) should be 500
        public async Task <IActionResult> PostAsync(BookingRequestWebModel bookingRequest)
        {
            if (ValidateRequest(bookingRequest, out string mess))
            {
                return(BadRequest($"{nameof(bookingRequest)} {mess}"));
            }
            try
            {
                await _bookingProducer.SendRequest(bookingRequest.Map());

                return(Accepted());
            }
            catch (ArgumentNullException aex)
            {
                return(StatusCode(500)); // allways - 500
            }
            catch (ArgumentException ae)
            {
                return(BadRequest(ae.Message));
            }
        }
예제 #2
0
        [ProducesResponseType(StatusCodes.Status418ImATeapot)] // ;) should be 500
        public async Task <IActionResult> Post(BookingRequestWebModel bookingRequest)
        {
            if (ValidateRequest(bookingRequest, out string mess))
            {
                return(BadRequest($"{nameof(bookingRequest)} {mess}"));
            }
            try
            {
                var serviceResponse = await _bookingService.PostNewBooking(bookingRequest.Map());

                return(Ok(serviceResponse));
            }
            catch (ArgumentNullException aex)
            {
                // better error handle!
                return(StatusCode(418)); // allways - 500
            }
            catch (ArgumentException ae)
            {
                return(BadRequest(ae.Message));
            }
        }