public ActionResult Create(HotelRequest model) { if (!ModelState.IsValid) { PrepareHotelList(null, 0, null, 0, 1, true); return(View(model)); } generateService.AddHotel( new HotelDto { CreateorId = UserInfo.Id, CreateorIp = webHelper.GetCurrentIpAddress(), IsChain = model.IsChain ? 1 : 0, IsDeleted = 0, IsTop = model.ParentId == 0 ? 1 : 0, ParentId = model.ParentId, Registertime = DateTime.Now, HotelName = model.HotelName, Expiretime = model.Expiretime, Updatetime = DateTime.Now, Createtime = DateTime.Now }); return(Redirect("/sys/OperationResult?returnurl=/hotel/Index")); }
public async Task <IActionResult> SearchHotels(HotelRequest request) { var query = new SearchHotelsQuery(request.HotelSearch); var result = await _mediatr.Send(query, new CancellationToken()); return(result != null ? (IActionResult)Ok(result) : NotFound(new { Message = $"No hotels were found." })); }
public async Task <Hotel> GetHotel(int id) { var request = new HotelRequest(Guid.NewGuid(), id); //ожидаем список тк у разных провайдеров может быть отели с одинаковым ид //(тк ид типа int, решит проблему использование Guid, но будет не удобно генерировать данные) //пока просто возьмем первый из списка //но нужно дополнительный параметр в виде провайдера или ид типа Guid List <Hotel> hotels = await DoRequest <List <Hotel> >(request); return(hotels.FirstOrDefault()); }
public HotelOffers Post([FromBody] HotelRequest request) { //Sample partial Hotel Data HotelOffers hOffers = new HotelOffers(); hOffers.Offers = new List <Hotel>(); //-------------------------Hoteloffer1--------------------------- var offer1 = new Hotel { name = "Sofitel Washington", imagePath = "assets/hotel_sofitel.jpg", distance = "2 miles", price = "$200" }; hOffers.Offers.Add(offer1); //--------------------------------------------------------------- //-------------------------Hoteloffer2--------------------------- var offer2 = new Hotel { name = "Hilton Hotel", imagePath = "", distance = "5 miles", price = "$220" }; hOffers.Offers.Add(offer2); //--------------------------------------------------------------- //-------------------------Hoteloffer3--------------------------- var offer3 = new Hotel { name = "Mandarin Oriental", imagePath = "", distance = "3 miles", price = "$240" }; hOffers.Offers.Add(offer3); //--------------------------------------------------------------- //-------------------------Hoteloffer4--------------------------- var offer4 = new Hotel { name = "Willard InterContinental", imagePath = "", distance = "5 miles", price = "$300" }; hOffers.Offers.Add(offer4); //--------------------------------------------------------------- return(hOffers); }
public async Task <Hotel> GetHotelAsync(HotelRequest hotelRequest, CancellationToken cancellationToken) { var key = $"hotel_{hotelRequest.Id}"; return(await _memoryCache.GetOrCreateAsync(key, entry => { var hotel = Enumerable.Empty <Hotel>() .Union(_tourRepository.Tours.Select(x => x.Hotel)) .Union(_otherTourRepository.Tours.Select(x => x.Hotel)) .FirstOrDefault(x => x.Id == hotelRequest.Id); entry.AbsoluteExpiration = DateTimeOffset.Now + TimeSpan.FromSeconds(CACHE_SECONDS); return Task.FromResult(hotel); })); }
private async Task ReceiveHotelRequest(HotelRequest request) { var hotel = await _dictionariesRepository.GetHotel(request.HotelId); _messageBusClient.SendMessage(new HotelResponse(request.RequestId, nameof(OtherSearchService)) { Data = new List <Hotel> { new Hotel { Id = hotel.Id, Name = hotel.Name, CityName = hotel.City.Name, Address = hotel.Address, BuildingYear = hotel.BuildingYear } } }); }
public async Task WhenSearchAirlinesAndResultsReturned() { // Arrange var hotelRequest = new HotelRequest { HotelSearch = "Gavi" }; // Act var response = await _httpClient.PostAsync("api/hotel", new StringContent(JsonConvert.SerializeObject(hotelRequest), Encoding.UTF8, MediaTypeNames.Application.Json)); var hotels = JsonConvert.DeserializeObject <List <HotelResponse> >(await response.Content.ReadAsStringAsync()); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); hotels.Should().HaveCountGreaterThan(1); }