public override void Handle(GetAppointmentsOfAPatientRequest request) { if (!IsRequestValid(request.SessionId, request.UserId)) { return; } var eventStream = dataCenter.GetEventStreamForAPatient(request.PatientId); var eventStreamAggregator = new EventStreamAggregator <Guid>(eventStream); Socket.SendNetworkMsg(new GetAppointmentsOfAPatientResponse( (IReadOnlyList <AppointmentTransferData>)eventStreamAggregator.AppointmentData ) ); }
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) ); }
public EventStream(TIdentifier id, IEnumerable <DomainEvent> initialEventStream = null) { Id = id; events = initialEventStream?.ToList() ?? new List <DomainEvent>(); eventStreamAggregator = new EventStreamAggregator <TIdentifier>(this); }