public override void Handle(GetAppointmentsOfADayRequest request) { if (!IsRequestValid(request.SessionId, request.UserId, request.MedicalPracticeId)) { return; } var eventStream = dataCenter.GetEventStreamForADay(new AggregateIdentifier(request.Day, request.MedicalPracticeId)); var eventStreamAggregator = new EventStreamAggregator <AggregateIdentifier>(eventStream); Socket.SendNetworkMsg( new GetAppointmentsOfADayResponse(eventStream.Id.MedicalPracticeId, eventStream.Id.PracticeVersion, eventStreamAggregator.AggregateVersion, (IReadOnlyList <AppointmentTransferData>)eventStreamAggregator.AppointmentData) ); }