public void Update(ILearningRoomWithSignIn learningRoom) { var learningRoomsWithSignIn = _learningRoomWithSignInGateway.Load(learningRoom.Reference); var signInsAdded = learningRoom.SignIns .Where(signIn => learningRoomsWithSignIn.SignIns.All(s => !s.Reference.Equals(signIn.Reference))) .ToList(); signInsAdded.ForEach(s => _signInPersistor.Add(s)); _persistence.Complete(); }
private LearningRoomStatus MapStatus(ILearningRoomWithSignIn room) { var currentDateTime = DateTimeUtil.GetNow(); if (currentDateTime < room.StartDate) { return(LearningRoomStatus.NotStart); } if (room.StartDate < currentDateTime && currentDateTime < room.EndDate) { return(LearningRoomStatus.InProgress); } return(LearningRoomStatus.Complete); }
private bool MapIsSignIn(ILearningRoomWithSignIn room, UserReference user) { return(room.SignIns.Any(s => s.Participant.Equals(user))); }