public async Task <HotelResponse> SaveAsync(Hotel hotel) { var existingPlace = await _PlaceRepository.FindByIdAsync(hotel.PlaceId); if (existingPlace == null) { return(new HotelResponse($"Place with id {hotel.PlaceId} not found.")); } hotel.Place = existingPlace; try { await _HotelRepository.AddAsync(hotel); await _UnitOfWork.CompleteAsync(); return(new HotelResponse(hotel)); } catch (Exception ex) { // Do some logging stuff return(new HotelResponse($"An error occurred when saving the hotel: {ex.Message}")); } }
public async Task <HotelResponse> SaveAsync(Hotel hotel) { hotel.Enabled ??= true; var cityExists = await _hotelRepository.CityExists(hotel.CityID); if (!cityExists) { return(new HotelResponse($"City ID:{ hotel.CityID } does not exist")); } try { await _hotelRepository.AddAsync(hotel); await _unitOfWork.CompleteAsync(); return(new HotelResponse(hotel)); } catch (Exception e) { //TODO - Log the exception return(new HotelResponse("An error ocurred while saving the Hotel: " + $"{ e.Message } { e.InnerException?.Message }")); } }
public async Task <IActionResult> HotelCreate(HotelViewModel viewModel) { if (ModelState.IsValid) { var userId = _userRepository.FindByNameAsync(HttpContext.User.Identity.Name).Id; var dto = new HotelDTO { UserId = userId, Name = viewModel.Name, Description = viewModel.Description, Address = viewModel.Address, CountryId = viewModel.CountryId, IsAppartment = viewModel.IsAppartment, Stars = viewModel.Stars }; await _hotelRepository.AddAsync(dto); return(RedirectToAction("Index")); } else { var countries = await _countryRepository.GetAllAsync(); viewModel.Countries = countries; return(View(viewModel)); } }