public Task<Room> AddRoomAsync(Room room) { return _factory.ExecuteAsync<IRoomRepository, Room>(async roomRepository => { var existing = (await roomRepository.AnyAsync(d => d.Name == room.Name).ConfigureAwait(false)); if (existing) { throw new RoomAlreadyExistsException("Room '" + room.Name + "' already exists."); } room.Id = await roomRepository.InsertAsync(room.ToEntity()).ConfigureAwait(false); return room; }); }
public Task RemoveRoomAsync(Room room) { room.IsAlive = false; return _factory.ExecuteAsync<IRoomRepository>(roomRepository => roomRepository.UpdateAsync(room.ToEntity())); }