public async Task <CommandMessage> Process(
            dynamic commandToProcess,
            IDictionary <string, object> metadata,
            int currentPosition,
            CancellationToken cancellationToken)
        {
            switch (commandToProcess)
            {
            case ImportStreetNameFromCrab command:
                var commandImportStreetName = new CommandMessage <ImportStreetNameFromCrab>(command.CreateCommandId(), command, metadata);
                await _streetNameCommandHandlerModule.ImportStreetNameFromCrab(_getStreetNames, commandImportStreetName, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandImportStreetName, _provenanceFactory, currentPosition);
                return(commandImportStreetName);

            case ImportStreetNameStatusFromCrab command:
                var commandImportStreetNameStatus = new CommandMessage <ImportStreetNameStatusFromCrab>(command.CreateCommandId(), command, metadata);
                await _streetNameCommandHandlerModule.ImportStreetNameStatusFromCrab(_getStreetNames, commandImportStreetNameStatus, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandImportStreetNameStatus, _provenanceFactory, currentPosition);
                return(commandImportStreetNameStatus);

            default:
                throw new NotImplementedException("Command to import is not recognized");
            }
        }
        public async Task <CommandMessage> Process(
            dynamic commandToProcess,
            IDictionary <string, object> metadata,
            int currentPosition,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            switch (commandToProcess)
            {
            case ImportTerrainObjectFromCrab command:
                var commandTerrainObject = new CommandMessage <ImportTerrainObjectFromCrab>(command.CreateCommandId(), command, metadata);
                await _parcelCommandHandlerModule.ImportTerrainObject(_getParcels, commandTerrainObject, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandTerrainObject, _provenanceFactory, currentPosition);
                return(commandTerrainObject);

            case ImportTerrainObjectHouseNumberFromCrab command:
                var commandTerrainObjectHouseNumber = new CommandMessage <ImportTerrainObjectHouseNumberFromCrab>(command.CreateCommandId(), command, metadata);
                await _parcelCommandHandlerModule.ImportTerrainObjectHouseNumber(_getParcels, commandTerrainObjectHouseNumber, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandTerrainObjectHouseNumber, _provenanceFactory, currentPosition);
                return(commandTerrainObjectHouseNumber);

            case ImportSubaddressFromCrab command:
                var commandSubaddress = new CommandMessage <ImportSubaddressFromCrab>(command.CreateCommandId(), command, metadata);
                await _parcelCommandHandlerModule.ImportSubaddress(_getParcels, commandSubaddress, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandSubaddress, _provenanceFactory, currentPosition);
                return(commandSubaddress);

            default:
                throw new NotImplementedException("Command to import is not recognized");
            }
        }
