Esempio n. 1
0
 public SlotsController(
     IAvailableSlotsRepository availableSlotsRepository,
     IPatientSlotsRepository patientSlotRepository,
     Dispatcher dispatcher)
 {
     _availableSlotsRepository = availableSlotsRepository;
     _patientSlotRepository    = patientSlotRepository;
     _dispatcher = dispatcher;
 }
Esempio n. 2
0
    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));
 }