public DoorRegistrationService(Func <DoorContext> doorContextFactory, Func <IDoor> doorFactory,
                                Func <IDoorEvent> doorEventFactory, IMessageWriterService messageWriterService,
                                IDoorInformationMessageFactory informationMessageFactory)
 {
     _createDoorContext    = doorContextFactory;
     _createNewDoor        = doorFactory;
     _messageWriterService = messageWriterService;
     _messageWriterService.SetTheRoutingKey(RoutingKeys.DoorRegisterRoutingKey);
     _informationMessageFactory = informationMessageFactory;
     _createEvent = doorEventFactory;
 }
        public void SetDoorModel(IDoor door)
        {
            Updating();
            DoorId    = $"{door.Id}";
            DoorLabel = door.Label;
            State     = door.State;
            FinishedUpdating();

            var routingKey = $"{RoutingKeys.SpecificDoorRoutingKey}{door.Id}";

            _messageWriterService.SetTheRoutingKey(routingKey);
            _messageReaderService.SetTheRoutingKey(routingKey);
            _messageReaderService.DoorControlMessageReceived += OnControlMessageReceived;
            _messageReaderService.Listen();
        }