public Hotel Build() { HotelValidatorCommand command = CommandFactory.HotelValidatorCommand(_hotel); command.Execute(); return(_hotel); }
public void ValidHotelCommand_ExceptionThrown() { Assert.Throws <RequiredAttributeException>(() => { HotelValidatorCommand command = CommandFactory.HotelValidatorCommand(null); command.Execute(); }); }
public void ValidHotelCommand_NoExceptionThrown() { Assert.DoesNotThrow(() => { HotelValidatorCommand command = CommandFactory.HotelValidatorCommand(_hotel); command.Execute(); }); }
public void ValidHotelCommand_LocationExceptionThrown() { Assert.Throws <RequiredAttributeException>(() => { _hotel.Location = null; HotelValidatorCommand command = CommandFactory.HotelValidatorCommand(_hotel); command.Execute(); }); }
/// <summary> /// Metodo para crear un DTO a partir de una entidad /// </summary> /// <param name="entity">entidad de tipo hotel a ser convertida</param> /// <returns>un Hotel de tipo DTO</returns> /// <exception cref="RequiredAttributeException">Algun atributo requerido estaba como null</exception> /// <exception cref="InvalidAttributeException">Algun atributo tenia un valor invalido</exception> public HotelDTO CreateDTO(Hotel entity) { HotelValidatorCommand command = CommandFactory.HotelValidatorCommand(entity); command.Execute(); Hotel hotel = (Hotel)entity; HotelDTO HotelDTO = DTOFactory.CreateHotelDTO(hotel.Id, hotel.Name, hotel.AmountOfRooms, hotel.RoomCapacity, hotel.IsActive, hotel.AddressSpecification, hotel.PricePerRoom, hotel.Website, hotel.Phone, hotel.Picture, hotel.Stars, hotel.Location.Id); return(HotelDTO); }
/// <summary> /// Metodo para crear una lista de DTO a partir de una lista de hoteles entidad /// </summary> /// <param name="entities">ista entidad de tipo hotel a ser convertida</param> /// <returns>Lista de Hoteles de tipo DTO</returns> /// <exception cref="RequiredAttributeException">Algun atributo requerido estaba como null</exception> /// <exception cref="InvalidAttributeException">Algun atributo tenia un valor invalido</exception> public List <HotelDTO> CreateDTOList(List <Hotel> entities) { List <HotelDTO> dtos = new List <HotelDTO>(); foreach (Entity entity in entities) { Hotel hotel = (Hotel)entity; HotelValidatorCommand command = CommandFactory.HotelValidatorCommand(hotel); command.Execute(); dtos.Add(DTOFactory.CreateHotelDTO(hotel.Id, hotel.Name, hotel.AmountOfRooms, hotel.RoomCapacity, hotel.IsActive, hotel.AddressSpecification, hotel.PricePerRoom, hotel.Website, hotel.Phone, hotel.Picture, hotel.Stars, hotel.Location.Id)); } return(dtos); }
/// <summary> /// Metodo para actualizar los datos de un hotel. /// </summary> /// <param name="id">ID del hotel a actualizar</param> /// <param name="newData"> /// Objeto Hotel de donde se obtendran los datos para la actualizacion. /// Este objeto debe pasar la validacion del metodo <see cref="Hotel.Validate()" /> /// de manera que si solo se quiere actualizar un par de campos, igual se debe que mandar /// el objeto completo y valido, sin cambiar los atributos que no quieras actualizar. /// </param> /// <returns>Objeto Hotel con los campos actualizados</returns> /// <exception cref="RequiredAttributeException">Algun atributo requerido estaba como null</exception> /// <exception cref="InvalidAttributeException">Algun atributo tenia un valor invalido</exception> /// <exception cref="DatabaseException"> /// Lanzada si ocurre un fallo al ejecutar la funcion en la bse de /// datos /// </exception> public Hotel UpdateHotel(int id, Hotel newData) { HotelValidatorCommand command = CommandFactory.HotelValidatorCommand(newData); command.Execute(); PgConnection.Instance.ExecuteFunction( SP_UPDATE, id, newData.Name, newData.AmountOfRooms, newData.RoomCapacity, newData.IsActive, newData.AddressSpecification, newData.PricePerRoom, newData.Website ?? "", newData.Phone ?? "", newData.Picture ?? "", newData.Stars, newData.Location.Id ); return(GetHotelById(id)); }
/// <summary> /// Metodo para persistir un Hotel. /// </summary> /// <param name="hotel">Datos a ser guardados</param> /// <returns>ID del registro del hotel creado en la base de datos</returns> /// <exception cref="RequiredAttributeException">Algun atributo requerido estaba como null</exception> /// <exception cref="InvalidAttributeException">Algun atributo tenia un valor invalido</exception> public int AddHotel(Hotel hotel) { HotelValidatorCommand command = CommandFactory.HotelValidatorCommand(hotel); command.Execute(); var table = PgConnection.Instance.ExecuteFunction( SP_ADD_HOTEL, hotel.Name, hotel.AmountOfRooms, hotel.RoomCapacity, hotel.IsActive, hotel.AddressSpecification, hotel.PricePerRoom, hotel.Website ?? "", hotel.Phone ?? "", hotel.Picture ?? "", hotel.Stars, hotel.Location.Id ); var savedId = Convert.ToInt32(table.Rows[0][0]); return(savedId); }