private void CallEvent(RoomEventArgs e, RoomStateHandler handler) { if (e != null) { handler?.Invoke(this, e); } }
public void RoomAdd(int guests, string categorie, RoomStateHandler addroomhandler, RoomStateHandler payhandler, RoomStateHandler bookhandler, RoomStateHandler paidafterbookinghanlder, RoomStateHandler freeroom, RoomStateHandler getinfo) { T newRoom = new NewRoom(guests, categorie) as T; if (newRoom == null) { throw new Exception("Can't add the room"); } if (guests < 0) { throw new Exception("Wrong number of guests"); } if (categorie != "luxe" && categorie != "economy" && categorie != "normal") { throw new Exception("Wrong room category"); } if (rooms == null) { rooms = new T[] { newRoom } } ; else { T[] tempRooms = new T[rooms.Length + 1]; for (int i = 0; i < rooms.Length; i++) { tempRooms[i] = rooms[i]; } tempRooms[tempRooms.Length - 1] = newRoom; rooms = tempRooms; } newRoom.AddedRoom += addroomhandler; newRoom.BookedRoom += bookhandler; newRoom.PaidAfterBookingRoom += paidafterbookinghanlder; newRoom.PaidForRoom += payhandler; newRoom.FreeRoom += freeroom; newRoom.GotInfo += getinfo; newRoom.AddRoom(); }