Key4.CQRS 1.1.0.2-b

Key4.CQRS

Ensemble d'handlers par défaut pour les différentes commandes pour CQRS.

Configuration

Créer les modèles

Créer les différents modèles afin de pouvoir utiliser les handlers.

Modèle en base de données

public class Book
{
    public int Id { get; set; }
    public string Title { get; set; }
    public virtual Author Author { get; set; }
}

Modèle de réponse

public class BookDto
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Author { get; set; }
}

Modèle pour la requête

public class AddBookCommand : IRequest<BookDto>
{
    public string Title { get; set; }
    public virtual Author Author { get; set; }
}

Modèle de validation

public partial class AddBookCommandValidator : AbstractValidator<AddBookCommand>
{
    public AddBookCommandValidator()
    {
        RuleFor(b => b.Title).NotEmpty();
        RuleFor(b => b.Title).MaximumLength(256);
    }
}

Implémentation des handlers

Sans override de la méthode Handle.

public class AddBookCommandHandler : BaseAddCommandHandler<AddBookCommand, BookDto, AddBookCommandValidator, Book>
{
    public AddBookCommandHandler(IBaseService<Book> service, IMapper mapper) : base(service, mapper)
    {
    }
}

Avec override de la méthode Handle.

public class AddBookCommandHandler : BaseAddCommandHandler<AddBookCommand, BookDto, AddBookCommandValidator, Book>
{
    public AddBookCommandHandler(IBaseService<Book> service, IMapper mapper) : base(service, mapper)
    {
    }

    public override async Task<BookDto> Handle(AddBookCommand request CancellationToken cancellationToken)
    {
        // Validation (cf. AddBookCommandValidator).
        Validation(request);

        // Handle.
        var book = _mapper.Map<Book>(request);
        var bookSynced = await _service.Sync(book);
        return _mapper.Map<BookDto>(bookSynced);
    }
}

Showing the top 20 packages that depend on Key4.CQRS.

Packages Downloads
key4.Bus
Contracts, services and classes used for message queue synchronization of microservices.
695
key4.Bus
Contracts, services and classes used for message queue synchronization of microservices.
849
key4.Bus
Contracts, services and classes used for message queue synchronization of microservices.
979
key4.Bus
Contracts, services and classes used for message queue synchronization of microservices.
1,040
key4.Bus
Contracts, services and classes used for message queue synchronization of microservices.
1,135
key4.Bus
Contracts, services and classes used for message queue synchronization of microservices.
1,563
key4.Bus
Contracts, services and classes used for message queue synchronization of microservices.
1,778
key4.Bus
Contracts, services and classes used for message queue synchronization of microservices.
1,851
key4.Bus
Contracts, services and classes used for message queue synchronization of microservices.
4,353
key4.Core
Services and classes.
573
key4.Core
Services and classes.
588
key4.Core
Services and classes.
637
key4.Core
Services and classes.
790
key4.Core
Services and classes.
825
key4.Core
Services and classes.
949
key4.Core
Services and classes.
1,264
key4.Core
Services and classes.
1,407
key4.Core
Services and classes.
1,874
key4.Core
Services and classes.
3,622
key4.Core
Services and classes.
4,082

.NET 5.0

Version Downloads Last updated
17.2.0 495 10/28/2025
17.2.0-a.60 2 10/28/2025
17.1.0 532 10/01/2025
17.1.0-a.58 3 10/01/2025
17.1.0-a.57 3 10/01/2025
17.0.0 4,355 12/05/2024
17.0.0-a.54 10 12/05/2024
17.0.0-a.53 12 12/05/2024
16.1.0 1,607 05/16/2024
16.1.0-a.47 11 05/16/2024
16.0.0 884 03/20/2024
16.0.0-a.46 12 05/07/2024
16.0.0-a.44 12 03/20/2024
15.2.0 235 03/18/2024
15.2.0-a.42 12 03/18/2024
15.1.0 2,941 11/23/2023
15.1.0-a.40 12 11/23/2023
15.0.0 1,188 11/15/2023
15.0.0-a.39 12 11/23/2023
15.0.0-a.38 14 11/20/2023
15.0.0-a.37 13 11/20/2023
15.0.0-a.35 13 11/15/2023
14.1.0 326 10/18/2023
14.1.0-a.31 12 10/18/2023
14.0.2 722 09/07/2023
14.0.2-a.30 26 10/13/2023
14.0.2-a.29 25 10/13/2023
14.0.2-a.28 21 10/12/2023
14.0.2-a.27 12 10/12/2023
14.0.2-a.25 13 09/07/2023
14.0.1 1,031 09/01/2023
14.0.0 95 08/30/2023
14.0.0-a.21 11 08/30/2023
13.0.5 453 08/15/2023
13.0.5-a.19 11 08/15/2023
13.0.4 1,337 06/26/2023
13.0.3 223 06/07/2023
13.0.2 267 04/26/2023
13.0.2-a.13 14 05/02/2023
13.0.1 264 04/14/2023
13.0.0 451 03/24/2023
12.1.3 381 03/01/2023
12.1.2 149 02/21/2023
12.1.1 35 02/20/2023
12.1.0 26 02/20/2023
12.0.3 18 02/20/2023
12.0.2 13 02/20/2023
12.0.1 32 02/17/2023
12.0.0 19 02/17/2023
3.0.0.4-b 9 12/08/2022
2.0.0.3-b 10 12/08/2022
1.1.0.2-b 13 12/08/2022