/// <summary> /// Updates a hotelroom in the database HotelRoom table, /// based on the hotelroom parameter. /// </summary> /// <param name="hotelroom">A unique hotelRoom object to update</param> /// <returns>An empty task object</returns> public async Task Update(HotelRoomDTO hotelRoomDto) { HotelRoom hotelRoom = ConvertDTOIntoEntity(hotelRoomDto); _context.Entry(hotelRoom).State = EntityState.Modified; await _context.SaveChangesAsync(); }
public async Task <HotelRoomDTO> UpdateHotelRoom(int roomId, HotelRoomDTO hotelRoomDto) { try { if (roomId == hotelRoomDto.Id) { // valid var roomDetails = await _db.HotelRooms.FindAsync(roomId); var room = _mapper.Map <HotelRoomDTO, HotelRoom>(hotelRoomDto, roomDetails); room.UpdatedBy = ""; room.UpdatedAt = DateTime.Now; var updatedRoom = _db.HotelRooms.Update(room); await _db.SaveChangesAsync(); return(_mapper.Map <HotelRoom, HotelRoomDTO>(updatedRoom.Entity)); } else { // invalid return(null); } } catch (Exception e) { return(null); } }
public HotelRoom ConvertFromDTO(HotelRoomDTO hotelRoomDTO) { HotelRoom hotelRoom = new HotelRoom() { HotelID = hotelRoomDTO.HotelId, RoomNumber = hotelRoomDTO.RoomNumber, RoomID = hotelRoomDTO.RoomId, PetFriendly = hotelRoomDTO.PetFriendly, Rate = hotelRoomDTO.Rate, Room = new Room() { ID = hotelRoomDTO.Room.Id, Name = hotelRoomDTO.Room.Name, Layout = (Layout)Enum.Parse(typeof(Layout), hotelRoomDTO.Room.Layout) //line below not implementable //RoomAmenities = await GetRoomAmenities(roomDTO.Id), //dont know what HotelRoom is looking for } //requires the ConvertFromDTO method applicable on the interface //Room = _rooms.ConvertFromDTO(hotelRoomDTO.Room), //following line require ConvertFromDTO method for hotels //also requires it on the interface //Hotel = await _hotels.GetHotelByID(hotelRoomDTO.HotelId) //once these lines are re-added, the method will need to be changed to async and return a Task<HotelRoom> //all references to this method will also need to be await calls }; return(hotelRoom); }
public async Task Delete(int hotelId, int roomNumber) { HotelRoomDTO room = await GetHotelRoom(hotelId, roomNumber); _context.Entry(room).State = Microsoft.EntityFrameworkCore.EntityState.Deleted; await _context.SaveChangesAsync(); }
public async Task <HotelRoomDTO> UpdateHotelRoom(int roomId, HotelRoomDTO hotelRoomDTO) { try { if (roomId == hotelRoomDTO.Id) { var roomDetails = await _db.HotelRooms.FindAsync(roomId); var room = _mapper.Map <HotelRoomDTO, HotelRoom>(hotelRoomDTO, roomDetails); room.UpdatedBy = ""; room.UpdatedDate = DateTime.Now; var updatedRoom = _db.HotelRooms.Update(room); await _db.SaveChangesAsync(); return(_mapper.Map <HotelRoom, HotelRoomDTO>(updatedRoom.Entity)); } else { return(null); } } catch { return(null); } }
/** * if unique returns null else returns the room object */ public async Task <HotelRoomDTO> IsRoomUnique(string name, int roomId = 0) { try { if (roomId == 0) { HotelRoom hotelRoom = await _db.HotelRooms.FirstOrDefaultAsync(x => x.Name.ToLower() == name.ToLower()); HotelRoomDTO hotelRoomDto = _mapper.Map <HotelRoom, HotelRoomDTO>(hotelRoom); return(hotelRoomDto); } else { // editing HotelRoom hotelRoom = await _db.HotelRooms.FirstOrDefaultAsync(x => x.Name.ToLower() == name.ToLower() && x.Id != roomId); HotelRoomDTO hotelRoomDto = _mapper.Map <HotelRoom, HotelRoomDTO>(hotelRoom); return(hotelRoomDto); } } catch (Exception e) { return(null); } }
public async Task <HotelRoomDTO> UpdateHotelRoom(int roomId, HotelRoomDTO hotelRoomDTO) { try { if (roomId == hotelRoomDTO.Id) { HotelRoom roomDetails = await _db.HotelRooms.FindAsync(roomId); //매개변수 안에 인자 하나만 넣으면 DTO에 있는 값들은 복사되고, 없는값들은 건들지도 안음. //destination 에 실존하는 object를 넣어주면 dto에 있는 값들은 고대로 복사되고, DTO에 없는 값들은 destination 에 넣어준 object의 값들을 쓰게됨 HotelRoom room = _mapper.Map <HotelRoomDTO, HotelRoom>(hotelRoomDTO, roomDetails); room.UpdatedBy = ""; room.UpdatedDate = DateTime.Now; var updatedRoom = _db.HotelRooms.Update(room); await _db.SaveChangesAsync(); return(_mapper.Map <HotelRoom, HotelRoomDTO>(updatedRoom.Entity)); } else { return(null); } } catch (Exception ex) { return(null); } }
public async Task <HotelRoomDTO> Update(HotelRoomDTO room) { _context.Entry(room).State = Microsoft.EntityFrameworkCore.EntityState.Modified; await _context.SaveChangesAsync(); return(room); }
public async Task <HotelRoomDTO> TranslateToDTO(HotelRoom hotelRoom) { List <AmenityDTO> amenityDTO = new List <AmenityDTO>(); foreach (var amenity in hotelRoom.Room.RoomAmenities) { amenityDTO.Add(await _amenity.GetAmenity(amenity.AmenitiesID)); } RoomDTO roomDTO = new RoomDTO() { ID = hotelRoom.Room.Id, Name = hotelRoom.Room.Name, Layout = hotelRoom.Room.Layout, Amenities = amenityDTO }; HotelRoomDTO hotelRoomDTO = new HotelRoomDTO() { HotelID = hotelRoom.HotelID, RoomNumber = hotelRoom.RoomNumber, PetFriendly = hotelRoom.PetFriendly, Rate = hotelRoom.Rate, RoomID = hotelRoom.RoomId, Room = roomDTO }; return(hotelRoomDTO); }
public async Task <HotelRoomDTO> GetHotelRoom(int hotelId, int roomNumber) { //look in the db on the room table where the id is //equal to the id that was brought in as an argument var hotelRoom = await _context.HotelRooms.Where(x => x.HotelId == hotelId && x.RoomNumber == roomNumber) .Include(x => x.Hotel) .Include(x => x.Room) .ThenInclude(x => x.RoomAmenities) .ThenInclude(x => x.Amenity) .FirstOrDefaultAsync(); List <RoomDTO> room = new List <RoomDTO>(); foreach (var item in room) { room.Add(new RoomDTO { Id = item.Id, Name = item.Name, Layout = item.Layout }); } HotelRoomDTO dto = new HotelRoomDTO() { HotelId = hotelId, RoomNumber = roomNumber, Rate = hotelRoom.Rate, PetFriendly = hotelRoom.PetFriendly, RoomId = hotelRoom.RoomId, Room = room, }; return(dto); }
public async Task <HotelRoomDTO> Create(HotelRoomDTO room, int hotelID) { _context.Entry(room).State = Microsoft.EntityFrameworkCore.EntityState.Added; await _context.SaveChangesAsync(); return(room); }
/// <summary> /// Deletes a HotelRoom from the HotelRoom table in the database, /// based on the hotelId and roomNumber parameters. /// </summary> /// <param name="hotelId">The unique hotelId to be deleted</param> /// <param name="roomNumber">The unique roomNumber to be deleted</param> /// <returns>The empty task object</returns> public async Task Delete(int hotelId, int roomNumber) { HotelRoomDTO hotelroomDto = await GetSingleHotelRoom(hotelId, roomNumber); HotelRoom hotelRoom = ConvertDTOIntoEntity(hotelroomDto); _context.Entry(hotelRoom).State = EntityState.Deleted; await _context.SaveChangesAsync(); }
/// <summary> /// delete a hotel /// </summary> /// <param name="hotelID">the specific hotel</param> /// <param name="roomNumber">the specifc room in that hotel</param> /// <returns></returns> public async Task Delete(int hotelID, int roomNumber) { HotelRoomDTO hotelRoomdto = await GetHotelRoom(hotelID, roomNumber); HotelRoom hotelRoom = await _context.HotelRooms.FirstOrDefaultAsync(x => x.HotelsID == hotelRoomdto.HotelID && x.RoomNumber == hotelRoomdto.RoomNumber); _context.Entry(hotelRoom).State = Microsoft.EntityFrameworkCore.EntityState.Deleted; await _context.SaveChangesAsync(); }
/// <summary> /// Updates the HotelRoom in the database /// </summary> /// <param name="hotelRoom">The modified HotelRoom that is to replace the current HotelRoom</param> /// <returns>No Return</returns> public async Task <HotelRoomDTO> Update(HotelRoomDTO hotelRoomDTO) { HotelRoom hotelRoom = TranslateFromDTO(hotelRoomDTO); _context.Entry(hotelRoom).State = EntityState.Modified; await _context.SaveChangesAsync(); return(hotelRoomDTO); }
public async Task <ActionResult <HotelRoomDTO> > AddRoomToHotel(int hotelId, HotelRoomDTO hotelRoomDTO) { if (hotelId != hotelRoomDTO.HotelId) { return(BadRequest()); } await _hotelRooms.Create(hotelRoomDTO, hotelId); return(Ok()); }
/// <summary> /// Creates a hotel room /// </summary> /// <param name="hotelRoom"> hotelroom object</param> /// <param name="hotelId">hotel identifier</param> /// <returns> Task completion </returns> public async Task <HotelRoomDTO> Create(HotelRoomDTO hotelRoom, int hotelId) { hotelRoom.HotelId = hotelId; // adds to the database _context.Entry(hotelRoom).State = Microsoft.EntityFrameworkCore.EntityState.Added; // saves it on the db and the associated with an id await _context.SaveChangesAsync(); return(hotelRoom); }
public async Task <IActionResult> PutHotelRoom(int hotelId, int roomNumber, HotelRoomDTO hotelRoom) { if (hotelId != hotelRoom.HotelID || roomNumber != hotelRoom.RoomNumber) { return(BadRequest()); } await _hotelRoom.Update(hotelId, roomNumber, hotelRoom); return(Ok()); }
public async Task <IActionResult> PutHotelRoom(HotelRoomDTO hotelRoomDTO, int hotelId, int roomNumber) { if (hotelId != hotelRoomDTO.HotelId || roomNumber != hotelRoomDTO.RoomNumber) { return(BadRequest()); } var updatedHotelRoom = await _hotelRoom.Update(hotelRoomDTO); return(Ok(updatedHotelRoom)); }
public IActionResult GetHotelRoom(int id) { HotelRoomDTO room = roomsAdminService.FindRoom(id); if (room is null) { return(NotFound()); } return(Ok(mapper.Map <HotelRoomModel>(room))); }
/// <summary> /// Creates a new HotelRoom in the HotelRoom database table, /// based on the hotelRoom and a hotelId parameters. /// </summary> /// <param name="hotelRoom">The unique hotelRoom object to be created</param> /// <param name="hotelId">The unique hotelId used to create the hotelRoom</param> /// <returns>The hotelRoom object that was created</returns> public async Task <HotelRoomDTO> Create(HotelRoomDTO hotelroomDto, int hotelId) { HotelRoom hotelRoom = ConvertDTOIntoEntity(hotelroomDto); hotelRoom.HotelId = hotelId; _context.Entry(hotelRoom).State = EntityState.Added; await _context.SaveChangesAsync(); return(hotelroomDto); }
public async Task <IActionResult> PutHotelRoom(int hotelId, int roomNumber, HotelRoomDTO hotelRoomdto) { if (hotelId != hotelRoomdto.HotelId || roomNumber != hotelRoomdto.RoomNumber) { return(BadRequest()); } //update await _hotelRoom.Update(hotelRoomdto); return(NoContent()); }
public void EditRoom(HotelRoomDTO room) { if (room is null) { throw new ArgumentNullException("room"); } HotelRoom editRoom = Mapper.Map <HotelRoom>(room); UnitOfWork.HotelRooms.Update(editRoom); UnitOfWork.Save(); }
public async Task <IActionResult> PutHotelRoom(int HotelID, int roomNumber, HotelRoomDTO incomingData) { if (HotelID != incomingData.HotelID || roomNumber != incomingData.RoomNumber) { return(BadRequest()); } var updatedHotelRoom = await _hotelRoom.UpdateHotelRoom(HotelID, roomNumber, incomingData); return(Ok(updatedHotelRoom)); }
public async Task <ActionResult <HotelRoomDTO> > DeleteHotelRoom(int hotelId, int roomNumber) { HotelRoomDTO hotelRoom = await _hotelRoom.Delete(hotelId, roomNumber); if (hotelRoom == null) { return(NotFound()); } return(NoContent()); }
public void AddRoom(HotelRoomDTO room) { if (room is null) { throw new ArgumentNullException("room"); } HotelRoom newRoom = Mapper.Map <HotelRoom>(room); UnitOfWork.HotelRooms.Insert(newRoom); UnitOfWork.Save(); }
public async Task <ActionResult <HotelRoomDTO> > GetSingleHotelRoom(int hotelId, int roomNumber) { HotelRoomDTO hotelRoomDto = await _hotelRoom.GetSingleHotelRoom(hotelId, roomNumber); if (hotelRoomDto == null) { return(NotFound()); } return(hotelRoomDto); }
/// <summary> /// Deletes the Room attached to the Hotel /// </summary> /// <param name="hotelId">The Hotel that the room is attached to</param> /// <param name="roomNumber">The RoomNumber of the room to be deleted</param> /// <returns>No Return</returns> public async Task <HotelRoomDTO> Delete(int hotelId, int roomNumber) { HotelRoom hotelRoom = await _context.HotelRooms.FirstOrDefaultAsync(x => x.HotelID == hotelId); _context.Entry(hotelRoom).State = EntityState.Deleted; await _context.SaveChangesAsync(); HotelRoomDTO hotelRoomDTO = await TranslateToDTO(hotelRoom); return(hotelRoomDTO); }
public async Task <IActionResult> PutHotelRoom(int hotelID, int roomNumber, HotelRoomDTO hotelRoom) { if (hotelID != hotelRoom.HotelID || roomNumber != hotelRoom.RoomNumber) { return(BadRequest()); } await _context.Update(hotelRoom); return(NoContent()); }
public async Task <HotelRoomDTO> CreateHotelRoom(HotelRoomDTO hotelRoomDTO) { HotelRoom hotelRoom = _mapper.Map <HotelRoomDTO, HotelRoom>(hotelRoomDTO); hotelRoom.CreatedDate = DateTime.Now; hotelRoom.CreatedBy = ""; var addedHotelRoom = await _db.HotelRooms.AddAsync(hotelRoom); await _db.SaveChangesAsync(); return(_mapper.Map <HotelRoom, HotelRoomDTO>(addedHotelRoom.Entity));; }
public async Task <HotelRoomDTO> GetHotelRoom(int roomId) { try { HotelRoomDTO hotelRoom = _mapper.Map <HotelRoom, HotelRoomDTO>(await _db.HotelRooms.Include(x => x.HotelRoomImages).FirstOrDefaultAsync(x => x.Id == roomId)); return(hotelRoom); } catch { return(null); } }