private RoomState GetRoomState(string roomName) { var room = roomRepository.GetByName(roomName); if (room == null) { return(null); } var stateFromDb = new RoomState(roomName); stateFromDb.AddId(room.Id); var visitors = visitRepository.Get(room.Id); if (visitors == null || !visitors.Any()) { return(stateFromDb); } visitors.ForEach(visitor => { var userSubscriber = userRepository.GetById(visitor.UserId.Value); stateFromDb.AddSubscriber(new RoomSubscription { Subscriber = userSubscriber.Name, LastVisit = visitor.LastVisitTimeStamp.Value }); }); return(stateFromDb); }
private RoomState InitializeRoomState(string roomName) { var initializedRoomState = new RoomState(roomName); initializedRoomState.AddId(Guid.NewGuid()); roomRepository.Add(new Room { Id = initializedRoomState.Id, Name = initializedRoomState.RoomName }); return(initializedRoomState); }