Exemple #3
0
        public async Task <CommandMessage> Process(
            dynamic commandToProcess,
            IDictionary <string, object> metadata,
            int currentPosition,
            CancellationToken cancellationToken)
        {
            switch (commandToProcess)
            {
            case ImportHouseNumberFromCrab command:
                var commandHouseNumberMessage = new CommandMessage <ImportHouseNumberFromCrab>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.ImportHouseNumberFromCrab(_getAddresses, commandHouseNumberMessage, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandHouseNumberMessage, _provenanceFactory, currentPosition);
                return(commandHouseNumberMessage);

            case ImportHouseNumberStatusFromCrab command:
                var commandHouseNumberStatusMessage = new CommandMessage <ImportHouseNumberStatusFromCrab>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.ImportHouseNumberStatusFromCrab(_getAddresses, commandHouseNumberStatusMessage, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandHouseNumberStatusMessage, _provenanceFactory, currentPosition);
                return(commandHouseNumberStatusMessage);

            case ImportHouseNumberPositionFromCrab command:
                var commandHouseNumberPositionMessage = new CommandMessage <ImportHouseNumberPositionFromCrab>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.ImportHouseNumberPositionFromCrab(_getAddresses, commandHouseNumberPositionMessage, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandHouseNumberPositionMessage, _provenanceFactory, currentPosition);
                return(commandHouseNumberPositionMessage);

            case ImportHouseNumberMailCantonFromCrab command:
                var commandHouseNumberMailCantonMessage = new CommandMessage <ImportHouseNumberMailCantonFromCrab>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.ImportHouseNumberMailCantonFromCrab(_getAddresses, commandHouseNumberMailCantonMessage, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandHouseNumberMailCantonMessage, _provenanceFactory, currentPosition);
                return(commandHouseNumberMailCantonMessage);

            case ImportHouseNumberSubaddressFromCrab command:
                var commandHouseNumberSubaddressMessage = new CommandMessage <ImportHouseNumberSubaddressFromCrab>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.ImportHouseNumberSubaddressFromCrab(_getAddresses, commandHouseNumberSubaddressMessage, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandHouseNumberSubaddressMessage, _provenanceFactory, currentPosition);
                return(commandHouseNumberSubaddressMessage);

            case ImportSubaddressFromCrab command:
                var commandSubaddressMessage = new CommandMessage <ImportSubaddressFromCrab>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.ImportSubaddressFromCrab(_getAddresses, commandSubaddressMessage, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandSubaddressMessage, _provenanceFactory, currentPosition);
                return(commandSubaddressMessage);

            case ImportSubaddressStatusFromCrab command:
                var commandSubaddressStatusMessage = new CommandMessage <ImportSubaddressStatusFromCrab>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.ImportSubaddressStatusFromCrab(_getAddresses, commandSubaddressStatusMessage, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandSubaddressStatusMessage, _provenanceFactory, currentPosition);
                return(commandSubaddressStatusMessage);

            case ImportSubaddressPositionFromCrab command:
                var commandSubaddressPositionMessage = new CommandMessage <ImportSubaddressPositionFromCrab>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.ImportSubaddressPositionFromCrab(_getAddresses, commandSubaddressPositionMessage, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandSubaddressPositionMessage, _provenanceFactory, currentPosition);
                return(commandSubaddressPositionMessage);

            case ImportSubaddressMailCantonFromCrab command:
                var commandSubaddressMailCantonMessage = new CommandMessage <ImportSubaddressMailCantonFromCrab>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.ImportSubaddressMailCantonFromCrab(_getAddresses, commandSubaddressMailCantonMessage, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandSubaddressMailCantonMessage, _provenanceFactory, currentPosition);
                return(commandSubaddressMailCantonMessage);

            case AssignPersistentLocalIdForCrabHouseNumberId command:
                var commandAssignPersistentLocalIdForCrabHouseNumberId = new CommandMessage <AssignPersistentLocalIdForCrabHouseNumberId>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.AssignPersistentLocalIdForCrabHouseNumberId(_getAddresses, commandAssignPersistentLocalIdForCrabHouseNumberId, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandAssignPersistentLocalIdForCrabHouseNumberId, _addressPersistentLocalIdProvenanceFactory, currentPosition);
                return(commandAssignPersistentLocalIdForCrabHouseNumberId);

            case AssignPersistentLocalIdForCrabSubaddressId command:
                var commandAssignPersistentLocalIdForCrabSubaddressId = new CommandMessage <AssignPersistentLocalIdForCrabSubaddressId>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.AssignPersistentLocalIdForCrabSubaddressId(_getAddresses, commandAssignPersistentLocalIdForCrabSubaddressId, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandAssignPersistentLocalIdForCrabSubaddressId, _addressPersistentLocalIdProvenanceFactory, currentPosition);
                return(commandAssignPersistentLocalIdForCrabSubaddressId);

            case RequestPersistentLocalIdForCrabHouseNumberId command:
                var commandRequestPersistentLocalIdForCrabHouseNumberId = new CommandMessage <RequestPersistentLocalIdForCrabHouseNumberId>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.RequestPersistentLocalIdForCrabHouseNumberId(_getAddresses, commandRequestPersistentLocalIdForCrabHouseNumberId, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandRequestPersistentLocalIdForCrabHouseNumberId, _addressPersistentLocalIdProvenanceFactory, currentPosition);
                return(commandRequestPersistentLocalIdForCrabHouseNumberId);

            case RequestPersistentLocalIdForCrabSubaddressId command:
                var commandRequestPersistentLocalIdForCrabSubaddressId = new CommandMessage <RequestPersistentLocalIdForCrabSubaddressId>(command.CreateCommandId(), command, metadata);
                await _addressCommandHandlerModule.RequestPersistentLocalIdForCrabSubaddressId(_getAddresses, commandRequestPersistentLocalIdForCrabSubaddressId, cancellationToken);

                AddProvenancePipe.AddProvenance(() => _concurrentUnitOfWork, commandRequestPersistentLocalIdForCrabSubaddressId, _addressPersistentLocalIdProvenanceFactory, currentPosition);
                return(commandRequestPersistentLocalIdForCrabSubaddressId);

            default:
                throw new NotImplementedException("Command to import is not recognized");
            }
        }