Ejemplo n.º 1
0
        public async Task <int> CreatePerson(CreatePersonCommandModel command, CrossContext ctx, CancellationToken token)
        {
            var events = await _processor
                         .Command <CreatePersonDomainCommand>(command, ctx)
                         .UseDomain(_mapper.Map <CreatePersonDomainCommand>(command))
                         .UseValidator(new CreatePersonCommandValidator())
                         .RunWithEvents(() => new CreatePersonCommandHandler(), token);

            return(events.MapSingleEvent <PersonCreatedDomainEvent, int>(x => x.PersonId));
        }
Ejemplo n.º 2
0
        public async Task <bool> UpdatePerson(int personId, CreatePersonCommandModel command, CrossContext ctx, CancellationToken token)
        {
            var domainCommand = _mapper.Map <UpdatePersonDomainCommand>(command);

            domainCommand.Id = personId;

            var events = await _processor
                         .Command <UpdatePersonDomainCommand>(command, ctx)
                         .UseTransaction()
                         .UseDomain(domainCommand)
                         .UseValidator(new UpdatePersonCommandValidator())
                         .RunWithEvents(() => new UpdatePersonCommandHandler(), token);

            return(events.MapOptionalSingleEvent <PersonUpdatedDomainEvent, bool>(x => x != null));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Update(int id, CreatePersonCommandModel model, CancellationToken token)
        {
            var result = await _personService.UpdatePerson(id, model, CrossContext, token);

            return(Ok(result));
        }