Exemple #1
0
        public async Task GetAvailableSeats()
        {
            var options = new SeatsOptions()
            {
                RunId = 1
            };
            var result = await InvokeApi <SeatsResult>(BuildUrl(ApiMethod), "POST", Serialize(options));

            Assert.IsNotNull(result.Run);
        }
Exemple #2
0
        public async Task <Result <SeatsResult> > Handle(SeatsOptions options)
        {
            try
            {
                var run = await _seatsService.GetTrainSeats(options.RunId);

                var result = new SeatsResult {
                    Run = _mapper.Map <RunDto>(run)
                };
                return(Result.Ok(result));
            }
            catch (Exception ex)
            {
                return(Result.Fail <SeatsResult>(HttpStatusCode.InternalServerError,
                                                 $"Something went wrong. Please repeat the operation. {ex.Message}"));
            }
        }
Exemple #3
0
        public async Task <IActionResult> GetAvailableSeats([FromBody] SeatsOptions seatsOptions)
        {
            if (seatsOptions == null)
            {
                return(ErrorResult(HttpStatusCode.BadRequest, "Options can not be null."));
            }

            if (seatsOptions.RunId == 0)
            {
                return(ErrorResult(HttpStatusCode.BadRequest, "Request parameters missing or have incorrect format"));
            }

            var handler = new SeatsHandler(_seatsService, _mapper);
            var result  = await handler.Handle(seatsOptions);

            if (result.IsFailure)
            {
                return(FromResult(result));
            }

            return(Ok(result.Value));
        }