Пример #1
0
        public async Task <IActionResult> GetIndividualHotels()
        {
            BaseResult <List <HotelView> > hotelResult = await iHotel.GetHotels().ConfigureAwait(false);

            if (hotelResult.IsError && hotelResult.ExceptionMessage != null)
            {
                return(StatusCode(500, hotelResult));
            }
            else if (hotelResult.Result == null || hotelResult.Result.Count == 0)
            {
                return(NoContent()); //204
            }
            else
            {
                var result = HotelManagementResponseMapper.MapHotelsWithoutBrands(hotelResult);
                return(Ok(result)); //200
            }
        }
Пример #2
0
        public async Task <IActionResult> GetContractHotelDetailsByContractId([FromBody] int contractId)
        {
            BaseResult <ContractHotelDetailsViewModel> contractHotelDetailsResult = new BaseResult <ContractHotelDetailsViewModel>();
            ContractHotelDetailsViewModel result = new ContractHotelDetailsViewModel();

            if (contractId <= default(int))
            {
                contractHotelDetailsResult.IsError = true;
                contractHotelDetailsResult.Message = string.Format(coreHelper.Constants.ErrorMessage.InvalidId, contractId);
                return(BadRequest(contractHotelDetailsResult));
            }
            var contractHotelDetails = await this.contracts.GetContractHotelDetailsByContractId(contractId, base.LanguageId).ConfigureAwait(false);

            if (contractHotelDetails.IsError && contractHotelDetails.ExceptionMessage != null)
            {
                return(new StatusCodeResult(500));
            }
            else if (contractHotelDetails.Result == null || !contractHotelDetails.Result.Any())
            {
                return(new NoContentResult());
            }
            result.ContractHotelDetailsModel = HotelManagementResponseMapper.MapHotelDetailsToHotelDetailsViewModel(contractHotelDetails);

            var contractHotelFields = await this.contracts.GetHotelFieldsForContract(contractId, base.LanguageId).ConfigureAwait(false);

            if (contractHotelFields.IsError && contractHotelFields.ExceptionMessage != null)
            {
                return(new StatusCodeResult(500));
            }
            else if (contractHotelFields.Result == null || !contractHotelFields.Result.Any())
            {
                return(new NoContentResult());
            }
            result.ContractHotelFieldsList.AddRange(ContractsResponseMapper.MapContractHotelFields(contractHotelFields.Result).Result);
            contractHotelDetailsResult.Result = result;
            return(Ok(contractHotelDetailsResult));
        }
Пример #3
0
        /// <summary>
        /// Get hotel by hotel id
        /// </summary>
        /// <param name="id"></param>
        /// <returns>A Task representing the asynchronous operation.</returns>
        public async Task <IActionResult> GetHotel(int id)
        {
            if (id <= 0)
            {
                return(BadRequest());
            }

            BaseResult <List <HotelView> > hotelResult = await iHotel.GetHotel(id).ConfigureAwait(false);

            if (hotelResult.Result == null || !hotelResult.Result.Any())
            {
                if (hotelResult.IsError && hotelResult.ExceptionMessage != null)
                {
                    return(new StatusCodeResult(500));
                }
                else if (hotelResult.Result == null || !hotelResult.Result.Any())
                {
                    return(NoContent()); //204
                }
            }
            HotelDetailsViewModel hotels = HotelManagementResponseMapper.MapHotelDetailsToHotelDetailsViewModel(hotelResult);

            return(Ok(hotels));
        }