예제 #1
0
        public async Task <IActionResult> Remove([FromRoute] string id)
        {
            var command = InactivePointCommand.Create(id);

            var result = await _bus.Send(command);

            return(result.Success
                ? NoContent()
                : Error(result.ErrorMessage));
        }
        public async Task <DomainResult> Handle(InactivePointCommand command, CancellationToken cancellationToken)
        {
            var point = await _pointRepository.FindAsync(command.Id);

            if (point is null)
            {
                return(DomainResult.Failure <string>("Point not found"));
            }

            point.Inactive();

            await _pointRepository.UpdateAsync(point);

            await _mediator.Publish(new PointInactivatedEvent(point));

            return(DomainResult.Ok());
        }