Beispiel #1
0
    protected override EventHandler GetHandler()
    {
        var mongoClient = new MongoClient("mongodb://localhost");

        _repository = new MongoDbAvailableSlotsRepositoryV2(mongoClient.GetDatabase(Guid.NewGuid().ToString()));
        return(new AvailableSlotsProjectionV2(_repository));
    }
    public AvailableSlotsProjectionV2(MongoDbAvailableSlotsRepositoryV2 availableSlotsRepository)
    {
        When <SlotScheduled>((e, m) =>
                             availableSlotsRepository.AddSlot(new MongoDbAvailableSlotV2(
                                                                  e.SlotId.ToString(),
                                                                  e.DayId,
                                                                  e.SlotStartTime.ToString("dd-MM-yyyy"),
                                                                  e.SlotStartTime.ToString("h:mm tt"),
                                                                  e.SlotDuration,
                                                                  false
                                                                  )));

        When <SlotBooked>((e, m) =>
                          availableSlotsRepository.HideSlot(e.SlotId));

        When <SlotBookingCancelled>((e, m) =>
                                    availableSlotsRepository.ShowSlot(e.SlotId));

        When <SlotScheduleCancelled>((e, m) =>
                                     availableSlotsRepository.DeleteSlot(e.SlotId));
    }