Example #1
0
        public Task <Unit> Handle(PlaceConduitClosureCommand request, CancellationToken cancellationToken)
        {
            // Check if aggregate id has been used
            if (repo.CheckIfAggregateIdHasBeenUsed(request.ConduitClosureId))
            {
                throw new ArgumentException("The uuid: " + request.ConduitClosureId + " has allready been used. This is an event sourced system, so you're not allowed to reuse object uuids.");
            }

            var conduitClosure = new ConduitClosure(request.ConduitClosureId, request.PointOfInterestId, routeNetworkQueryService, conduitNetworkQueryService, conduitClosureRepository);

            repo.Store(conduitClosure);

            return(Unit.Task);
        }