public SlotsController( IAvailableSlotsRepository availableSlotsRepository, IPatientSlotsRepository patientSlotRepository, Dispatcher dispatcher) { _availableSlotsRepository = availableSlotsRepository; _patientSlotRepository = patientSlotRepository; _dispatcher = dispatcher; }
public PatientSlotsProjection(IPatientSlotsRepository repo) { When <Scheduled>(e => { repo.Add(new ScheduledSlot(e.SlotId, e.StartTime, e.Duration)); return(Task.CompletedTask); }); When <Booked>(e => { repo.MarkAsBooked(e.SlotId, e.PatientId); return(Task.CompletedTask); }); When <Cancelled>(e => { repo.MarkAsCancelled(e.SlotId); return(Task.CompletedTask); }); }
protected override Projection GetProjection() { _repository = new InMemoryPatientSlotsRepository(); _repository.Clear(); return(new PatientSlotsProjection(_repository)); }