public RoomHoursEntity Create(RoomHoursEntity entity)
		{
			using (IDatabaseProvider provider = ProviderFactory.GetProvider(_connectionStringName))
			{
				return provider.Insert<RoomHoursEntity>(entity);
			}
		}
		public RoomHoursEntity Update(RoomHoursEntity entity)
		{
			using (IDatabaseProvider provider = ProviderFactory.GetProvider(_connectionStringName))
			{
				RoomHoursEntity entityToUpdate = Read(entity.Id);
				if (entityToUpdate == null)
					throw new DataAccessException("Address not found"); //  This should not happen seeing that validation should check.

				entityToUpdate = UpdateProperties(entity, entityToUpdate);

				provider.Update<RoomHoursEntity>(entityToUpdate);

				return entityToUpdate;
			}
		}
		private RoomHoursEntry TranslateToRoomHoursResponse(RoomHoursEntity entity)
		{
			IAuthSession session = this.GetSession();
			UserEntity userEntity = SessionUtility.GetSessionUserEntity(session);
			RoomHoursEntry response = entity.TranslateTo<RoomHoursEntry>();
			response.DeliveryDate = DateTimeUtility.ConvertTimeFromUtc(response.DeliveryDate, userEntity.TimeZoneId);
			return response;
		}
		public static RoomHoursEntity GetRoomHoursEntryForInsert(HourTypeEntity hourType, CostCentreEntity costCentre)
		{
			RoomHoursEntity entity = new RoomHoursEntity()
			{
				HourTypeId = hourType.Id,
				CostCentreId = costCentre.Id,
				ConceptNumber = 9999,
				OrderNumber = 1234,
				RoomNumber = 67,
				PersonNumber = 123456789,
				Description = "Work on Monday",
				DeliveryDate = DateTime.UtcNow,
				Deleted = true,
				DeletedDate = DateTime.MinValue
			};

			return entity;
		}
		public RoomHoursEntity Delete(RoomHoursEntity entity)
		{
			entity.DeletedDate = DateTime.UtcNow;

			return Update(entity);
		}
		private RoomHoursEntity UpdateProperties(RoomHoursEntity entity, RoomHoursEntity entityToUpdate)
		{
			entityToUpdate.HourTypeId = entity.HourTypeId;
			entityToUpdate.CostCentreId = entity.CostCentreId;
			entityToUpdate.ConceptNumber = entity.ConceptNumber;
			entityToUpdate.OrderNumber = entity.OrderNumber;
			entityToUpdate.RoomNumber = entity.RoomNumber;
			entityToUpdate.PersonNumber = entity.PersonNumber;
			entityToUpdate.Hours = entity.Hours;
			entityToUpdate.Description = entity.Description;
			entityToUpdate.DeliveryDate = entity.DeliveryDate;
			entityToUpdate.Deleted = entity.Deleted;
			entityToUpdate.DeletedDate = entity.DeletedDate;

			return entityToUpdate;
		}