diff --git a/Directory.Build.targets b/Directory.Build.targets index 31cc06a..fad54dc 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -1,9 +1,9 @@ - - - $([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)')) - - - - + + + $([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)')) + + + + \ No newline at end of file diff --git a/samples/DFlow.Example/AggregateFactory.cs b/samples/DFlow.Example/AggregateFactory.cs index 1ca7a9c..ee0eb56 100644 --- a/samples/DFlow.Example/AggregateFactory.cs +++ b/samples/DFlow.Example/AggregateFactory.cs @@ -12,7 +12,7 @@ public class AggregateFactory : AggregateFactoryBase private readonly IEventStore _eventStore; private readonly long INITIAL_VERSION = 1; - public AggregateFactory(IEventStore eventStore, ISnapshotRepository snapshotRepository = null) + public AggregateFactory(IEventStore eventStore, ISnapshotRepository snapshotRepository = null) : base(eventStore, snapshotRepository) { _eventStore = eventStore; @@ -26,19 +26,16 @@ public override TAggregate Create() public override TAggregate Create(Guid id) { var existStream = _eventStore.Any(id); - - if (existStream) - { - throw new DuplicatedRootException(id.ToString()); - } - + + if (existStream) throw new DuplicatedRootException(id.ToString()); + var createEvent = new AggregateCreated(id); - var events = new List() { createEvent}; - - var stream = new EventStream(){ Version = INITIAL_VERSION, Events = events}; - - TAggregate aggregate = (TAggregate) Activator.CreateInstance(typeof(TAggregate), new object[] {stream}); - + var events = new List { createEvent }; + + var stream = new EventStream { Version = INITIAL_VERSION, Events = events }; + + var aggregate = (TAggregate)Activator.CreateInstance(typeof(TAggregate), stream); + aggregate.Changes.Add(createEvent); return aggregate; } diff --git a/samples/DFlow.Example/Aggregates/ProductCatalogAggregate.cs b/samples/DFlow.Example/Aggregates/ProductCatalogAggregate.cs index 99f4512..a4971f5 100644 --- a/samples/DFlow.Example/Aggregates/ProductCatalogAggregate.cs +++ b/samples/DFlow.Example/Aggregates/ProductCatalogAggregate.cs @@ -3,10 +3,10 @@ using System.Linq; using DFlow.Base; using DFlow.Base.Aggregate; -using DFlow.Interfaces; using DFlow.Example.Commands; using DFlow.Example.Entities; using DFlow.Example.Events; +using DFlow.Interfaces; namespace DFlow.Example.Aggregates { @@ -18,46 +18,44 @@ public class ProductCatalogAggregate : AggregateRoot public ProductCatalogAggregate(EventStream stream) : base(stream) { - } - + public void CreateProduct(CreateProductCommand cmd) { - if(!_products.Any(x => x.Id == cmd.Id || x.Name.Equals(cmd.Name))) + if (!_products.Any(x => x.Id == cmd.Id || x.Name.Equals(cmd.Name))) { var @event = new ProductCreated(cmd.Id, cmd.Name, cmd.Description); Apply(@event); Dispatch(@event); } } - + public void ChangeProductName(ChangeProductNameCommand cmd) { - if(_products.Any(x => x.Id == cmd.ProductId)) + if (_products.Any(x => x.Id == cmd.ProductId)) { var @event = new ProductNameChanged(cmd.ProductId, cmd.Name); Apply(@event); Dispatch(@event); } } - + protected override void Mutate(IEvent e) { - ((dynamic) this).When((dynamic)e); + ((dynamic)this).When((dynamic)e); } - + private void When(ProductCreated e) { _products.Add(new Product(e.Id, e.Name, e.Description)); - } - + private void When(ProductNameChanged e) { var product = _products.FirstOrDefault(x => x.Id == e.Id); product.ChangeName(e.Name); } - + private void When(AggregateCreated e) { Id = e.Id; diff --git a/samples/DFlow.Example/Commands/AddProductCommand.cs b/samples/DFlow.Example/Commands/AddProductCommand.cs index 701df02..80001cc 100644 --- a/samples/DFlow.Example/Commands/AddProductCommand.cs +++ b/samples/DFlow.Example/Commands/AddProductCommand.cs @@ -1,15 +1,10 @@ using System; - using DFlow.Interfaces; namespace DFlow.Example.Commands { public class AddProductCommand : ICommand { - public Guid OrderId { get; set; } - public Guid ProductId { get; set; } - public decimal Qtd { get; set; } - public AddProductCommand() { } @@ -20,5 +15,9 @@ public AddProductCommand(Guid orderId, Guid productId, decimal qtd) ProductId = productId; Qtd = qtd; } + + public Guid OrderId { get; set; } + public Guid ProductId { get; set; } + public decimal Qtd { get; set; } } } \ No newline at end of file diff --git a/samples/DFlow.Example/Commands/ChangeProductNameCommand.cs b/samples/DFlow.Example/Commands/ChangeProductNameCommand.cs index 342c86d..e4da61c 100644 --- a/samples/DFlow.Example/Commands/ChangeProductNameCommand.cs +++ b/samples/DFlow.Example/Commands/ChangeProductNameCommand.cs @@ -3,13 +3,8 @@ namespace DFlow.Example.Commands { - public class ChangeProductNameCommand : ICommand { - public Guid RootId { get; set; } - public Guid ProductId { get; set; } - public string Name { get; set; } - public ChangeProductNameCommand(Guid rootId) { RootId = rootId; @@ -21,5 +16,9 @@ public ChangeProductNameCommand(Guid rootId, Guid productId, string name) Name = name; RootId = rootId; } + + public Guid RootId { get; set; } + public Guid ProductId { get; set; } + public string Name { get; set; } } } \ No newline at end of file diff --git a/samples/DFlow.Example/Commands/CreateProductCatalog.cs b/samples/DFlow.Example/Commands/CreateProductCatalog.cs index 203f4ac..c7d162f 100644 --- a/samples/DFlow.Example/Commands/CreateProductCatalog.cs +++ b/samples/DFlow.Example/Commands/CreateProductCatalog.cs @@ -5,14 +5,14 @@ namespace DFlow.Example.Commands { public class CreateProductCatalog : ICommand { - public Guid Id { get; set; } - public CreateProductCatalog(Guid rootId) { - if(rootId == Guid.Empty) + if (rootId == Guid.Empty) throw new Exception("não é possível criar catalogos com ID vazio"); Id = rootId; } + + public Guid Id { get; set; } } } \ No newline at end of file diff --git a/samples/DFlow.Example/Commands/CreateProductCommand.cs b/samples/DFlow.Example/Commands/CreateProductCommand.cs index 36d862f..b8bcd3f 100644 --- a/samples/DFlow.Example/Commands/CreateProductCommand.cs +++ b/samples/DFlow.Example/Commands/CreateProductCommand.cs @@ -6,11 +6,6 @@ namespace DFlow.Example.Commands { public class CreateProductCommand : ICommand { - public Guid RootId { get; set; } - public Guid Id { get; set; } - public string Name { get; set; } - public string Description { get; set; } - protected CreateProductCommand(Guid rootId) { RootId = rootId; @@ -18,30 +13,25 @@ protected CreateProductCommand(Guid rootId) public CreateProductCommand(Guid rootId, Guid id, string name, string description) { - if (id == Guid.Empty) - { - throw new BusinesException("não é possível criar produtos com ID vazio"); - } + if (id == Guid.Empty) throw new BusinesException("não é possível criar produtos com ID vazio"); - if (string.IsNullOrEmpty(name)) - { - throw new BusinesException("não é possível criar produtos sem nome"); - } + if (string.IsNullOrEmpty(name)) throw new BusinesException("não é possível criar produtos sem nome"); if (string.IsNullOrEmpty(description)) - { throw new BusinesException("não é possível criar produtos sem descrição"); - } if (rootId == Guid.Empty) - { throw new BusinesException("não é possível criar produtos sem adiciona-lo a um cátalogo existente"); - } - + Description = description; RootId = rootId; Id = id; Name = name; } + + public Guid RootId { get; set; } + public Guid Id { get; set; } + public string Name { get; set; } + public string Description { get; set; } } } \ No newline at end of file diff --git a/samples/DFlow.Example/DFlow.Example.csproj b/samples/DFlow.Example/DFlow.Example.csproj index ec52e81..5af2e58 100644 --- a/samples/DFlow.Example/DFlow.Example.csproj +++ b/samples/DFlow.Example/DFlow.Example.csproj @@ -9,19 +9,19 @@ - TRACE;TEST_BUILD + TRACE;TEST_BUILD - true + true - + - + diff --git a/samples/DFlow.Example/Entities/Product.cs b/samples/DFlow.Example/Entities/Product.cs index 75da9f9..f04b24c 100644 --- a/samples/DFlow.Example/Entities/Product.cs +++ b/samples/DFlow.Example/Entities/Product.cs @@ -13,13 +13,14 @@ public Product(Guid id, string name, string description) Description = description; } + public string Name { get; private set; } + public string Description { get; private set; } + + public Guid Id { get; private set; } + public void ChangeName(string name) { Name = name; } - - public Guid Id { get; private set; } - public string Name { get; private set; } - public string Description { get; private set; } } } \ No newline at end of file diff --git a/samples/DFlow.Example/Events/ProductCatalogAggregateCreated.cs b/samples/DFlow.Example/Events/ProductCatalogAggregateCreated.cs index ab1965f..3735e80 100644 --- a/samples/DFlow.Example/Events/ProductCatalogAggregateCreated.cs +++ b/samples/DFlow.Example/Events/ProductCatalogAggregateCreated.cs @@ -1,5 +1,4 @@ using System; - using DFlow.Interfaces; namespace DFlow.Example.Events @@ -7,11 +6,11 @@ namespace DFlow.Example.Events [Serializable] public class ProductCatalogAggregateCreated : IDomainEvent { - public Guid Id { get; private set; } - public ProductCatalogAggregateCreated(Guid id) { Id = id; } + + public Guid Id { get; private set; } } } \ No newline at end of file diff --git a/samples/DFlow.Example/Events/ProductCreated.cs b/samples/DFlow.Example/Events/ProductCreated.cs index 580cd9c..e14195c 100644 --- a/samples/DFlow.Example/Events/ProductCreated.cs +++ b/samples/DFlow.Example/Events/ProductCreated.cs @@ -1,23 +1,20 @@ using System; - using DFlow.Interfaces; -using DFlow.Example.Commands; namespace DFlow.Example.Events { [Serializable] public class ProductCreated : IDomainEvent { - public Guid Id { get; private set; } - public string Name { get; private set; } - public string Description { get; private set; } - - public ProductCreated(Guid id, string name, string description) { Id = id; Name = name; Description = description; } + + public Guid Id { get; private set; } + public string Name { get; private set; } + public string Description { get; private set; } } } \ No newline at end of file diff --git a/samples/DFlow.Example/Events/ProductNameChanged.cs b/samples/DFlow.Example/Events/ProductNameChanged.cs index cc52e4b..2c08f1c 100644 --- a/samples/DFlow.Example/Events/ProductNameChanged.cs +++ b/samples/DFlow.Example/Events/ProductNameChanged.cs @@ -6,16 +6,16 @@ namespace DFlow.Example.Events [Serializable] public class ProductNameChanged : IDomainEvent { - public Guid Id { get; private set; } - public string Name { get; private set; } - public ProductNameChanged(Guid id, string name) { if (id == Guid.Empty || string.IsNullOrEmpty(name)) throw new Exception("Dados inválidos"); - + Id = id; Name = name; } + + public Guid Id { get; private set; } + public string Name { get; private set; } } } \ No newline at end of file diff --git a/samples/DFlow.Example/Exceptions/BusinesException.cs b/samples/DFlow.Example/Exceptions/BusinesException.cs index 4b749f2..9040158 100644 --- a/samples/DFlow.Example/Exceptions/BusinesException.cs +++ b/samples/DFlow.Example/Exceptions/BusinesException.cs @@ -5,9 +5,8 @@ namespace DFlow.Example.Exceptions public class BusinesException : Exception { public BusinesException(string msg) - : base(msg) + : base(msg) { - } } } \ No newline at end of file diff --git a/samples/DFlow.Example/Handlers/IProductCatalogCommandHandler.cs b/samples/DFlow.Example/Handlers/IProductCatalogCommandHandler.cs index 23c25e3..0770469 100644 --- a/samples/DFlow.Example/Handlers/IProductCatalogCommandHandler.cs +++ b/samples/DFlow.Example/Handlers/IProductCatalogCommandHandler.cs @@ -1,4 +1,3 @@ - using DFlow.Base.Events; using DFlow.Interfaces; diff --git a/samples/DFlow.Example/Handlers/IProductQueryHandler.cs b/samples/DFlow.Example/Handlers/IProductQueryHandler.cs index b812227..2f23958 100644 --- a/samples/DFlow.Example/Handlers/IProductQueryHandler.cs +++ b/samples/DFlow.Example/Handlers/IProductQueryHandler.cs @@ -7,7 +7,7 @@ namespace DFlow.Example.Handlers public interface IProductQueryHandler { IList ListAllProducts(); - + IList ListByFilter(Func query); ProductDTO GetById(Guid id); diff --git a/samples/DFlow.Example/Handlers/ProductQueryHandler.cs b/samples/DFlow.Example/Handlers/ProductQueryHandler.cs index ef38f81..657b2de 100644 --- a/samples/DFlow.Example/Handlers/ProductQueryHandler.cs +++ b/samples/DFlow.Example/Handlers/ProductQueryHandler.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using DFlow.Example.Views; -using DFlow.Interfaces; namespace DFlow.Example.Handlers { diff --git a/samples/DFlow.Example/Handlers/ProductServiceCommandHandler.cs b/samples/DFlow.Example/Handlers/ProductServiceCommandHandler.cs index 4985cb8..0c9db71 100644 --- a/samples/DFlow.Example/Handlers/ProductServiceCommandHandler.cs +++ b/samples/DFlow.Example/Handlers/ProductServiceCommandHandler.cs @@ -1,14 +1,11 @@ using System; -using System.Collections.Generic; using System.Linq; using DFlow.Base; -using DFlow.Base.Aggregate; using DFlow.Base.Events; using DFlow.Base.Exceptions; -using DFlow.Interfaces; using DFlow.Example.Aggregates; using DFlow.Example.Commands; -using DFlow.Example.Events; +using DFlow.Interfaces; namespace DFlow.Example.Handlers { @@ -27,12 +24,12 @@ public ProductServiceCommandHandler(IEventStore eventStore, public CommandEvent When(CreateProductCatalog cmd) { var productCatalog = _factory.Create(cmd.Id); - + try { _eventStore.AppendToStream(cmd.Id, productCatalog.Version, productCatalog.Changes, productCatalog.DomainEvents.ToArray()); - + return new CommandEvent(OperationStatus.Success); } catch (EventStoreConcurrencyException ex) @@ -40,22 +37,18 @@ public CommandEvent When(CreateProductCatalog cmd) HandleConcurrencyException(ex, productCatalog); return new CommandEvent(OperationStatus.Success); } - catch(Exception) - { - throw; - } } - + public CommandEvent When(CreateProductCommand cmd) { var productCatalog = _factory.Load(cmd.RootId); productCatalog.CreateProduct(cmd); - + try { _eventStore.AppendToStream(cmd.RootId, productCatalog.Version, productCatalog.Changes, productCatalog.DomainEvents.ToArray()); - + //_publisher.Publish(arry event) return new CommandEvent(OperationStatus.Success); } @@ -64,17 +57,13 @@ public CommandEvent When(CreateProductCommand cmd) HandleConcurrencyException(ex, productCatalog); return new CommandEvent(OperationStatus.Success); } - catch(Exception) - { - throw; - } } - + public CommandEvent When(ChangeProductNameCommand cmd) { var productCatalog = _factory.Load(cmd.RootId); productCatalog.ChangeProductName(cmd); - + try { _eventStore.AppendToStream(cmd.RootId, productCatalog.Version, @@ -86,10 +75,6 @@ public CommandEvent When(ChangeProductNameCommand cmd) HandleConcurrencyException(ex, productCatalog); return new CommandEvent(OperationStatus.Success); } - catch(Exception) - { - throw; - } } } } \ No newline at end of file diff --git a/samples/DFlow.Example/MemoryAppendOnlyStore.cs b/samples/DFlow.Example/MemoryAppendOnlyStore.cs index f91ba4a..4aefae8 100644 --- a/samples/DFlow.Example/MemoryAppendOnlyStore.cs +++ b/samples/DFlow.Example/MemoryAppendOnlyStore.cs @@ -11,7 +11,7 @@ public class MemoryAppendOnlyStore : AppendOnlyBase, IAppendOnlyStore private ICollection> _eventsStorage = new List>(); - public MemoryAppendOnlyStore(IEventBus eventBus) : base() + public MemoryAppendOnlyStore(IEventBus eventBus) { } @@ -35,7 +35,7 @@ public override IEnumerable ReadRecords(Guid aggregateId, long .Take(maxCount) .Select(x => new DataWithVersion(x.Version, x.Data)); } - + public IEnumerable ReadRecords(long afterVersion, int maxCount) { var aggregateType = typeof(T).Name; @@ -60,14 +60,13 @@ public override bool Any(Guid aggregateId) public void Close() { - } - + protected override void Save(Guid id, string aggregateType, long version, byte[] data) { - _eventsStorage.Add(new EventDTO(id, aggregateType, version, data)); + _eventsStorage.Add(new EventDTO(id, aggregateType, version, data)); } - + //DTO para poder inserir em qualquer modelo de banco private class EventDTO @@ -80,11 +79,11 @@ public EventDTO(TKey aggregateId, string aggregateType, long version, byte[] dat Data = data; } - public TKey AggregateId { get; set; } - - public string AggregateType { get; set; } - public long Version { get; set; } - public byte[] Data { get; set; } + public TKey AggregateId { get; } + + public string AggregateType { get; } + public long Version { get; } + public byte[] Data { get; } } } } \ No newline at end of file diff --git a/samples/DFlow.Example/MemoryResolver.cs b/samples/DFlow.Example/MemoryResolver.cs index 48ab867..9271d9a 100644 --- a/samples/DFlow.Example/MemoryResolver.cs +++ b/samples/DFlow.Example/MemoryResolver.cs @@ -14,28 +14,22 @@ public MemoryResolver() { _subscribers = new Dictionary>(); } - + public IEnumerable Resolve(Type service) { // var subscriberType = typeof(ISubscriber<>); // var subDefinition = subscriberType.MakeGenericType(service); - - if (!_subscribers.ContainsKey(service)) - { - return new List(); - } - + + if (!_subscribers.ContainsKey(service)) return new List(); + return _subscribers[service]; } - + public void Register(ISubscriber subscriber) { var type = typeof(T); - if (!_subscribers.ContainsKey(type)) - { - _subscribers.Add(type, new List()); - } - + if (!_subscribers.ContainsKey(type)) _subscribers.Add(type, new List()); + _subscribers[type].Add(subscriber); } @@ -44,7 +38,8 @@ public void Unregister(ISubscriber subscriber) var type = typeof(T); if (_subscribers.ContainsKey(type)) { - var subscriberToRemove = _subscribers[type].FirstOrDefault(x => ((ISubscriber)x).GetSubscriberId().Equals(subscriber.GetSubscriberId())); + var subscriberToRemove = _subscribers[type].FirstOrDefault(x => + ((ISubscriber)x).GetSubscriberId().Equals(subscriber.GetSubscriberId())); if (subscriberToRemove != null) _subscribers[type].Remove(subscriberToRemove); } } diff --git a/samples/DFlow.Example/SnapshotRepository.cs b/samples/DFlow.Example/SnapshotRepository.cs index e819f27..0dc3da8 100644 --- a/samples/DFlow.Example/SnapshotRepository.cs +++ b/samples/DFlow.Example/SnapshotRepository.cs @@ -10,22 +10,12 @@ namespace DFlow.Example { public class SnapshotRepository : ISnapshotRepository { - internal class SnapshotAggregate - { - public TKey Id { get; set; } - public long Version { get; set; } - public byte[] Data { get; set; } - } - - private ICollection> _snapshotStorage = new List>(); - readonly BinaryFormatter _formatter = new BinaryFormatter(); - - public SnapshotRepository() - { - - } - - public bool TryGetSnapshotById(Guid id, out TAggregate snapshot, out long version) where TAggregate : AggregateRoot + private readonly BinaryFormatter _formatter = new BinaryFormatter(); + + private readonly ICollection> _snapshotStorage = new List>(); + + public bool TryGetSnapshotById(Guid id, out TAggregate snapshot, out long version) + where TAggregate : AggregateRoot { var aggregate = _snapshotStorage .Where(x => x.Id == id) @@ -35,7 +25,7 @@ public bool TryGetSnapshotById(Guid id, out TAggregate snapshot, out if (aggregate == null) { version = 0; - snapshot = default(TAggregate); + snapshot = default; return false; } @@ -46,7 +36,8 @@ public bool TryGetSnapshotById(Guid id, out TAggregate snapshot, out return true; } - public void SaveSnapshot(Guid id, TAggregate snapshot, long version) where TAggregate : AggregateRoot + public void SaveSnapshot(Guid id, TAggregate snapshot, long version) + where TAggregate : AggregateRoot { /*o snapshot é a materialização da agregação, ou seja, é um arquivo desnormalizado com todas as informações da agregação em um determinado ponto do tempo, só que em vez de criar um DTO pra isso, resolvi apenas remover as changes e @@ -55,10 +46,10 @@ serializar a própria agregação snapshot.Changes.Clear(); snapshot.DomainEvents.Clear(); var data = Serialize(snapshot); - _snapshotStorage.Add(new SnapshotAggregate(){Data = data, Id = id, Version = version }); + _snapshotStorage.Add(new SnapshotAggregate { Data = data, Id = id, Version = version }); } - - byte[] Serialize(AggregateRoot e) + + private byte[] Serialize(AggregateRoot e) { using (var mem = new MemoryStream()) { @@ -66,13 +57,20 @@ byte[] Serialize(AggregateRoot e) return mem.ToArray(); } } - - AggregateRoot Deserialize(byte[] data) + + private AggregateRoot Deserialize(byte[] data) { using (var mem = new MemoryStream(data)) { return (AggregateRoot)_formatter.Deserialize(mem); } } + + internal class SnapshotAggregate + { + public TKey Id { get; set; } + public long Version { get; set; } + public byte[] Data { get; set; } + } } } \ No newline at end of file diff --git a/samples/DFlow.Example/Views/ProductView.cs b/samples/DFlow.Example/Views/ProductView.cs index 6e0c144..f994adc 100644 --- a/samples/DFlow.Example/Views/ProductView.cs +++ b/samples/DFlow.Example/Views/ProductView.cs @@ -1,10 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; -using DFlow.Base; -using DFlow.Interfaces; -using DFlow.Example.Entities; using DFlow.Example.Events; +using DFlow.Interfaces; namespace DFlow.Example.Views { @@ -13,41 +11,41 @@ public class ProductDTO public string Name { get; set; } public Guid Id { get; set; } } - + public class ProductView : ISubscriber, ISubscriber { - public List Products { get; set; } - public ProductView() { Products = new List(); } - + // public ProductView(ILiteDbViewModel model, IEntityFrameworkRepository) // { // Products = new List(); // } - + public ProductView(List products) { Products = products; } + public List Products { get; set; } + public void Update(ProductCreated e) { - Products.Add(new ProductDTO() {Name = e.Name, Id = e.Id}); + Products.Add(new ProductDTO { Name = e.Name, Id = e.Id }); } - + + public string GetSubscriberId() + { + return GetType().ToString(); + } + public void Update(ProductNameChanged e) { if (e == null) throw new ArgumentNullException(nameof(e)); var product = Products.FirstOrDefault(x => x.Id == e.Id); if (product != null) product.Name = e.Name; } - - public string GetSubscriberId() - { - return this.GetType().ToString(); - } } } \ No newline at end of file diff --git a/samples/DFlow.Samples/Business/CommandHandlers/AddUserCommand.cs b/samples/DFlow.Samples/Business/CommandHandlers/AddUserCommand.cs index 6fbd6ba..cc45f9f 100644 --- a/samples/DFlow.Samples/Business/CommandHandlers/AddUserCommand.cs +++ b/samples/DFlow.Samples/Business/CommandHandlers/AddUserCommand.cs @@ -15,6 +15,7 @@ public AddUserCommand(string name, string email) Name = Name.From(name); Mail = Email.From(email); } + public Name Name { get; set; } public Email Mail { get; set; } } diff --git a/samples/DFlow.Samples/Business/CommandHandlers/AddUserCommandHandler.cs b/samples/DFlow.Samples/Business/CommandHandlers/AddUserCommandHandler.cs index 89d6495..f4bbd05 100644 --- a/samples/DFlow.Samples/Business/CommandHandlers/AddUserCommandHandler.cs +++ b/samples/DFlow.Samples/Business/CommandHandlers/AddUserCommandHandler.cs @@ -19,22 +19,23 @@ namespace DFlow.Samples.Business.CommandHandlers public sealed class AddUserCommandHandler : CommandHandler> { public AddUserCommandHandler(IDomainEventBus publisher) - :base(publisher) + : base(publisher) { } - - protected override Task> ExecuteCommand(AddUserCommand command, CancellationToken cancellationToken) + + protected override Task> ExecuteCommand(AddUserCommand command, + CancellationToken cancellationToken) { - var agg = UserEntityBasedAggregationRoot.CreateFrom(command.Name,command.Mail); - + var agg = UserEntityBasedAggregationRoot.CreateFrom(command.Name, command.Mail); + var isSucceed = agg.IsValid; var okId = Guid.Empty; - + if (agg.IsValid) { agg.GetEvents().ToImmutableList() - .ForEach( ev => Publisher.Publish(ev)); - + .ForEach(ev => Publisher.Publish(ev)); + okId = agg.GetChange().Identity.Value; } diff --git a/samples/DFlow.Samples/Business/CommandHandlers/AddUserPersistentCommandHandler.cs b/samples/DFlow.Samples/Business/CommandHandlers/AddUserPersistentCommandHandler.cs index a035d6e..8557304 100644 --- a/samples/DFlow.Samples/Business/CommandHandlers/AddUserPersistentCommandHandler.cs +++ b/samples/DFlow.Samples/Business/CommandHandlers/AddUserPersistentCommandHandler.cs @@ -21,31 +21,33 @@ namespace DFlow.Samples.Business.CommandHandlers public sealed class AddUserPersistentCommandHandler : CommandHandler> { private readonly IDbSession _sessionDb; + public AddUserPersistentCommandHandler(IDomainEventBus publisher, IDbSession sessionDb) - :base(publisher) + : base(publisher) { _sessionDb = sessionDb; } - - protected override async Task> ExecuteCommand(AddUserCommand command, CancellationToken cancellationToken) + + protected override async Task> ExecuteCommand(AddUserCommand command, + CancellationToken cancellationToken) { - var agg = UserEntityBasedAggregationRoot.CreateFrom(command.Name,command.Mail); - + var agg = UserEntityBasedAggregationRoot.CreateFrom(command.Name, command.Mail); + var isSucceed = agg.IsValid; var okId = Guid.Empty; - + if (agg.IsValid) { _sessionDb.Repository.Add(agg.GetChange()); await _sessionDb.SaveChangesAsync(cancellationToken); - + agg.GetEvents().ToImmutableList() - .ForEach( async ev => await Publisher.Publish(ev, cancellationToken)); - + .ForEach(async ev => await Publisher.Publish(ev, cancellationToken)); + okId = agg.GetChange().Identity.Value; } - - return await Task.FromResult(new CommandResult(isSucceed, okId,agg.Failures)) + + return await Task.FromResult(new CommandResult(isSucceed, okId, agg.Failures)) .ConfigureAwait(false); } } diff --git a/samples/DFlow.Samples/Business/DomainEventHandlers/UserAddedDomainEventHandler.cs b/samples/DFlow.Samples/Business/DomainEventHandlers/UserAddedDomainEventHandler.cs index 0523ac0..206e15b 100644 --- a/samples/DFlow.Samples/Business/DomainEventHandlers/UserAddedDomainEventHandler.cs +++ b/samples/DFlow.Samples/Business/DomainEventHandlers/UserAddedDomainEventHandler.cs @@ -16,7 +16,8 @@ public sealed class UserAddedDomainEventHandler : DomainEventHandler { - private IDbSession _dbSession; + private readonly IDbSession _dbSession; + public UserAddedUpdateProjectionDomainEventHandler(IDbSession dbSession) { _dbSession = dbSession; } + protected override Task ExecuteHandle(UserAddedEvent @event, CancellationToken cancellationToken) { - _dbSession.Repository.Add(new UserProjection(@event.Id.Value, @event.Name.Value, + _dbSession.Repository.Add(new UserProjection(@event.Id.Value, @event.Name.Value, @event.Mail.Value, @event.Version.Value)); _dbSession.SaveChanges(); - + return Task.CompletedTask; } } diff --git a/samples/DFlow.Samples/Business/QueryHandlers/GetUsersByFilter.cs b/samples/DFlow.Samples/Business/QueryHandlers/GetUsersByFilter.cs index a35a05c..0cb56b2 100644 --- a/samples/DFlow.Samples/Business/QueryHandlers/GetUsersByFilter.cs +++ b/samples/DFlow.Samples/Business/QueryHandlers/GetUsersByFilter.cs @@ -14,13 +14,10 @@ private GetUsersByFilter(string name) } public string Name { get; } - + public static GetUsersByFilter From(string name) { - if (string.IsNullOrEmpty(name)) - { - name = string.Empty; - } + if (string.IsNullOrEmpty(name)) name = string.Empty; return new GetUsersByFilter(name); } diff --git a/samples/DFlow.Samples/Business/QueryHandlers/GetUsersByQueryHandler.cs b/samples/DFlow.Samples/Business/QueryHandlers/GetUsersByQueryHandler.cs index 4b52fb4..6d375d8 100644 --- a/samples/DFlow.Samples/Business/QueryHandlers/GetUsersByQueryHandler.cs +++ b/samples/DFlow.Samples/Business/QueryHandlers/GetUsersByQueryHandler.cs @@ -21,12 +21,13 @@ public GetUsersByQueryHandler(IDbSession session) _dbSession = session; } - protected override Task ExecuteQuery(GetUsersByFilter filter, CancellationToken cancellationToken) + protected override Task ExecuteQuery(GetUsersByFilter filter, + CancellationToken cancellationToken) { var clients = _dbSession.Repository - .Find(up=> up.Name.Contains(filter.Name)); + .Find(up => up.Name.Contains(filter.Name)); - return Task.FromResult(GetUsersResponse.From(clients.Count>0, clients)); + return Task.FromResult(GetUsersResponse.From(clients.Count > 0, clients)); } } } \ No newline at end of file diff --git a/samples/DFlow.Samples/Business/QueryHandlers/GetUsersResponse.cs b/samples/DFlow.Samples/Business/QueryHandlers/GetUsersResponse.cs index d62f739..73f8d3b 100644 --- a/samples/DFlow.Samples/Business/QueryHandlers/GetUsersResponse.cs +++ b/samples/DFlow.Samples/Business/QueryHandlers/GetUsersResponse.cs @@ -10,16 +10,16 @@ namespace DFlow.Samples.Business.QueryHandlers { - public class GetUsersResponse:QueryResult> + public class GetUsersResponse : QueryResult> { public GetUsersResponse(bool isSucceed, IReadOnlyList data) - :base(isSucceed, data) + : base(isSucceed, data) { } public static GetUsersResponse From(bool isSucceed, IReadOnlyList items) { - return new GetUsersResponse(isSucceed,items); + return new GetUsersResponse(isSucceed, items); } } } \ No newline at end of file diff --git a/samples/DFlow.Samples/DFlow.Samples.csproj b/samples/DFlow.Samples/DFlow.Samples.csproj index f0f54e6..8bc5150 100644 --- a/samples/DFlow.Samples/DFlow.Samples.csproj +++ b/samples/DFlow.Samples/DFlow.Samples.csproj @@ -7,24 +7,24 @@ - true + true - - - - - + + + + + - - + + - + diff --git a/samples/DFlow.Samples/Domain/Aggregates/Events/UserAddedEvent.cs b/samples/DFlow.Samples/Domain/Aggregates/Events/UserAddedEvent.cs index f5dda5a..9f8a445 100644 --- a/samples/DFlow.Samples/Domain/Aggregates/Events/UserAddedEvent.cs +++ b/samples/DFlow.Samples/Domain/Aggregates/Events/UserAddedEvent.cs @@ -21,15 +21,16 @@ private UserAddedEvent(EntityId clientId, Name name, Email mail, VersionId versi Name = name; Mail = mail; } + public EntityId Id { get; } - + public Name Name { get; } - + public Email Mail { get; } - + public static UserAddedEvent For(User user) { - return new UserAddedEvent(user.Identity,user.Name,user.Mail, user.Version); + return new UserAddedEvent(user.Identity, user.Name, user.Mail, user.Version); } } } \ No newline at end of file diff --git a/samples/DFlow.Samples/Domain/Aggregates/UserEntityBasedAggregationRoot.cs b/samples/DFlow.Samples/Domain/Aggregates/UserEntityBasedAggregationRoot.cs index d4e80d0..068ab13 100644 --- a/samples/DFlow.Samples/Domain/Aggregates/UserEntityBasedAggregationRoot.cs +++ b/samples/DFlow.Samples/Domain/Aggregates/UserEntityBasedAggregationRoot.cs @@ -13,24 +13,20 @@ namespace DFlow.Samples.Domain.Aggregates { public sealed class UserEntityBasedAggregationRoot : ObjectBasedAggregationRoot { - private UserEntityBasedAggregationRoot(User user) { if (user.IsValid) { Apply(user); - if (user.IsNew()) - { - Raise(UserAddedEvent.For(user)); - } + if (user.IsNew()) Raise(UserAddedEvent.For(user)); } AppendValidationResult(user.Failures); } #region Aggregation contruction - + public static UserEntityBasedAggregationRoot CreateFrom(Name name, Email commercialEmail) { var user = User.From(EntityId.GetNext(), name, commercialEmail, VersionId.New()); diff --git a/samples/DFlow.Samples/Domain/Aggregates/UserObjectBasedAggregationRootWithEvent.cs b/samples/DFlow.Samples/Domain/Aggregates/UserObjectBasedAggregationRootWithEvent.cs index fa0d68f..b7260f4 100644 --- a/samples/DFlow.Samples/Domain/Aggregates/UserObjectBasedAggregationRootWithEvent.cs +++ b/samples/DFlow.Samples/Domain/Aggregates/UserObjectBasedAggregationRootWithEvent.cs @@ -12,19 +12,15 @@ namespace DFlow.Samples.Domain.Aggregates { public sealed class UserObjectBasedAggregationRootWithEvent : ObjectBasedAggregationRoot { - private UserObjectBasedAggregationRootWithEvent(User user) { - if (user.IsValid) - { - Apply(user); - } + if (user.IsValid) Apply(user); AppendValidationResult(user.Failures); } #region Aggregation contruction - + public static UserObjectBasedAggregationRootWithEvent CreateFrom(Name name, Email commercialEmail) { var user = User.From(EntityId.GetNext(), name, commercialEmail, VersionId.New()); diff --git a/samples/DFlow.Samples/Domain/Aggregates/UserObjectBasedAggregationRootWithoutEvent.cs b/samples/DFlow.Samples/Domain/Aggregates/UserObjectBasedAggregationRootWithoutEvent.cs index ffcf640..9de56da 100644 --- a/samples/DFlow.Samples/Domain/Aggregates/UserObjectBasedAggregationRootWithoutEvent.cs +++ b/samples/DFlow.Samples/Domain/Aggregates/UserObjectBasedAggregationRootWithoutEvent.cs @@ -12,19 +12,15 @@ namespace DFlow.Samples.Domain.Aggregates { public sealed class UserObjectBasedAggregationRootWithoutEvent : ObjectBasedAggregationRoot { - private UserObjectBasedAggregationRootWithoutEvent(User user) { - if (user.IsValid) - { - Apply(user); - } + if (user.IsValid) Apply(user); AppendValidationResult(user.Failures); } #region Aggregation contruction - + public static UserObjectBasedAggregationRootWithoutEvent CreateFrom(Name name, Email commercialEmail) { var user = User.From(EntityId.GetNext(), name, commercialEmail, VersionId.New()); diff --git a/samples/DFlow.Samples/Domain/BusinessObjects/Email.cs b/samples/DFlow.Samples/Domain/BusinessObjects/Email.cs index fcbaa58..84cdf59 100644 --- a/samples/DFlow.Samples/Domain/BusinessObjects/Email.cs +++ b/samples/DFlow.Samples/Domain/BusinessObjects/Email.cs @@ -4,7 +4,6 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System; using DFlow.Domain.BusinessObjects; namespace DFlow.Samples.Domain.BusinessObjects @@ -13,7 +12,7 @@ public sealed class Email : ValueOf { public static Email Empty() { - return From(String.Empty); + return From(string.Empty); } } } \ No newline at end of file diff --git a/samples/DFlow.Samples/Domain/BusinessObjects/EntityId.cs b/samples/DFlow.Samples/Domain/BusinessObjects/EntityId.cs index 30333c0..fe923d8 100644 --- a/samples/DFlow.Samples/Domain/BusinessObjects/EntityId.cs +++ b/samples/DFlow.Samples/Domain/BusinessObjects/EntityId.cs @@ -6,15 +6,16 @@ using System; using DFlow.Domain.BusinessObjects; + namespace DFlow.Samples.Domain.BusinessObjects { - public sealed class EntityId : ValueOf + public sealed class EntityId : ValueOf { public static EntityId Empty() { return From(Guid.Empty); } - + public static EntityId GetNext() { return From(Guid.NewGuid()); diff --git a/samples/DFlow.Samples/Domain/BusinessObjects/Name.cs b/samples/DFlow.Samples/Domain/BusinessObjects/Name.cs index da1b322..2633568 100644 --- a/samples/DFlow.Samples/Domain/BusinessObjects/Name.cs +++ b/samples/DFlow.Samples/Domain/BusinessObjects/Name.cs @@ -4,16 +4,15 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System; using DFlow.Domain.BusinessObjects; namespace DFlow.Samples.Domain.BusinessObjects { - public sealed class Name : ValueOf + public sealed class Name : ValueOf { public static Name Empty() { - return From(String.Empty); + return From(string.Empty); } } } \ No newline at end of file diff --git a/samples/DFlow.Samples/Domain/BusinessObjects/User.cs b/samples/DFlow.Samples/Domain/BusinessObjects/User.cs index d353071..3700d09 100644 --- a/samples/DFlow.Samples/Domain/BusinessObjects/User.cs +++ b/samples/DFlow.Samples/Domain/BusinessObjects/User.cs @@ -7,27 +7,29 @@ using System.Collections.Generic; using DFlow.Domain.BusinessObjects; + namespace DFlow.Samples.Domain.BusinessObjects { public sealed class User : BaseEntity { private User(EntityId clientId, Name name, Email commercialEmail, VersionId version) - :base(clientId,version) + : base(clientId, version) { Name = name; Mail = commercialEmail; - + AppendValidationResult(Identity.ValidationStatus.Failures); AppendValidationResult(Name.ValidationStatus.Failures); AppendValidationResult(Mail.ValidationStatus.Failures); } + public Name Name { get; } - + public Email Mail { get; } - + public static User From(EntityId clientId, Name name, Email commercialEmail, VersionId version) { - var user = new User(clientId,name,commercialEmail,version); + var user = new User(clientId, name, commercialEmail, version); return user; } @@ -35,7 +37,7 @@ public static User Empty() { return From(EntityId.Empty(), Name.Empty(), Email.Empty(), VersionId.Empty()); } - + public override string ToString() { return $"[User]:[ID: {Identity} Name: {Name}, Commercial Email: {Mail}]"; diff --git a/samples/DFlow.Samples/Persistence/ExtensionMethods/BusinessObjectsExtensions.cs b/samples/DFlow.Samples/Persistence/ExtensionMethods/BusinessObjectsExtensions.cs index b8462a3..beb9973 100644 --- a/samples/DFlow.Samples/Persistence/ExtensionMethods/BusinessObjectsExtensions.cs +++ b/samples/DFlow.Samples/Persistence/ExtensionMethods/BusinessObjectsExtensions.cs @@ -27,18 +27,20 @@ namespace DFlow.Samples.Persistence.ExtensionMethods public static class BusinessObjectsExtensions { public static UserState ToUserState(this User user) - => new UserState(user.Identity.Value, - user.Name.Value, + { + return new UserState(user.Identity.Value, + user.Name.Value, user.Mail.Value, BitConverter.GetBytes(user.Version.Value)); + } public static User ToUser(this UserState state) - => User.From( - EntityId.From(state.Id), - Name.From(state.Name), - Email.From(state.Mail), - VersionId.From(BitConverter.ToInt32(state.RowVersion))); - - + { + return User.From( + EntityId.From(state.Id), + Name.From(state.Name), + Email.From(state.Mail), + VersionId.From(BitConverter.ToInt32(state.RowVersion))); + } } } \ No newline at end of file diff --git a/samples/DFlow.Samples/Persistence/Model/Repositories/IUserRepository.cs b/samples/DFlow.Samples/Persistence/Model/Repositories/IUserRepository.cs index 2c2d717..1c448be 100644 --- a/samples/DFlow.Samples/Persistence/Model/Repositories/IUserRepository.cs +++ b/samples/DFlow.Samples/Persistence/Model/Repositories/IUserRepository.cs @@ -4,15 +4,13 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System; -using System.Threading.Tasks; using DFlow.Domain.BusinessObjects; using DFlow.Persistence.Repositories; using DFlow.Samples.Domain.BusinessObjects; namespace DFlow.Samples.Persistence.Model.Repositories { - public interface IUserRepository: IRepository + public interface IUserRepository : IRepository { User Get(IEntityIdentity entityId); } diff --git a/samples/DFlow.Samples/Persistence/Model/Repositories/UserRepository.cs b/samples/DFlow.Samples/Persistence/Model/Repositories/UserRepository.cs index 1b89099..199415d 100644 --- a/samples/DFlow.Samples/Persistence/Model/Repositories/UserRepository.cs +++ b/samples/DFlow.Samples/Persistence/Model/Repositories/UserRepository.cs @@ -22,7 +22,7 @@ public class UserRepository : IUserRepository public UserRepository(SampleAppDbContext context) { DbContext = context; - + DbContext.Database.EnsureDeleted(); DbContext.Database.EnsureCreated(); } @@ -44,9 +44,7 @@ public void Add(User entity) else { if (VersionId.Next(oldState.Version) > entity.Version) - { throw new DbUpdateConcurrencyException("This version is not the most updated for this object."); - } DbContext.Entry(oldState).CurrentValues.SetValues(entry); } @@ -57,12 +55,10 @@ public void Remove(User entity) var oldState = Get(entity); if (VersionId.Next(oldState.Version) > entity.Version) - { throw new DbUpdateConcurrencyException("This version is not the most updated for this object."); - } var entry = entity.ToUserState(); - + DbContext.Users.Remove(entry); } @@ -71,29 +67,29 @@ public User Get(IEntityIdentity id) var user = DbContext.Users.AsNoTracking() .OrderByDescending(ob => ob.Id) .ThenByDescending(ob => ob.RowVersion) - .FirstOrDefault(t =>t.Id.Equals(id.Identity.Value)); - - if (user == null) - { - return User.Empty(); - } - + .FirstOrDefault(t => t.Id.Equals(id.Identity.Value)); + + if (user == null) return User.Empty(); + return user.ToUser(); } + public IEnumerable Find(Expression> predicate) { return DbContext.Users.Where(predicate).AsNoTracking() .Select(t => t.ToUser()).ToList(); } - + public async Task> FindAsync(Expression> predicate) { var cancellationToken = new CancellationToken(); return await FindAsync(predicate, cancellationToken) .ConfigureAwait(false); } - public async Task> FindAsync(Expression> predicate, CancellationToken cancellationToken) + + public async Task> FindAsync(Expression> predicate, + CancellationToken cancellationToken) { return await DbContext.Users.Where(predicate).AsNoTracking() .Select(t => t.ToUser()).ToListAsync() diff --git a/samples/DFlow.Samples/Persistence/Model/UserState.cs b/samples/DFlow.Samples/Persistence/Model/UserState.cs index babbd93..0ade14e 100644 --- a/samples/DFlow.Samples/Persistence/Model/UserState.cs +++ b/samples/DFlow.Samples/Persistence/Model/UserState.cs @@ -25,15 +25,15 @@ namespace DFlow.Samples.Persistence.Model public class UserState : PersistentState { public UserState(Guid id, string name, string mail, byte[] rowVersion) - :base(DateTime.Now, rowVersion) + : base(DateTime.Now, rowVersion) { Id = id; Name = name; Mail = mail; } - public Guid Id { get; set;} - public string Name { get; set;} + public Guid Id { get; set; } + public string Name { get; set; } public string Mail { get; set; } } } \ No newline at end of file diff --git a/samples/DFlow.Samples/Persistence/ReadModel/Repositories/UserProjectionRepository.cs b/samples/DFlow.Samples/Persistence/ReadModel/Repositories/UserProjectionRepository.cs index e7ba043..3d7a118 100644 --- a/samples/DFlow.Samples/Persistence/ReadModel/Repositories/UserProjectionRepository.cs +++ b/samples/DFlow.Samples/Persistence/ReadModel/Repositories/UserProjectionRepository.cs @@ -18,6 +18,7 @@ namespace DFlow.Samples.Persistence.ReadModel.Repositories public sealed class UserProjectionRepository : IUserProjectionRepository { private readonly SampleAppProjectionDbContext _context; + public UserProjectionRepository(SampleAppProjectionDbContext context) { _context = context; @@ -26,12 +27,9 @@ public UserProjectionRepository(SampleAppProjectionDbContext context) public UserProjection Get(IEntityIdentity id) { var user = _context.Users.FindById(id.Identity); - - if (user == null) - { - return UserProjection.Empty(); - } - + + if (user == null) return UserProjection.Empty(); + return user; } @@ -55,7 +53,8 @@ public Task> FindAsync(Expression> FindAsync(Expression> predicate, CancellationToken cancellationToken) + public Task> FindAsync(Expression> predicate, + CancellationToken cancellationToken) { throw new NotImplementedException(); } diff --git a/samples/DFlow.Samples/Persistence/ReadModel/UserProjection.cs b/samples/DFlow.Samples/Persistence/ReadModel/UserProjection.cs index f932725..38c52e3 100644 --- a/samples/DFlow.Samples/Persistence/ReadModel/UserProjection.cs +++ b/samples/DFlow.Samples/Persistence/ReadModel/UserProjection.cs @@ -26,6 +26,7 @@ public class UserProjection public UserProjection() { } + public UserProjection(Guid id, string name, string commercialEmail, int rowVersion) { Id = id; @@ -39,14 +40,14 @@ public UserProjection(Guid id, string name, string commercialEmail, int rowVersi public string Name { get; set; } public string Cnpj { get; set; } public string CommercialEmail { get; set; } - + public bool IsDeleted { get; set; } public int RowVersion { get; set; } - + public static UserProjection Empty() { - return new UserProjection(Guid.Empty, String.Empty, String.Empty,0); + return new UserProjection(Guid.Empty, string.Empty, string.Empty, 0); } } } \ No newline at end of file diff --git a/samples/DFlow.Samples/Persistence/SampleAppDbContext.cs b/samples/DFlow.Samples/Persistence/SampleAppDbContext.cs index a0b1f32..b4ea375 100644 --- a/samples/DFlow.Samples/Persistence/SampleAppDbContext.cs +++ b/samples/DFlow.Samples/Persistence/SampleAppDbContext.cs @@ -19,7 +19,7 @@ public SampleAppDbContext(DbContextOptions options) } public DbSet Users { get; set; } - + public DbSet UsersProjection { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) @@ -47,7 +47,6 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) u.Property(pr => pr.CommercialEmail); u.HasQueryFilter(user => EF.Property(user, "IsDeleted") == false); }); - } } } \ No newline at end of file diff --git a/samples/DFlow.Samples/Persistence/SampleDbSession.cs b/samples/DFlow.Samples/Persistence/SampleDbSession.cs index 3babec1..bd775c4 100644 --- a/samples/DFlow.Samples/Persistence/SampleDbSession.cs +++ b/samples/DFlow.Samples/Persistence/SampleDbSession.cs @@ -5,15 +5,14 @@ // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System; using DFlow.Persistence.EntityFramework; namespace DFlow.Samples.Persistence { - public class SampleDbSession: DbSession + public class SampleDbSession : DbSession { public SampleDbSession(SampleAppDbContext context, TRepository repository) - :base(context,repository) + : base(context, repository) { } } diff --git a/samples/DFlow.Samples/Persistence/SampleProjectionDbSession.cs b/samples/DFlow.Samples/Persistence/SampleProjectionDbSession.cs index b78be21..bf14629 100644 --- a/samples/DFlow.Samples/Persistence/SampleProjectionDbSession.cs +++ b/samples/DFlow.Samples/Persistence/SampleProjectionDbSession.cs @@ -8,10 +8,10 @@ namespace DFlow.Samples.Persistence { - public class SampleProjectionDbSession: ProjectionDbSession + public class SampleProjectionDbSession : ProjectionDbSession { public SampleProjectionDbSession(SampleAppProjectionDbContext context, TRepository repository) - :base(context,repository) + : base(context, repository) { } } diff --git a/samples/Directory.Build.props b/samples/Directory.Build.props index e4e02d8..81353f4 100644 --- a/samples/Directory.Build.props +++ b/samples/Directory.Build.props @@ -1,5 +1,5 @@ - - False - + + False + diff --git a/samples/SimplestApp.Business.Cqrs/Program.cs b/samples/SimplestApp.Business.Cqrs/Program.cs index c5080ca..84c983e 100644 --- a/samples/SimplestApp.Business.Cqrs/Program.cs +++ b/samples/SimplestApp.Business.Cqrs/Program.cs @@ -5,42 +5,36 @@ // file, You can obtain one at https://mozilla.org/MPL/2.0/. using System; -using System.Threading.Tasks; using DFlow.Business.Cqrs.CommandHandlers; using DFlow.Domain.EventBus.FluentMediator; using DFlow.Domain.Events; -using DFlow.Persistence; -using DFlow.Persistence.EntityFramework; using DFlow.Samples.Business.CommandHandlers; using DFlow.Samples.Business.DomainEventHandlers; using DFlow.Samples.Domain.Aggregates.Events; -using DFlow.Samples.Persistence; -using DFlow.Samples.Persistence.Model.Repositories; using FluentMediator; -using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; namespace SimplestApp.Business.Cqrs { - class Program + internal class Program { private static void Main(string[] args) { Console.WriteLine("== Simple Cqrs App to Create a User"); - + var serviceCollection = new ServiceCollection(); serviceCollection.AddFluentMediator(builder => { builder.On().PipelineAsync() .Return, AddUserCommandHandler>( - async(handler, request) => await handler.Execute(request)); - + async (handler, request) => await handler.Execute(request)); + builder.On() .Pipeline() .Call>( (handler, request) => handler.Handle(request)); }); - + serviceCollection.AddScoped(); serviceCollection.AddScoped(); serviceCollection.AddScoped, UserAddedDomainEventHandler>(); @@ -48,14 +42,14 @@ private static void Main(string[] args) var provider = serviceCollection.BuildServiceProvider(); var mediator = provider.GetService(); - + var result = mediator?.SendAsync>(new AddUserCommand("my name", "mail@test.com")) .GetAwaiter() .GetResult(); - + Console.WriteLine(); Console.WriteLine($"Add user request id {result.Id} operation succed: {result.IsSucceed}"); - + Console.WriteLine("press any key to exit."); Console.ReadKey(); } diff --git a/samples/SimplestApp.Business.Cqrs/SimplestApp.Business.Cqrs.csproj b/samples/SimplestApp.Business.Cqrs/SimplestApp.Business.Cqrs.csproj index 379de9f..c1691b3 100644 --- a/samples/SimplestApp.Business.Cqrs/SimplestApp.Business.Cqrs.csproj +++ b/samples/SimplestApp.Business.Cqrs/SimplestApp.Business.Cqrs.csproj @@ -8,18 +8,18 @@ - true + true - - - + + + - - + + diff --git a/samples/SimplestApp.Persistence.EntityFramework/Program.cs b/samples/SimplestApp.Persistence.EntityFramework/Program.cs index a0a33a5..ae76bb1 100644 --- a/samples/SimplestApp.Persistence.EntityFramework/Program.cs +++ b/samples/SimplestApp.Persistence.EntityFramework/Program.cs @@ -5,7 +5,6 @@ // file, You can obtain one at https://mozilla.org/MPL/2.0/. using System; -using System.Threading.Tasks; using DFlow.Business.Cqrs.CommandHandlers; using DFlow.Domain.EventBus.FluentMediator; using DFlow.Domain.Events; @@ -23,40 +22,44 @@ namespace SimplestApp.Persistence.EntityFramework { - class Program + internal class Program { private static void Main(string[] args) { Console.WriteLine("== Simple Cqrs App to Create a User"); - + var serviceCollection = new ServiceCollection(); serviceCollection.AddFluentMediator(builder => { builder.On().PipelineAsync() .Return, AddUserPersistentCommandHandler>( - async(handler, request) => await handler.Execute(request)); - + async (handler, request) => await handler.Execute(request)); + builder.On() .CancellablePipelineAsync() .Call>( - async(handler, request, ct) => await handler.Handle(request, ct)); - + async (handler, request, ct) => await handler.Handle(request, ct)); + builder.On().PipelineAsync() .Return( - async(handler, request) => await handler.Execute(request)); + async (handler, request) => await handler.Execute(request)); }); serviceCollection.AddDbContext(options => options.UseSqlite("Data Source=samplesdb_dev.sqlite;")); - serviceCollection.AddSingleton(new SampleAppProjectionDbContext("Filename=sample_projection.db;Connection=shared")); + serviceCollection.AddSingleton( + new SampleAppProjectionDbContext("Filename=sample_projection.db;Connection=shared")); serviceCollection.AddScoped(); serviceCollection.AddScoped(); serviceCollection.AddScoped, SampleDbSession>(); - serviceCollection.AddScoped, SampleProjectionDbSession>(); + serviceCollection + .AddScoped, + SampleProjectionDbSession>(); serviceCollection.AddScoped(); serviceCollection.AddScoped(); serviceCollection.AddScoped(); - serviceCollection.AddScoped, UserAddedUpdateProjectionDomainEventHandler>(); + serviceCollection + .AddScoped, UserAddedUpdateProjectionDomainEventHandler>(); var provider = serviceCollection.BuildServiceProvider(); var mediator = provider.GetService(); @@ -64,7 +67,7 @@ private static void Main(string[] args) var result = mediator?.SendAsync>(new AddUserCommand("my name", "mail@test.com")) .GetAwaiter() .GetResult(); - + Console.WriteLine(); Console.WriteLine($"Add user request id {result?.Id} operation succed: {result?.IsSucceed}"); @@ -72,7 +75,7 @@ private static void Main(string[] args) .GetAwaiter() .GetResult(); Console.WriteLine($"Add user request id {query?.Data.Count} operation succed: {query?.Data[0].Name}"); - + Console.WriteLine("press any key to exit."); Console.ReadKey(); } diff --git a/samples/SimplestApp.Persistence.EntityFramework/SimplestApp.Persistence.EntityFramework.csproj b/samples/SimplestApp.Persistence.EntityFramework/SimplestApp.Persistence.EntityFramework.csproj index 379de9f..c1691b3 100644 --- a/samples/SimplestApp.Persistence.EntityFramework/SimplestApp.Persistence.EntityFramework.csproj +++ b/samples/SimplestApp.Persistence.EntityFramework/SimplestApp.Persistence.EntityFramework.csproj @@ -8,18 +8,18 @@ - true + true - - - + + + - - + + diff --git a/samples/SimplestApp/Program.cs b/samples/SimplestApp/Program.cs index dff6ba1..d3b1ba4 100644 --- a/samples/SimplestApp/Program.cs +++ b/samples/SimplestApp/Program.cs @@ -11,17 +11,17 @@ namespace SimplestApp { - class Program + internal class Program { - static void Main(string[] args) + private static void Main(string[] args) { Console.WriteLine("== Simple App to Create a User"); var spec = new UserValidSpecification(); - UserService us = new UserService(spec); + var us = new UserService(spec); + + var user = us.Add(new AddUser { Name = "My name", Mail = "my@mail.com" }); - var user = us.Add(new AddUser {Name = "My name", Mail = "my@mail.com"}); - Console.WriteLine(); Console.WriteLine($"My name is {user.Name}, my mail is {user.Mail} i'm a valid {user.IsValid}"); Console.WriteLine(); diff --git a/samples/SimplestApp/Services/UserService.cs b/samples/SimplestApp/Services/UserService.cs index 084b838..901b043 100644 --- a/samples/SimplestApp/Services/UserService.cs +++ b/samples/SimplestApp/Services/UserService.cs @@ -12,22 +12,20 @@ namespace SimplestApp.Services { - public class UserService:IUserService + public class UserService : IUserService { - private ISpecification _specification; + private readonly ISpecification _specification; + public UserService(ISpecification specification) { _specification = specification; } - + public User Add(AddUser user) { var agg = UserEntityBasedAggregationRoot.CreateFrom(Name.From(user.Name), Email.From(user.Mail)); - if (!_specification.IsSatisfiedBy(agg)) - { - throw new ArgumentException(agg.Failures[0].Message); - } + if (!_specification.IsSatisfiedBy(agg)) throw new ArgumentException(agg.Failures[0].Message); return agg.GetChange(); } diff --git a/samples/SimplestApp/SimplestApp.csproj b/samples/SimplestApp/SimplestApp.csproj index cf88005..0e34c15 100644 --- a/samples/SimplestApp/SimplestApp.csproj +++ b/samples/SimplestApp/SimplestApp.csproj @@ -8,16 +8,16 @@ - true + true - - + + - + diff --git a/samples/SimplestApp/Specifications/UserService.cs b/samples/SimplestApp/Specifications/UserService.cs index c16d513..0786b55 100644 --- a/samples/SimplestApp/Specifications/UserService.cs +++ b/samples/SimplestApp/Specifications/UserService.cs @@ -13,17 +13,14 @@ namespace SimplestApp.Specifications { - public class UserValidSpecification:CompositeSpecification + public class UserValidSpecification : CompositeSpecification { - public User Add(AddUser user) { var agg = UserEntityBasedAggregationRoot.CreateFrom(Name.From(user.Name), Email.From(user.Mail)); if (!agg.IsValid) - { throw new ArgumentException("One or more parameters informed to create a user are not valid."); - } return agg.GetChange(); } diff --git a/src/DFlow.Business.Cqrs/CommandHandler.cs b/src/DFlow.Business.Cqrs/CommandHandler.cs index 40bc1a4..c7072e3 100644 --- a/src/DFlow.Business.Cqrs/CommandHandler.cs +++ b/src/DFlow.Business.Cqrs/CommandHandler.cs @@ -4,34 +4,30 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System; -using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using DFlow.Business.Cqrs.CommandHandlers; using DFlow.Domain.Events; -using DFlow.Domain.Validation; -using Microsoft.Extensions.Logging; namespace DFlow.Business.Cqrs { - public abstract class CommandHandler: + public abstract class CommandHandler : ICommandHandler { - protected IDomainEventBus Publisher { get; } - protected CommandHandler(IDomainEventBus publisher) { Publisher = publisher; } + protected IDomainEventBus Publisher { get; } + public async Task Execute(TCommand command) { var cancellationToken = new CancellationTokenSource(); return await Execute(command, cancellationToken.Token) .ConfigureAwait(false); } - + public async Task Execute(TCommand command, CancellationToken cancellationToken) { return await ExecuteCommand(command, cancellationToken) diff --git a/src/DFlow.Business.Cqrs/CommandHandlers/CommandResult.cs b/src/DFlow.Business.Cqrs/CommandHandlers/CommandResult.cs index 0b67903..722bd22 100644 --- a/src/DFlow.Business.Cqrs/CommandHandlers/CommandResult.cs +++ b/src/DFlow.Business.Cqrs/CommandHandlers/CommandResult.cs @@ -9,13 +9,14 @@ namespace DFlow.Business.Cqrs.CommandHandlers { - public class CommandResult: ExecutionResult + public class CommandResult : ExecutionResult { public CommandResult(bool isSucceed, TResult id, IReadOnlyList violations) - :base(isSucceed, violations) + : base(isSucceed, violations) { Id = id; } - public TResult Id { get;} + + public TResult Id { get; } } } \ No newline at end of file diff --git a/src/DFlow.Business.Cqrs/DFlow.Business.Cqrs.csproj b/src/DFlow.Business.Cqrs/DFlow.Business.Cqrs.csproj index 5c212bd..5fa8577 100644 --- a/src/DFlow.Business.Cqrs/DFlow.Business.Cqrs.csproj +++ b/src/DFlow.Business.Cqrs/DFlow.Business.Cqrs.csproj @@ -7,20 +7,20 @@ - true + true - true + true - - + + - + true diff --git a/src/DFlow.Business.Cqrs/IBusinessMessageBus.cs b/src/DFlow.Business.Cqrs/IBusinessMessageBus.cs index 006683e..130691f 100644 --- a/src/DFlow.Business.Cqrs/IBusinessMessageBus.cs +++ b/src/DFlow.Business.Cqrs/IBusinessMessageBus.cs @@ -10,6 +10,6 @@ public interface IBusinessMessageBus { void Publish(TEvent request); - TResult Send(TRequest request); + TResult Send(TRequest request); } } \ No newline at end of file diff --git a/src/DFlow.Business.Cqrs/QueryHandler.cs b/src/DFlow.Business.Cqrs/QueryHandler.cs index fe5875b..d3c36e1 100644 --- a/src/DFlow.Business.Cqrs/QueryHandler.cs +++ b/src/DFlow.Business.Cqrs/QueryHandler.cs @@ -12,14 +12,13 @@ namespace DFlow.Business.Cqrs { public abstract class QueryHandler : ICommandHandler { - public async Task Execute(TFilter filter) { var cancellationToken = new CancellationTokenSource(); return await Execute(filter, cancellationToken.Token) .ConfigureAwait(false); } - + public async Task Execute(TFilter filter, CancellationToken cancellationToken) { return await ExecuteQuery(filter, cancellationToken) diff --git a/src/DFlow.Business.Cqrs/QueryHandlers/QueryResult.cs b/src/DFlow.Business.Cqrs/QueryHandlers/QueryResult.cs index 93afb06..d567b8a 100644 --- a/src/DFlow.Business.Cqrs/QueryHandlers/QueryResult.cs +++ b/src/DFlow.Business.Cqrs/QueryHandlers/QueryResult.cs @@ -9,13 +9,14 @@ namespace DFlow.Business.Cqrs.QueryHandlers { - public class QueryResult: ExecutionResult + public class QueryResult : ExecutionResult { public QueryResult(bool isSucceed, TResult data) - :base(isSucceed, ImmutableList.Empty) + : base(isSucceed, ImmutableList.Empty) { Data = data; } - public TResult Data { get;} + + public TResult Data { get; } } } \ No newline at end of file diff --git a/src/DFlow.Domain.Events/DFlow.Domain.Events.csproj b/src/DFlow.Domain.Events/DFlow.Domain.Events.csproj index 209ce1a..0e3a2b4 100644 --- a/src/DFlow.Domain.Events/DFlow.Domain.Events.csproj +++ b/src/DFlow.Domain.Events/DFlow.Domain.Events.csproj @@ -7,7 +7,7 @@ - true + true diff --git a/src/DFlow.Domain.Events/DomainEventHandler.cs b/src/DFlow.Domain.Events/DomainEventHandler.cs index 55ec99a..005cb96 100644 --- a/src/DFlow.Domain.Events/DomainEventHandler.cs +++ b/src/DFlow.Domain.Events/DomainEventHandler.cs @@ -20,7 +20,7 @@ public async Task Handle(TDomainEvent @event) await Handle(@event, cancellationToken.Token) .ConfigureAwait(false); } - + public async Task Handle(TDomainEvent @event, CancellationToken cancellationToken) { try diff --git a/src/DFlow.Domain.Events/IDomainEventBus.cs b/src/DFlow.Domain.Events/IDomainEventBus.cs index 7f411f3..636250e 100644 --- a/src/DFlow.Domain.Events/IDomainEventBus.cs +++ b/src/DFlow.Domain.Events/IDomainEventBus.cs @@ -12,11 +12,11 @@ namespace DFlow.Domain.Events public interface IDomainEventBus { Task Publish(TEvent request); - + Task Publish(TEvent request, CancellationToken cancellationToken); Task Send(TRequest request); - - Task Send(TRequest request, CancellationToken cancellationToken); + + Task Send(TRequest request, CancellationToken cancellationToken); } } \ No newline at end of file diff --git a/src/DFlow.Domain.Events/IDomainEventBusAsync.cs b/src/DFlow.Domain.Events/IDomainEventBusAsync.cs index 4f4400d..1c3954e 100644 --- a/src/DFlow.Domain.Events/IDomainEventBusAsync.cs +++ b/src/DFlow.Domain.Events/IDomainEventBusAsync.cs @@ -13,6 +13,6 @@ public interface IDomainEventBusAsync { Task PublishAsync(TEvent request, CancellationToken cancellationToken); - Task SendAsync(TRequest request, CancellationToken cancellationToken); + Task SendAsync(TRequest request, CancellationToken cancellationToken); } } \ No newline at end of file diff --git a/src/DFlow.Domain/Aggregates/EventBasedAggregationRoot.cs b/src/DFlow.Domain/Aggregates/EventBasedAggregationRoot.cs index 50444c8..0364ec9 100644 --- a/src/DFlow.Domain/Aggregates/EventBasedAggregationRoot.cs +++ b/src/DFlow.Domain/Aggregates/EventBasedAggregationRoot.cs @@ -12,10 +12,10 @@ namespace DFlow.Domain.Aggregates { - public class EventBasedAggregationRoot: BaseValidation, IChangeSet> + public class EventBasedAggregationRoot : BaseValidation, IChangeSet> { - private readonly List _currentStream; private readonly List _changes; + private readonly List _currentStream; protected EventBasedAggregationRoot(TEntityId aggregateId, VersionId version, AggregationName name) { @@ -25,41 +25,38 @@ protected EventBasedAggregationRoot(TEntityId aggregateId, VersionId version, Ag _currentStream = new List(); _changes = new List(); } - - protected void Apply(IImmutableList domainEvents) - { - foreach (var ev in domainEvents) - { - Apply(ev); - } - } - + protected AggregationName Name { get; } - + protected TEntityId AggregateId { get; } - + protected VersionId Version { get; } - + + public EventStream GetChange() + { + return EventStream.From(AggregateId, Name, Version, _currentStream.ToImmutableList()); + } + + public IReadOnlyList GetEvents() + { + return _changes.ToImmutableList(); + } + + protected void Apply(IImmutableList domainEvents) + { + foreach (var ev in domainEvents) Apply(ev); + } + protected void Apply(IDomainEvent domainEvent) { _currentStream.Add(domainEvent); } - + //Need to check tath protected void Raise(IDomainEvent @event) { //this isint right _changes.Add(@event); } - - public EventStream GetChange() - { - return EventStream.From(AggregateId,Name ,Version, _currentStream.ToImmutableList()); - } - - public IReadOnlyList GetEvents() - { - return _changes.ToImmutableList(); - } } } \ No newline at end of file diff --git a/src/DFlow.Domain/Aggregates/IAggregateFactory.cs b/src/DFlow.Domain/Aggregates/IAggregateFactory.cs index c9644f9..c3c081f 100644 --- a/src/DFlow.Domain/Aggregates/IAggregateFactory.cs +++ b/src/DFlow.Domain/Aggregates/IAggregateFactory.cs @@ -9,7 +9,7 @@ namespace DFlow.Domain.Aggregates { public interface IAggregateFactory - where TCreateFrom: BaseValidation + where TCreateFrom : BaseValidation { TAggregate Create(TCreateFrom source); } diff --git a/src/DFlow.Domain/Aggregates/ObjectBasedAggregationRoot.cs b/src/DFlow.Domain/Aggregates/ObjectBasedAggregationRoot.cs index ffa8718..2541be6 100644 --- a/src/DFlow.Domain/Aggregates/ObjectBasedAggregationRoot.cs +++ b/src/DFlow.Domain/Aggregates/ObjectBasedAggregationRoot.cs @@ -12,22 +12,12 @@ namespace DFlow.Domain.Aggregates { - public abstract class ObjectBasedAggregationRoot:BaseValidation, - IChangeSet where TChange: BaseEntity + public abstract class ObjectBasedAggregationRoot : BaseValidation, + IChangeSet where TChange : BaseEntity { - protected TChange AggregateRootEntity { get; set; } private readonly IList _changes = new List(); + protected TChange AggregateRootEntity { get; set; } - protected void Apply(TChange item) - { - AggregateRootEntity = item; - } - - protected void Raise(IDomainEvent @event) - { - _changes.Add(@event); - } - public TChange GetChange() { return AggregateRootEntity; @@ -37,5 +27,15 @@ public IReadOnlyList GetEvents() { return _changes.ToImmutableList(); } + + protected void Apply(TChange item) + { + AggregateRootEntity = item; + } + + protected void Raise(IDomainEvent @event) + { + _changes.Add(@event); + } } } \ No newline at end of file diff --git a/src/DFlow.Domain/BusinessObjects/AggregationName.cs b/src/DFlow.Domain/BusinessObjects/AggregationName.cs index 8e56f1f..6e9fd29 100644 --- a/src/DFlow.Domain/BusinessObjects/AggregationName.cs +++ b/src/DFlow.Domain/BusinessObjects/AggregationName.cs @@ -9,6 +9,5 @@ namespace DFlow.Domain.BusinessObjects { public sealed class AggregationName : ValueOf { - } } \ No newline at end of file diff --git a/src/DFlow.Domain/BusinessObjects/BaseEntity.cs b/src/DFlow.Domain/BusinessObjects/BaseEntity.cs index e6ad7b9..575df8a 100644 --- a/src/DFlow.Domain/BusinessObjects/BaseEntity.cs +++ b/src/DFlow.Domain/BusinessObjects/BaseEntity.cs @@ -10,10 +10,9 @@ using System.Linq; using DFlow.Domain.Validation; - namespace DFlow.Domain.BusinessObjects { - public abstract class BaseEntity: BaseValidation, + public abstract class BaseEntity : BaseValidation, IEntityIdentity { protected BaseEntity(TIdentity identity, VersionId version) @@ -21,31 +20,28 @@ protected BaseEntity(TIdentity identity, VersionId version) Identity = identity; Version = version; } - - public TIdentity Identity { get; } - + public VersionId Version { get; } - public bool IsNew() => Version.Initial; - + public TIdentity Identity { get; } + + public bool IsNew() + { + return Version.Initial; + } + public override string ToString() { return $"[ENTITY]:[IDENTITY: {Identity}]"; } - + protected abstract IEnumerable GetEqualityComponents(); public override bool Equals(object obj) { - if (obj == null) - { - return false; - } - - if (GetType() != obj.GetType()) - { - return false; - } + if (obj == null) return false; + + if (GetType() != obj.GetType()) return false; var entity = (BaseEntity)obj; diff --git a/src/DFlow.Domain/BusinessObjects/EventStream.cs b/src/DFlow.Domain/BusinessObjects/EventStream.cs index 64c2da3..e509875 100644 --- a/src/DFlow.Domain/BusinessObjects/EventStream.cs +++ b/src/DFlow.Domain/BusinessObjects/EventStream.cs @@ -1,36 +1,38 @@ using System.Collections.Generic; using System.Collections.Immutable; using DFlow.Domain.Events; -using DFlow.Domain.Validation; namespace DFlow.Domain.BusinessObjects { - public class EventStream: BaseEntity + public class EventStream : BaseEntity { - private EventStream(TEntityId aggregateId, AggregationName aggregationName, VersionId version, IImmutableList events) - :base(aggregateId, version) + private EventStream(TEntityId aggregateId, AggregationName aggregationName, VersionId version, + IImmutableList events) + : base(aggregateId, version) { AggregationId = aggregateId; Name = aggregationName; Events = events; } - + public TEntityId AggregationId { get; } public AggregationName Name { get; } public IImmutableList Events { get; } - - public static EventStream From(TEntityId aggregateId, AggregationName name, VersionId version, IImmutableList events) + + public static EventStream From(TEntityId aggregateId, AggregationName name, VersionId version, + IImmutableList events) { - var eventStream = new EventStream(aggregateId,name,version,events); + var eventStream = new EventStream(aggregateId, name, version, events); return eventStream; } - public static EventStream AppendStream(EventStream stream, IImmutableList appendEvents) + public static EventStream AppendStream(EventStream stream, + IImmutableList appendEvents) { var newStream = stream.Events.AddRange(appendEvents); return From(stream.AggregationId, stream.Name, VersionId.Next(stream.Version), newStream); } - + protected override IEnumerable GetEqualityComponents() { yield return AggregationId; diff --git a/src/DFlow.Domain/BusinessObjects/ValueOf.cs b/src/DFlow.Domain/BusinessObjects/ValueOf.cs index 428e9a7..a3094d0 100644 --- a/src/DFlow.Domain/BusinessObjects/ValueOf.cs +++ b/src/DFlow.Domain/BusinessObjects/ValueOf.cs @@ -4,16 +4,13 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System.Collections.Immutable; -using System.Linq; using DFlow.Domain.Validation; namespace DFlow.Domain.BusinessObjects { - public class ValueOf:ValueOf.ValueOf - where TThis : ValueOf,new() + public class ValueOf : ValueOf.ValueOf + where TThis : ValueOf, new() { - private readonly ValidationResult _validationStatus = ValidationResult.Empty(); - public ValidationResult ValidationStatus => _validationStatus; + public ValidationResult ValidationStatus { get; } = ValidationResult.Empty(); } } \ No newline at end of file diff --git a/src/DFlow.Domain/BusinessObjects/VersionId.cs b/src/DFlow.Domain/BusinessObjects/VersionId.cs index 78aa042..5baa639 100644 --- a/src/DFlow.Domain/BusinessObjects/VersionId.cs +++ b/src/DFlow.Domain/BusinessObjects/VersionId.cs @@ -13,7 +13,7 @@ public sealed class VersionId : ValueOf public static readonly int VersionIncrement = 1; public bool Initial => Value == VersionInitial; - + public static VersionId Empty() { return From(VersionEmpty); @@ -30,15 +30,23 @@ public static VersionId Next(VersionId current) } public static bool operator >=(VersionId a, VersionId b) - => a.Value >= b.Value; + { + return a.Value >= b.Value; + } public static bool operator <=(VersionId a, VersionId b) - => a.Value <= b.Value; - + { + return a.Value <= b.Value; + } + public static bool operator >(VersionId a, VersionId b) - => a.Value > b.Value; + { + return a.Value > b.Value; + } public static bool operator <(VersionId a, VersionId b) - => a.Value < b.Value; + { + return a.Value < b.Value; + } } } \ No newline at end of file diff --git a/src/DFlow.Domain/Command/BaseCommand.cs b/src/DFlow.Domain/Command/BaseCommand.cs index ff80ab8..e0abf59 100644 --- a/src/DFlow.Domain/Command/BaseCommand.cs +++ b/src/DFlow.Domain/Command/BaseCommand.cs @@ -10,13 +10,13 @@ namespace DFlow.Domain.Command { - public class BaseCommand: BaseValidation, ICommand + public class BaseCommand : BaseValidation, ICommand { - public DateTime When { get; } - public BaseCommand() { When = DateTime.Now; } + + public DateTime When { get; } } } \ No newline at end of file diff --git a/src/DFlow.Domain/DFlow.Domain.csproj b/src/DFlow.Domain/DFlow.Domain.csproj index 4c0e250..e84fba8 100644 --- a/src/DFlow.Domain/DFlow.Domain.csproj +++ b/src/DFlow.Domain/DFlow.Domain.csproj @@ -8,16 +8,16 @@ - + - + true - true + true diff --git a/src/DFlow.Domain/DomainEvents/AggregateAddedDomainEvent.cs b/src/DFlow.Domain/DomainEvents/AggregateAddedDomainEvent.cs index 2f6ea68..2f726d1 100644 --- a/src/DFlow.Domain/DomainEvents/AggregateAddedDomainEvent.cs +++ b/src/DFlow.Domain/DomainEvents/AggregateAddedDomainEvent.cs @@ -12,7 +12,7 @@ namespace DFlow.Domain.DomainEvents public class AggregateAddedDomainEvent : DomainEvent { protected AggregateAddedDomainEvent(TEntityId aggregateId, VersionId version) - :base(DateTime.Now, version) + : base(DateTime.Now, version) { AggregateId = aggregateId; } diff --git a/src/DFlow.Domain/DomainEvents/DomainEvent.cs b/src/DFlow.Domain/DomainEvents/DomainEvent.cs index 4200349..c8032dc 100644 --- a/src/DFlow.Domain/DomainEvents/DomainEvent.cs +++ b/src/DFlow.Domain/DomainEvents/DomainEvent.cs @@ -18,7 +18,8 @@ protected DomainEvent(DateTime when, VersionId version) Version = version; } - public DateTime When { get; } public VersionId Version { get; } + + public DateTime When { get; } } } \ No newline at end of file diff --git a/src/DFlow.Domain/Specifications/AndSpecification.cs b/src/DFlow.Domain/Specifications/AndSpecification.cs index 8c06050..c47b131 100644 --- a/src/DFlow.Domain/Specifications/AndSpecification.cs +++ b/src/DFlow.Domain/Specifications/AndSpecification.cs @@ -6,17 +6,18 @@ namespace DFlow.Domain.Specifications { - public class AndSpecification:LogicalSpecification + public class AndSpecification : LogicalSpecification { - public AndSpecification(ISpecification leftCondition, ISpecification rightCondition) + public AndSpecification(ISpecification leftCondition, + ISpecification rightCondition) : base(leftCondition, rightCondition) { } public override bool IsSatisfiedBy(TBusinessObject candidate) { - return LeftCondition.IsSatisfiedBy(candidate) + return LeftCondition.IsSatisfiedBy(candidate) && RightCondition.IsSatisfiedBy(candidate); } } -} +} \ No newline at end of file diff --git a/src/DFlow.Domain/Specifications/CompositeSpecification.cs b/src/DFlow.Domain/Specifications/CompositeSpecification.cs index 91e75df..cece476 100644 --- a/src/DFlow.Domain/Specifications/CompositeSpecification.cs +++ b/src/DFlow.Domain/Specifications/CompositeSpecification.cs @@ -4,29 +4,25 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System.Collections.Generic; -using System.Collections.Immutable; - namespace DFlow.Domain.Specifications { - public abstract class CompositeSpecification:ISpecification + public abstract class CompositeSpecification : ISpecification { public ISpecification And(ISpecification candidate) { - return new AndSpecification(this,candidate); + return new AndSpecification(this, candidate); } public ISpecification Or(ISpecification candidate) { - return new OrSpecification(this,candidate); - + return new OrSpecification(this, candidate); } public ISpecification Not() { return new NotSpecification(this); } - + public abstract bool IsSatisfiedBy(TBusinessObject candidate); } -} +} \ No newline at end of file diff --git a/src/DFlow.Domain/Specifications/ISpecification.cs b/src/DFlow.Domain/Specifications/ISpecification.cs index 05bfd84..4e0168c 100644 --- a/src/DFlow.Domain/Specifications/ISpecification.cs +++ b/src/DFlow.Domain/Specifications/ISpecification.cs @@ -4,8 +4,6 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System.Collections.Generic; - namespace DFlow.Domain.Specifications { public interface ISpecification @@ -15,4 +13,4 @@ public interface ISpecification ISpecification Or(ISpecification other); ISpecification Not(); } -} +} \ No newline at end of file diff --git a/src/DFlow.Domain/Specifications/LinqExpressionSpecification.cs b/src/DFlow.Domain/Specifications/LinqExpressionSpecification.cs index 3415c23..02437c3 100644 --- a/src/DFlow.Domain/Specifications/LinqExpressionSpecification.cs +++ b/src/DFlow.Domain/Specifications/LinqExpressionSpecification.cs @@ -10,11 +10,13 @@ namespace DFlow.Domain.Specifications { public abstract class LinqExpressionSpecification - :CompositeSpecification + : CompositeSpecification { protected abstract Expression> AsExpression(); - - public override bool IsSatisfiedBy(TBusinessObject candidate) - => AsExpression().Compile()(candidate); + + public override bool IsSatisfiedBy(TBusinessObject candidate) + { + return AsExpression().Compile()(candidate); + } } -} +} \ No newline at end of file diff --git a/src/DFlow.Domain/Specifications/LogicalSpecification.cs b/src/DFlow.Domain/Specifications/LogicalSpecification.cs index c17aae4..f58244c 100644 --- a/src/DFlow.Domain/Specifications/LogicalSpecification.cs +++ b/src/DFlow.Domain/Specifications/LogicalSpecification.cs @@ -6,17 +6,17 @@ namespace DFlow.Domain.Specifications { - public abstract class LogicalSpecification:CompositeSpecification + public abstract class LogicalSpecification : CompositeSpecification { - protected ISpecification LeftCondition { get; } - - protected ISpecification RightCondition { get; } - protected LogicalSpecification(ISpecification leftCondition, ISpecification rightCondition) { LeftCondition = leftCondition; RightCondition = rightCondition; } + + protected ISpecification LeftCondition { get; } + + protected ISpecification RightCondition { get; } } -} +} \ No newline at end of file diff --git a/src/DFlow.Domain/Specifications/NotSpecification.cs b/src/DFlow.Domain/Specifications/NotSpecification.cs index 3b38e7f..49c4121 100644 --- a/src/DFlow.Domain/Specifications/NotSpecification.cs +++ b/src/DFlow.Domain/Specifications/NotSpecification.cs @@ -6,18 +6,18 @@ namespace DFlow.Domain.Specifications { - public class NotSpecification:CompositeSpecification + public class NotSpecification : CompositeSpecification { - protected ISpecification Condition { get; } - public NotSpecification(ISpecification condition) { Condition = condition; } + protected ISpecification Condition { get; } + public override bool IsSatisfiedBy(TBusinessObject candidate) { return !Condition.IsSatisfiedBy(candidate); } } -} +} \ No newline at end of file diff --git a/src/DFlow.Domain/Specifications/OrSpecification.cs b/src/DFlow.Domain/Specifications/OrSpecification.cs index 6e70b9d..88f236c 100644 --- a/src/DFlow.Domain/Specifications/OrSpecification.cs +++ b/src/DFlow.Domain/Specifications/OrSpecification.cs @@ -6,17 +6,18 @@ namespace DFlow.Domain.Specifications { - public class OrSpecification:LogicalSpecification + public class OrSpecification : LogicalSpecification { - public OrSpecification(ISpecification leftCondition, ISpecification rightCondition) + public OrSpecification(ISpecification leftCondition, + ISpecification rightCondition) : base(leftCondition, rightCondition) { } public override bool IsSatisfiedBy(TBusinessObject candidate) { - return LeftCondition.IsSatisfiedBy(candidate) + return LeftCondition.IsSatisfiedBy(candidate) || RightCondition.IsSatisfiedBy(candidate); } } -} +} \ No newline at end of file diff --git a/src/DFlow.Domain/Validation/BaseValidation.cs b/src/DFlow.Domain/Validation/BaseValidation.cs index 2e51579..554a186 100644 --- a/src/DFlow.Domain/Validation/BaseValidation.cs +++ b/src/DFlow.Domain/Validation/BaseValidation.cs @@ -10,9 +10,11 @@ namespace DFlow.Domain.Validation { - public abstract class BaseValidation: IValidable + public abstract class BaseValidation : IValidable { - private readonly List _failures = new (); + private readonly List _failures = new(); + + public IReadOnlyList Failures => _failures.ToImmutableList(); public void AppendValidationResult(Failure failure) { @@ -24,8 +26,6 @@ public void AppendValidationResult(IReadOnlyList failures) _failures.AddRange(failures); } - public IReadOnlyList Failures => _failures.ToImmutableList(); - public bool IsValid => _failures.Count == 0; } } \ No newline at end of file diff --git a/src/DFlow.Domain/Validation/Failure.cs b/src/DFlow.Domain/Validation/Failure.cs index 7059ace..4cfc15f 100644 --- a/src/DFlow.Domain/Validation/Failure.cs +++ b/src/DFlow.Domain/Validation/Failure.cs @@ -4,8 +4,6 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System; - namespace DFlow.Domain.Validation { public class Failure @@ -16,20 +14,21 @@ public Failure(string propertyName, string message, string value) Message = message; Value = value; } + public string PropertyName { get; } - + public string Message { get; } - + public string Value { get; } public static Failure For(string propertyName, string message, string value) { return new Failure(propertyName, message, value); - } - + } + public static Failure For(string propertyName, string message) { - return For(propertyName, message, String.Empty); - } + return For(propertyName, message, string.Empty); + } } } \ No newline at end of file diff --git a/src/DFlow.Domain/Validation/IValidable.cs b/src/DFlow.Domain/Validation/IValidable.cs index 1c25636..bf6f094 100644 --- a/src/DFlow.Domain/Validation/IValidable.cs +++ b/src/DFlow.Domain/Validation/IValidable.cs @@ -13,7 +13,7 @@ public interface IValidable { bool IsValid { get; } void AppendValidationResult(Failure failure); - + void AppendValidationResult(IReadOnlyList failures); } } \ No newline at end of file diff --git a/src/DFlow.Domain/Validation/ValidationResult.cs b/src/DFlow.Domain/Validation/ValidationResult.cs index 038c061..4b87b82 100644 --- a/src/DFlow.Domain/Validation/ValidationResult.cs +++ b/src/DFlow.Domain/Validation/ValidationResult.cs @@ -4,10 +4,8 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System; using System.Collections.Generic; using System.Collections.Immutable; -using System.Linq; namespace DFlow.Domain.Validation { @@ -15,14 +13,11 @@ public class ValidationResult { private readonly List _failures = new(); - public ValidationResult( IReadOnlyList failures) + public ValidationResult(IReadOnlyList failures) { - if (failures.Count > 0) - { - _failures.AddRange(failures); - } + if (failures.Count > 0) _failures.AddRange(failures); } - + public virtual bool IsValid => Failures.Count == 0; public IReadOnlyList Failures => _failures; @@ -31,17 +26,17 @@ public void Append(Failure failure) { _failures.Add(failure); } - + public static ValidationResult For(IReadOnlyList failures) { return new ValidationResult(failures); - } - + } + public static ValidationResult For(Failure failure) { - return new ValidationResult(new List{failure}); - } - + return new ValidationResult(new List { failure }); + } + public static ValidationResult Empty() { return new ValidationResult(ImmutableList.Empty); diff --git a/src/DFlow.Persistence/ReadModel/Repositories/IProjectionRepository.cs b/src/DFlow.Persistence/ReadModel/Repositories/IProjectionRepository.cs index fe3c066..ff7f50a 100644 --- a/src/DFlow.Persistence/ReadModel/Repositories/IProjectionRepository.cs +++ b/src/DFlow.Persistence/ReadModel/Repositories/IProjectionRepository.cs @@ -19,7 +19,8 @@ public interface IProjectionRepository where TModel : class void Remove(TModel entity); IReadOnlyList Find(Expression> predicate); Task> FindAsync(Expression> predicate); - - Task> FindAsync(Expression> predicate, CancellationToken cancellationToken); + + Task> FindAsync(Expression> predicate, + CancellationToken cancellationToken); } } \ No newline at end of file diff --git a/src/DFlow.Persistence/Repositories/IRepository.cs b/src/DFlow.Persistence/Repositories/IRepository.cs index 73596fb..02c7a21 100644 --- a/src/DFlow.Persistence/Repositories/IRepository.cs +++ b/src/DFlow.Persistence/Repositories/IRepository.cs @@ -13,12 +13,14 @@ namespace DFlow.Persistence.Repositories { - public interface IRepository where TModel : class + public interface IRepository where TModel : class { void Add(TModel entity); void Remove(TModel entity); IEnumerable Find(Expression> predicate); Task> FindAsync(Expression> predicate); - Task> FindAsync(Expression> predicate, CancellationToken cancellationToken); + + Task> FindAsync(Expression> predicate, + CancellationToken cancellationToken); } } \ No newline at end of file diff --git a/src/DFlow/Base/Aggregate/AggregateCreated.cs b/src/DFlow/Base/Aggregate/AggregateCreated.cs index 8dc41e8..f359c86 100644 --- a/src/DFlow/Base/Aggregate/AggregateCreated.cs +++ b/src/DFlow/Base/Aggregate/AggregateCreated.cs @@ -6,12 +6,11 @@ namespace DFlow.Base.Aggregate [Serializable] public sealed class AggregateCreated : IEvent { - public TKey Id { get; private set; } - public AggregateCreated(TKey id) { Id = id; } - + + public TKey Id { get; private set; } } } \ No newline at end of file diff --git a/src/DFlow/Base/Aggregate/AggregateFactoryBase.cs b/src/DFlow/Base/Aggregate/AggregateFactoryBase.cs index 79eea2b..38860ba 100644 --- a/src/DFlow/Base/Aggregate/AggregateFactoryBase.cs +++ b/src/DFlow/Base/Aggregate/AggregateFactoryBase.cs @@ -1,50 +1,50 @@ using System; -using System.Diagnostics.Tracing; using DFlow.Interfaces; namespace DFlow.Base.Aggregate { public abstract class AggregateFactoryBase { - private readonly ISnapshotRepository? _snapshotRepository; private readonly IEventStore _eventStore; + private readonly ISnapshotRepository? _snapshotRepository; protected AggregateFactoryBase(IEventStore eventStore) { _eventStore = eventStore; } - + protected AggregateFactoryBase(IEventStore eventStore, ISnapshotRepository snapshotRepository) - : this(eventStore) + : this(eventStore) { _snapshotRepository = snapshotRepository; } - + public TAggregate Load(Guid id) where TAggregate : AggregateRoot { TAggregate root; long snapshotVersion = 0; - - if (_snapshotRepository != null && _snapshotRepository.TryGetSnapshotById(id, out root, out snapshotVersion)) + + if (_snapshotRepository != null && + _snapshotRepository.TryGetSnapshotById(id, out root, out snapshotVersion)) { var stream = _eventStore.LoadEventStreamAfterVersion(id, snapshotVersion); - + root.ReplayEvents(stream.Events); return root; } - else + else { - EventStream stream = _eventStore.LoadEventStream(id); + var stream = _eventStore.LoadEventStream(id); - return (TAggregate)Activator.CreateInstance(typeof(TAggregate), new object[] { stream }); + return (TAggregate)Activator.CreateInstance(typeof(TAggregate), stream); } } - public abstract TAggregate Create() + public abstract TAggregate Create() where TAggregate : AggregateRoot; - + public abstract TAggregate Create(Guid id) where TAggregate : AggregateRoot; } diff --git a/src/DFlow/Base/Aggregate/AggregateRoot.cs b/src/DFlow/Base/Aggregate/AggregateRoot.cs index e6229d1..5006f98 100644 --- a/src/DFlow/Base/Aggregate/AggregateRoot.cs +++ b/src/DFlow/Base/Aggregate/AggregateRoot.cs @@ -7,11 +7,6 @@ namespace DFlow.Base.Aggregate [Serializable] public abstract class AggregateRoot { - public IList Changes { get; protected set; } - public IList DomainEvents { get; protected set; } - public T Id { get; protected set; } - public long Version { get; protected set; } - protected AggregateRoot(EventStream stream) { Changes = new List(); @@ -20,14 +15,16 @@ protected AggregateRoot(EventStream stream) ReplayEvents(stream.Events); } + public IList Changes { get; protected set; } + public IList DomainEvents { get; protected set; } + public T Id { get; protected set; } + public long Version { get; protected set; } + public void ReplayEvents(IEnumerable events) { - foreach (var @event in events) - { - Mutate(@event); - } + foreach (var @event in events) Mutate(@event); } - + protected void Apply(IEvent @event) { Changes.Add(@event); @@ -41,6 +38,5 @@ protected void Dispatch(IDomainEvent @event) } protected abstract void Mutate(IEvent e); - } } \ No newline at end of file diff --git a/src/DFlow/Base/AppendOnlyBase.cs b/src/DFlow/Base/AppendOnlyBase.cs index d9121dc..d38ec60 100644 --- a/src/DFlow/Base/AppendOnlyBase.cs +++ b/src/DFlow/Base/AppendOnlyBase.cs @@ -10,14 +10,11 @@ namespace DFlow.Base { public abstract class AppendOnlyBase { - readonly BinaryFormatter _formatter = new BinaryFormatter(); + private readonly BinaryFormatter _formatter = new BinaryFormatter(); public void Append(Guid id, string aggregateType, long version, ICollection events) { - if (events.Count == 0) - { - return; - } + if (events.Count == 0) return; var data = SerializeEvent(events.ToArray()); @@ -34,19 +31,17 @@ public void Append(Guid id, string aggregateType, long version, ICollection 0 && originalVersion != stream.Version) - { throw new EventStoreConcurrencyException(stream.Events, stream.Version); - } } - + Save(id, aggregateType, version, data); } protected abstract void Save(Guid id, string aggregateType, long version, byte[] data); public abstract bool Any(Guid aggregateId); public abstract IEnumerable ReadRecords(Guid aggregateId, long afterVersion, int maxCount); - - byte[] SerializeEvent(IEvent[] e) + + private byte[] SerializeEvent(IEvent[] e) { using (var mem = new MemoryStream()) { @@ -54,8 +49,8 @@ byte[] SerializeEvent(IEvent[] e) return mem.ToArray(); } } - - IEvent[] DeserializeEvent(byte[] data) + + private IEvent[] DeserializeEvent(byte[] data) { using (var mem = new MemoryStream(data)) { diff --git a/src/DFlow/Base/DataWithName.cs b/src/DFlow/Base/DataWithName.cs index ab24bb9..dd14b4b 100644 --- a/src/DFlow/Base/DataWithName.cs +++ b/src/DFlow/Base/DataWithName.cs @@ -8,8 +8,7 @@ public DataWithName(string name, byte[] data) Data = data; } - public string Name { get; private set; } - public byte[] Data{ get; private set; } - + public string Name { get; } + public byte[] Data { get; } } } \ No newline at end of file diff --git a/src/DFlow/Base/DataWithVersion.cs b/src/DFlow/Base/DataWithVersion.cs index 304fdd5..3557817 100644 --- a/src/DFlow/Base/DataWithVersion.cs +++ b/src/DFlow/Base/DataWithVersion.cs @@ -8,7 +8,7 @@ public DataWithVersion(long version, byte[] data) Data = data; } - public long Version { get; private set; } - public byte[] Data{ get; private set; } + public long Version { get; } + public byte[] Data { get; } } } \ No newline at end of file diff --git a/src/DFlow/Base/EventStore.cs b/src/DFlow/Base/EventStore.cs index 4483770..852f665 100644 --- a/src/DFlow/Base/EventStore.cs +++ b/src/DFlow/Base/EventStore.cs @@ -3,44 +3,30 @@ using System.IO; using System.Linq; using System.Runtime.Serialization.Formatters.Binary; -using System.Transactions; using DFlow.Interfaces; namespace DFlow.Base { public class EventStore : IEventStore { - - readonly IAppendOnlyStore _appendOnlyStore; + private readonly IAppendOnlyStore _appendOnlyStore; private readonly IEventBus _eventBus; - readonly BinaryFormatter _formatter = new BinaryFormatter(); - + private readonly BinaryFormatter _formatter = new BinaryFormatter(); + public EventStore(IAppendOnlyStore appendOnlyStore, IEventBus eventBus) { _appendOnlyStore = appendOnlyStore; _eventBus = eventBus; } - - public EventStream LoadEventStream(Guid id) => LoadEventStream(id, 0, Int32.MaxValue); - - public EventStream LoadEventStream(Guid id, int skipEvents, int maxCount) - { - var records = _appendOnlyStore.ReadRecords(id, skipEvents, maxCount).ToList(); - var stream = new EventStream(); - - foreach (var tapeRecord in records) - { - stream.Events.AddRange(DeserializeEvent(tapeRecord.Data)); - stream.Version = tapeRecord.Version; - } - - return stream; + public EventStream LoadEventStream(Guid id) + { + return LoadEventStream(id, 0, int.MaxValue); } public EventStream LoadEventStreamAfterVersion(Guid id, long afterVersion) { - var records = _appendOnlyStore.ReadRecords(id, afterVersion, Int32.MaxValue).ToList(); + var records = _appendOnlyStore.ReadRecords(id, afterVersion, int.MaxValue).ToList(); var stream = new EventStream(); @@ -53,7 +39,8 @@ public EventStream LoadEventStreamAfterVersion(Guid id, long afterVersion) return stream; } - public void AppendToStream(Guid id, long version, ICollection events, params IDomainEvent[] domainEvents) + public void AppendToStream(Guid id, long version, ICollection events, + params IDomainEvent[] domainEvents) { //salvar os dados em uma lista interna var aggregateType = typeof(TType).Name; @@ -65,8 +52,23 @@ public bool Any(Guid id) { return _appendOnlyStore.Any(id); } - - IEvent[] DeserializeEvent(byte[] data) + + public EventStream LoadEventStream(Guid id, int skipEvents, int maxCount) + { + var records = _appendOnlyStore.ReadRecords(id, skipEvents, maxCount).ToList(); + + var stream = new EventStream(); + + foreach (var tapeRecord in records) + { + stream.Events.AddRange(DeserializeEvent(tapeRecord.Data)); + stream.Version = tapeRecord.Version; + } + + return stream; + } + + private IEvent[] DeserializeEvent(byte[] data) { using (var mem = new MemoryStream(data)) { diff --git a/src/DFlow/Base/EventStream.cs b/src/DFlow/Base/EventStream.cs index 2dd5300..c4445f9 100644 --- a/src/DFlow/Base/EventStream.cs +++ b/src/DFlow/Base/EventStream.cs @@ -5,7 +5,7 @@ namespace DFlow.Base { public class EventStream { - public long Version; public List Events = new List(); + public long Version; } } \ No newline at end of file diff --git a/src/DFlow/Base/Events/CommandEvent.cs b/src/DFlow/Base/Events/CommandEvent.cs index 3ca3b6e..efa0b71 100644 --- a/src/DFlow/Base/Events/CommandEvent.cs +++ b/src/DFlow/Base/Events/CommandEvent.cs @@ -1,17 +1,17 @@ using System; -using System.Collections.Generic; using DFlow.Interfaces; namespace DFlow.Base.Events { - public class CommandEvent: IEvent + public class CommandEvent : IEvent { public CommandEvent(OperationStatus status, params Exception[] exceptions) { Status = status; Exceptions = exceptions; } - public OperationStatus Status { get; private set; } - public Exception[] Exceptions { get; private set; } + + public OperationStatus Status { get; } + public Exception[] Exceptions { get; } } } \ No newline at end of file diff --git a/src/DFlow/Base/Exceptions/DuplicatedRootException.cs b/src/DFlow/Base/Exceptions/DuplicatedRootException.cs index f951ede..3a958ee 100644 --- a/src/DFlow/Base/Exceptions/DuplicatedRootException.cs +++ b/src/DFlow/Base/Exceptions/DuplicatedRootException.cs @@ -7,7 +7,6 @@ public class DuplicatedRootException : Exception public DuplicatedRootException(string key) : base($"An aggregate with the same key {key} is already registered") { - } } } \ No newline at end of file diff --git a/src/DFlow/Base/Exceptions/EventStoreConcurrencyException.cs b/src/DFlow/Base/Exceptions/EventStoreConcurrencyException.cs index ccf377d..d7becd2 100644 --- a/src/DFlow/Base/Exceptions/EventStoreConcurrencyException.cs +++ b/src/DFlow/Base/Exceptions/EventStoreConcurrencyException.cs @@ -6,14 +6,14 @@ namespace DFlow.Base.Exceptions { public class EventStoreConcurrencyException : Exception { - public List StoreEvents { get; protected set; } - - public long StoreVersion { get; protected set; } - public EventStoreConcurrencyException(List storeEvents, long storeVersion) { StoreEvents = storeEvents; StoreVersion = storeVersion; } + + public List StoreEvents { get; protected set; } + + public long StoreVersion { get; protected set; } } } \ No newline at end of file diff --git a/src/DFlow/Base/Handler.cs b/src/DFlow/Base/Handler.cs index c47b52d..00c0bd2 100644 --- a/src/DFlow/Base/Handler.cs +++ b/src/DFlow/Base/Handler.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.Linq; using DFlow.Base.Aggregate; using DFlow.Base.Events; @@ -21,38 +20,35 @@ protected virtual bool HasConflict(IEvent event1, IEvent event2) { return event1.GetType() == event2.GetType(); } - + public virtual CommandEvent Execute(ICommand command) { var keep = true; CommandEvent result = null; - - while(keep) + + while (keep) { result = ((dynamic)this).When((dynamic)command); keep = result == null; } - + return result; } //Dessa forma, os métodos HasConflict e HandleConcurrencyException podem ser sobrescritos para se adaptar a questões de negócio - protected virtual void HandleConcurrencyException(EventStoreConcurrencyException ex, TAggregate root) + protected virtual void HandleConcurrencyException(EventStoreConcurrencyException ex, + TAggregate root) where TAggregate : AggregateRoot { foreach (var changeEvent in root.Changes) - { - foreach (var storeEvent in ex.StoreEvents) + foreach (var storeEvent in ex.StoreEvents) + if (HasConflict(changeEvent, storeEvent)) { - if (HasConflict(changeEvent, storeEvent)) - { - var msg = string.Format("Conflict between {0} and {1}", - changeEvent, changeEvent); - throw new Exception(msg, ex); - } + var msg = string.Format("Conflict between {0} and {1}", + changeEvent, changeEvent); + throw new Exception(msg, ex); } - } - + var actualVersion = root.Version - root.Changes.Count; actualVersion += actualVersion; _eventStore.AppendToStream(root.Id, actualVersion, root.Changes, root.DomainEvents.ToArray()); diff --git a/src/DFlow/Base/Result.cs b/src/DFlow/Base/Result.cs index 5c2f164..2ca1307 100644 --- a/src/DFlow/Base/Result.cs +++ b/src/DFlow/Base/Result.cs @@ -11,8 +11,8 @@ public Result(T data, IList exceptions) Exceptions = exceptions; } - public T Data { get; private set; } - public IList Exceptions { get; private set; } + public T Data { get; } + public IList Exceptions { get; } public bool HasExceptions => Exceptions != null && Exceptions.Count > 0; } diff --git a/src/DFlow/Base/Subscriber.cs b/src/DFlow/Base/Subscriber.cs index 9843309..3eb2369 100644 --- a/src/DFlow/Base/Subscriber.cs +++ b/src/DFlow/Base/Subscriber.cs @@ -4,9 +4,9 @@ namespace DFlow.Base { public abstract class Subscriber { - public virtual void Update(T @event) where T: IEvent + public virtual void Update(T @event) where T : IEvent { - ((dynamic) this).When((dynamic)@event); + ((dynamic)this).When((dynamic)@event); } public abstract string GetSubscriberId(); diff --git a/src/DFlow/Bus/MemoryEventBus.cs b/src/DFlow/Bus/MemoryEventBus.cs index a0b6eb2..8c2daf3 100644 --- a/src/DFlow/Bus/MemoryEventBus.cs +++ b/src/DFlow/Bus/MemoryEventBus.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using DFlow.Configuration; +using DFlow.Configuration; using DFlow.Interfaces; namespace DFlow.Bus @@ -20,11 +17,8 @@ public void Publish(params IEvent[] events) foreach (var @event in events) { var subscribers = _resolver.Resolve(@event.GetType()); - - foreach (var subscriber in subscribers) - { - ((dynamic)subscriber).Update((dynamic)@event); - } + + foreach (var subscriber in subscribers) ((dynamic)subscriber).Update((dynamic)@event); } } } diff --git a/src/DFlow/Configuration/IDependencyResolver.cs b/src/DFlow/Configuration/IDependencyResolver.cs index 789c64f..b07ff41 100644 --- a/src/DFlow/Configuration/IDependencyResolver.cs +++ b/src/DFlow/Configuration/IDependencyResolver.cs @@ -1,7 +1,5 @@ using System; -using System.Collections; using System.Collections.Generic; -using DFlow.Interfaces; namespace DFlow.Configuration { diff --git a/src/DFlow/Configuration/Startup/EntryPoint.cs b/src/DFlow/Configuration/Startup/EntryPoint.cs index 8b5b01f..4785319 100644 --- a/src/DFlow/Configuration/Startup/EntryPoint.cs +++ b/src/DFlow/Configuration/Startup/EntryPoint.cs @@ -4,16 +4,12 @@ namespace DFlow.Configuration.Startup { public sealed class EntryPoint { + private static readonly Lazy lazy = new Lazy(() => new EntryPoint()); + private EntryPoint() { - - } - - private static readonly Lazy lazy = new Lazy(() => new EntryPoint()); - - public static EntryPoint Instance - { - get { return lazy.Value; } } + + public static EntryPoint Instance => lazy.Value; } } \ No newline at end of file diff --git a/src/DFlow/DFlow.csproj b/src/DFlow/DFlow.csproj index 4333873..3bae26f 100644 --- a/src/DFlow/DFlow.csproj +++ b/src/DFlow/DFlow.csproj @@ -8,8 +8,8 @@ DFlow DFlow Library - - + + MPL-2.0 https://github.com/roadtoagility/dflow GIT @@ -26,10 +26,10 @@ 0.1.0 - + - true + true diff --git a/src/DFlow/Interfaces/IAppendOnlyStore.cs b/src/DFlow/Interfaces/IAppendOnlyStore.cs index b323938..84b96b0 100644 --- a/src/DFlow/Interfaces/IAppendOnlyStore.cs +++ b/src/DFlow/Interfaces/IAppendOnlyStore.cs @@ -4,7 +4,7 @@ namespace DFlow.Interfaces { - public interface IAppendOnlyStore: IDisposable + public interface IAppendOnlyStore : IDisposable { void Append(Guid id, string aggregateType, long version, ICollection events); @@ -13,10 +13,9 @@ public interface IAppendOnlyStore: IDisposable IEnumerable ReadRecords(long afterVersion, int maxCount); IEnumerable ReadRecords(long afterVersion, int maxCount); - + bool Any(TKey aggregateId); void Close(); - } } \ No newline at end of file diff --git a/src/DFlow/Interfaces/ICommand.cs b/src/DFlow/Interfaces/ICommand.cs index b796b97..0e0343b 100644 --- a/src/DFlow/Interfaces/ICommand.cs +++ b/src/DFlow/Interfaces/ICommand.cs @@ -2,6 +2,5 @@ namespace DFlow.Interfaces { public interface ICommand { - } } \ No newline at end of file diff --git a/src/DFlow/Interfaces/IDomainEvent.cs b/src/DFlow/Interfaces/IDomainEvent.cs index c5ed8dc..cd29430 100644 --- a/src/DFlow/Interfaces/IDomainEvent.cs +++ b/src/DFlow/Interfaces/IDomainEvent.cs @@ -2,6 +2,5 @@ namespace DFlow.Interfaces { public interface IDomainEvent : IEvent { - } } \ No newline at end of file diff --git a/src/DFlow/Interfaces/IEvent.cs b/src/DFlow/Interfaces/IEvent.cs index a04f59f..560c5c3 100644 --- a/src/DFlow/Interfaces/IEvent.cs +++ b/src/DFlow/Interfaces/IEvent.cs @@ -2,6 +2,5 @@ namespace DFlow.Interfaces { public interface IEvent { - } } \ No newline at end of file diff --git a/src/DFlow/Interfaces/IEventBus.cs b/src/DFlow/Interfaces/IEventBus.cs index 3be3067..a1e7288 100644 --- a/src/DFlow/Interfaces/IEventBus.cs +++ b/src/DFlow/Interfaces/IEventBus.cs @@ -1,9 +1,7 @@ -using System; - namespace DFlow.Interfaces { public interface IEventBus - { + { // void Subscribe(ISubscriber subscriber); // void Unsubscribe(ISubscriber subscriber); void Publish(params IEvent[] events); diff --git a/src/DFlow/Interfaces/IEventStore.cs b/src/DFlow/Interfaces/IEventStore.cs index fe0f199..fa76b24 100644 --- a/src/DFlow/Interfaces/IEventStore.cs +++ b/src/DFlow/Interfaces/IEventStore.cs @@ -8,8 +8,9 @@ public interface IEventStore EventStream LoadEventStream(TKey id); EventStream LoadEventStreamAfterVersion(TKey id, long snapshotVersion); - - void AppendToStream(TKey id, long version, ICollection events, params IDomainEvent[] domainEvents); + + void AppendToStream(TKey id, long version, ICollection events, + params IDomainEvent[] domainEvents); bool Any(TKey id); } diff --git a/src/DFlow/Interfaces/ISnapshotRepository.cs b/src/DFlow/Interfaces/ISnapshotRepository.cs index f676b1b..1ff31b5 100644 --- a/src/DFlow/Interfaces/ISnapshotRepository.cs +++ b/src/DFlow/Interfaces/ISnapshotRepository.cs @@ -7,6 +7,7 @@ public interface ISnapshotRepository bool TryGetSnapshotById(TKey id, out TAggregate snapshot, out long version) where TAggregate : AggregateRoot; - void SaveSnapshot(TKey id, TAggregate snapshot, long version) where TAggregate : AggregateRoot; + void SaveSnapshot(TKey id, TAggregate snapshot, long version) + where TAggregate : AggregateRoot; } } \ No newline at end of file diff --git a/src/Directory.Build.props b/src/Directory.Build.props index d0651f7..41c942f 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,8 +1,8 @@ - - 0.4.0 - pre - - + + 0.4.0 + pre + + \ No newline at end of file diff --git a/src/contrib/DFlow.AspNetCore/AspNetCoreDependencyResolver.cs b/src/contrib/DFlow.AspNetCore/AspNetCoreDependencyResolver.cs index 249deca..7d3f2c4 100644 --- a/src/contrib/DFlow.AspNetCore/AspNetCoreDependencyResolver.cs +++ b/src/contrib/DFlow.AspNetCore/AspNetCoreDependencyResolver.cs @@ -8,7 +8,7 @@ namespace DFlow.AspNetCore public class AspNetCoreDependencyResolver : IDependencyResolver { private readonly IServiceProvider _provider; - + public AspNetCoreDependencyResolver(IServiceProvider provider) { _provider = provider; diff --git a/src/contrib/DFlow.AspNetCore/DFlow.AspNetCore.csproj b/src/contrib/DFlow.AspNetCore/DFlow.AspNetCore.csproj index 65a817b..fbdd255 100644 --- a/src/contrib/DFlow.AspNetCore/DFlow.AspNetCore.csproj +++ b/src/contrib/DFlow.AspNetCore/DFlow.AspNetCore.csproj @@ -14,7 +14,7 @@ MPL-2.0 true - 0.1.0 + 0.1.0 Debug;Release;Release Profilling @@ -22,17 +22,17 @@ - true + true - - - + + + - + diff --git a/src/contrib/DFlow.DependencyInjection.SimpleInjector/DFlow.DependencyInjection.SimpleInjector.csproj b/src/contrib/DFlow.DependencyInjection.SimpleInjector/DFlow.DependencyInjection.SimpleInjector.csproj index e60c110..c600bbb 100644 --- a/src/contrib/DFlow.DependencyInjection.SimpleInjector/DFlow.DependencyInjection.SimpleInjector.csproj +++ b/src/contrib/DFlow.DependencyInjection.SimpleInjector/DFlow.DependencyInjection.SimpleInjector.csproj @@ -2,30 +2,30 @@ netcoreapp3.1 DFlow.DependencyInjection - 0.1.0 + 0.1.0 Debug;Release;Release Profilling AnyCPU - true + true - - ..\..\..\.nuget\packages\microsoft.aspnetcore.http.abstractions\2.2.0\lib\netstandard2.0\Microsoft.AspNetCore.Http.Abstractions.dll - + + ..\..\..\.nuget\packages\microsoft.aspnetcore.http.abstractions\2.2.0\lib\netstandard2.0\Microsoft.AspNetCore.Http.Abstractions.dll + - - - + + + - + diff --git a/src/contrib/DFlow.DependencyInjection.SimpleInjector/Initialize.cs b/src/contrib/DFlow.DependencyInjection.SimpleInjector/Initialize.cs index b9932c2..fcea7fe 100644 --- a/src/contrib/DFlow.DependencyInjection.SimpleInjector/Initialize.cs +++ b/src/contrib/DFlow.DependencyInjection.SimpleInjector/Initialize.cs @@ -3,7 +3,6 @@ using DFlow.Configuration; using DFlow.Interfaces; using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.DependencyInjection; using SimpleInjector; namespace DFlow.DependencyInjection diff --git a/src/contrib/DFlow.DependencyInjection.SimpleInjector/SimpleInjectorDependencyResolver.cs b/src/contrib/DFlow.DependencyInjection.SimpleInjector/SimpleInjectorDependencyResolver.cs index 4a2f46c..00dce12 100644 --- a/src/contrib/DFlow.DependencyInjection.SimpleInjector/SimpleInjectorDependencyResolver.cs +++ b/src/contrib/DFlow.DependencyInjection.SimpleInjector/SimpleInjectorDependencyResolver.cs @@ -1,8 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using DFlow.Configuration; -using DFlow.Interfaces; using SimpleInjector; namespace DFlow.DependencyInjection @@ -10,7 +8,7 @@ namespace DFlow.DependencyInjection public class SimpleInjectorDependencyResolver : IDependencyResolver { private readonly Container _container; - + public SimpleInjectorDependencyResolver(Container container) { _container = container; diff --git a/src/contrib/DFlow.Domain.EventBus.FluentMediator/DFlow.Domain.EventBus.FluentMediator.csproj b/src/contrib/DFlow.Domain.EventBus.FluentMediator/DFlow.Domain.EventBus.FluentMediator.csproj index a92fe8d..06fbafa 100644 --- a/src/contrib/DFlow.Domain.EventBus.FluentMediator/DFlow.Domain.EventBus.FluentMediator.csproj +++ b/src/contrib/DFlow.Domain.EventBus.FluentMediator/DFlow.Domain.EventBus.FluentMediator.csproj @@ -7,15 +7,15 @@ - true + true - + - + diff --git a/src/contrib/DFlow.Domain.EventBus.FluentMediator/FluentMediatorDomainEventBus.cs b/src/contrib/DFlow.Domain.EventBus.FluentMediator/FluentMediatorDomainEventBus.cs index 515fb31..f729936 100644 --- a/src/contrib/DFlow.Domain.EventBus.FluentMediator/FluentMediatorDomainEventBus.cs +++ b/src/contrib/DFlow.Domain.EventBus.FluentMediator/FluentMediatorDomainEventBus.cs @@ -11,10 +11,10 @@ namespace DFlow.Domain.EventBus.FluentMediator { - public class FluentMediatorDomainEventBus:IDomainEventBus + public class FluentMediatorDomainEventBus : IDomainEventBus { private readonly IMediator _mediator; - + public FluentMediatorDomainEventBus(IMediator mediator) { _mediator = mediator; @@ -31,7 +31,7 @@ public async Task Publish(TEvent request, CancellationToken cancellation await _mediator.PublishAsync(request, cancellationToken).ConfigureAwait(false); } - public async Task Send(TRequest request) + public async Task Send(TRequest request) { var cancellation = new CancellationToken(); return await Send(request, cancellation) diff --git a/src/contrib/DFlow.Persistence.EntityFramework/DFlow.Persistence.EntityFramework.csproj b/src/contrib/DFlow.Persistence.EntityFramework/DFlow.Persistence.EntityFramework.csproj index 5da7d05..580a6f2 100644 --- a/src/contrib/DFlow.Persistence.EntityFramework/DFlow.Persistence.EntityFramework.csproj +++ b/src/contrib/DFlow.Persistence.EntityFramework/DFlow.Persistence.EntityFramework.csproj @@ -5,11 +5,11 @@ - + - + true diff --git a/src/contrib/DFlow.Persistence.EntityFramework/DbSession.cs b/src/contrib/DFlow.Persistence.EntityFramework/DbSession.cs index a767ce6..be72e20 100644 --- a/src/contrib/DFlow.Persistence.EntityFramework/DbSession.cs +++ b/src/contrib/DFlow.Persistence.EntityFramework/DbSession.cs @@ -12,7 +12,7 @@ namespace DFlow.Persistence.EntityFramework { - public class DbSession: IDbSession, IDisposable + public class DbSession : IDbSession, IDisposable { public DbSession(DbContext context, TRepository repository) { @@ -21,24 +21,26 @@ public DbSession(DbContext context, TRepository repository) } private DbContext Context { get; } - + public TRepository Repository { get; } public void SaveChanges() { Context.SaveChanges(); } - + public async Task SaveChangesAsync() { var cancellationToken = new CancellationToken(); await SaveChangesAsync(cancellationToken).ConfigureAwait(false); } + public async Task SaveChangesAsync(CancellationToken cancellationToken) { await Context.SaveChangesAsync(cancellationToken) .ConfigureAwait(false); } + public void Dispose() { Context?.Dispose(); diff --git a/src/contrib/DFlow.Persistence.EntityFramework/Model/AggregateDbContext.cs b/src/contrib/DFlow.Persistence.EntityFramework/Model/AggregateDbContext.cs index 58fcbda..9751f32 100644 --- a/src/contrib/DFlow.Persistence.EntityFramework/Model/AggregateDbContext.cs +++ b/src/contrib/DFlow.Persistence.EntityFramework/Model/AggregateDbContext.cs @@ -24,7 +24,6 @@ public override int SaveChanges() private void UpdateSoftDeleteLogic() { foreach (var entry in ChangeTracker.Entries()) - { if (entry.State == EntityState.Deleted) { entry.State = EntityState.Modified; @@ -34,7 +33,6 @@ private void UpdateSoftDeleteLogic() { entry.CurrentValues["IsDeleted"] = false; } - } } } } \ No newline at end of file diff --git a/src/contrib/DFlow.Persistence.LiteDB/DFlow.Persistence.LiteDB.csproj b/src/contrib/DFlow.Persistence.LiteDB/DFlow.Persistence.LiteDB.csproj index 953deea..602219a 100644 --- a/src/contrib/DFlow.Persistence.LiteDB/DFlow.Persistence.LiteDB.csproj +++ b/src/contrib/DFlow.Persistence.LiteDB/DFlow.Persistence.LiteDB.csproj @@ -5,11 +5,11 @@ - + - + true diff --git a/src/contrib/DFlow.Persistence.LiteDB/DbSession.cs b/src/contrib/DFlow.Persistence.LiteDB/DbSession.cs index a4dc005..49151c9 100644 --- a/src/contrib/DFlow.Persistence.LiteDB/DbSession.cs +++ b/src/contrib/DFlow.Persistence.LiteDB/DbSession.cs @@ -9,11 +9,10 @@ using System.Threading; using System.Threading.Tasks; using DFlow.Persistence.LiteDB.Model; -using LiteDB; namespace DFlow.Persistence.LiteDB { - public class ProjectionDbSession: IDbSession, IDisposable + public class ProjectionDbSession : IDbSession, IDisposable { public ProjectionDbSession(LiteDbContext context, TRepository repository) { @@ -22,7 +21,7 @@ public ProjectionDbSession(LiteDbContext context, TRepository repository) } private LiteDbContext Context { get; } - + public TRepository Repository { get; } public void SaveChanges() diff --git a/src/contrib/DFlow.Persistence.LiteDB/Model/LiteDbContext.cs b/src/contrib/DFlow.Persistence.LiteDB/Model/LiteDbContext.cs index b931e35..ca88f55 100644 --- a/src/contrib/DFlow.Persistence.LiteDB/Model/LiteDbContext.cs +++ b/src/contrib/DFlow.Persistence.LiteDB/Model/LiteDbContext.cs @@ -11,7 +11,7 @@ protected LiteDbContext(string connectionString, BsonMapper modelBuilder) } public ILiteDatabase Database { get; } - + protected BsonMapper ModelBuilder { get; } } } \ No newline at end of file diff --git a/tests/DFlow.Tests/AppendOnlyTests.cs b/tests/DFlow.Tests/AppendOnlyTests.cs index 5e17608..9f49a53 100644 --- a/tests/DFlow.Tests/AppendOnlyTests.cs +++ b/tests/DFlow.Tests/AppendOnlyTests.cs @@ -20,19 +20,19 @@ public void AppendOnlyShouldSave() var eventBus = new MemoryEventBus(new MemoryResolver()); var appendOnly = new MemoryAppendOnlyStore(eventBus); var eventStore = new EventStore(appendOnly, eventBus); - + appendOnly.Append(rootId, "NyAggregateType", 1, new List { new ProductCreated(Guid.NewGuid(), "test", "") }); var stream = eventStore.LoadEventStream(rootId); - + Assert.True(eventStore.Any(rootId)); Assert.True(stream.Version == 1); Assert.True(stream.Events.Any()); } - + [Fact] public void AppendOnlyShouldPublish() { @@ -42,22 +42,22 @@ public void AppendOnlyShouldPublish() var eventBus = new MemoryEventBus(resolver); var appendOnly = new MemoryAppendOnlyStore(eventBus); var eventStore = new EventStore(appendOnly, eventBus); - + var productView = new ProductView(); resolver.Register(productView); - + var events = new List { new ProductCreated(productId, "test", "") }; - + var domainEvents = new List { new ProductCreated(productId, "test", "") }; - + eventStore.AppendToStream(rootId, 0, events, domainEvents.ToArray()); - + Assert.True(productView.Products.Count == 1); Assert.True(productView.Products.ElementAt(0).Id == productId); } diff --git a/tests/DFlow.Tests/BasicTests.cs b/tests/DFlow.Tests/BasicTests.cs index a3a7e38..d538628 100644 --- a/tests/DFlow.Tests/BasicTests.cs +++ b/tests/DFlow.Tests/BasicTests.cs @@ -24,11 +24,11 @@ public void ShouldCreateNewAggregate() var factory = new AggregateFactory(eventStore); var root = factory.Create(rootId); - Assert.Equal(rootId,root.Id); + Assert.Equal(rootId, root.Id); Assert.True(1 == root.Changes.Count); Assert.Equal(typeof(AggregateCreated), root.Changes.ElementAt(0).GetType()); } - + [Fact] public void ShouldSaveStream() { @@ -38,14 +38,15 @@ public void ShouldSaveStream() var eventStore = new EventStore(appendOnly, eventBus); var factory = new AggregateFactory(eventStore); var root = factory.Create(rootId); - - eventStore.AppendToStream(root.Id, root.Version, root.Changes, root.DomainEvents.ToArray()); + + eventStore.AppendToStream(root.Id, root.Version, root.Changes, + root.DomainEvents.ToArray()); var stream = eventStore.LoadEventStream(rootId); Assert.Equal(1, stream.Version); Assert.Equal(typeof(AggregateCreated), stream.Events.ElementAt(0).GetType()); } - + [Fact] public void ShouldAggregateLoadStream() { @@ -54,17 +55,18 @@ public void ShouldAggregateLoadStream() var appendOnly = new MemoryAppendOnlyStore(eventBus); var eventStore = new EventStore(appendOnly, eventBus); var factory = new AggregateFactory(eventStore); - + var rootToSave = factory.Create(rootId); - - eventStore.AppendToStream(rootToSave.Id, 1, rootToSave.Changes, rootToSave.DomainEvents.ToArray()); - + + eventStore.AppendToStream(rootToSave.Id, 1, rootToSave.Changes, + rootToSave.DomainEvents.ToArray()); + var root = factory.Load(rootId); - + Assert.True(0 == root.Changes.Count); Assert.Equal(rootId, root.Id); } - + //TODO: esse teste está sem objetivo claro [Fact] public void ShouldAllEventsRegisteredAggregate() @@ -78,7 +80,7 @@ public void ShouldAllEventsRegisteredAggregate() Assert.True(1 == root.Changes.Count); Assert.Equal(typeof(AggregateCreated), root.Changes.ElementAt(0).GetType()); } - + [Fact] public void ShouldAddProductToProductCatalog() { @@ -88,17 +90,18 @@ public void ShouldAddProductToProductCatalog() var eventStore = new EventStore(appendOnly, eventBus); var factory = new AggregateFactory(eventStore); var rootToSave = factory.Create(rootId); - - eventStore.AppendToStream(rootToSave.Id, rootToSave.Version, rootToSave.Changes, rootToSave.DomainEvents.ToArray()); + + eventStore.AppendToStream(rootToSave.Id, rootToSave.Version, rootToSave.Changes, + rootToSave.DomainEvents.ToArray()); var root = factory.Load(rootId); - + root.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook", "Dell Inspiron 15000")); - + Assert.True(root.Changes.Count == 1); Assert.True(root.Changes.ElementAt(0).GetType() == typeof(ProductCreated)); } - + [Fact] public void ShouldIncrementVersionCorrectly() { @@ -108,27 +111,29 @@ public void ShouldIncrementVersionCorrectly() var appendOnly = new MemoryAppendOnlyStore(eventBus); var eventStore = new EventStore(appendOnly, eventBus); var factory = new AggregateFactory(eventStore); - + var view = new ProductView(); resolver.Register(view); - + var rootToSave = factory.Create(rootId); - eventStore.AppendToStream(rootToSave.Id, rootToSave.Version, rootToSave.Changes, rootToSave.DomainEvents.ToArray()); + eventStore.AppendToStream(rootToSave.Id, rootToSave.Version, rootToSave.Changes, + rootToSave.DomainEvents.ToArray()); var stream = eventStore.LoadEventStream(rootId); var root = new ProductCatalogAggregate(stream); - + root.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook", "Dell Inspiron 15000")); - - eventStore.AppendToStream(root.Id, root.Version, root.Changes, root.DomainEvents.ToArray()); + + eventStore.AppendToStream(root.Id, root.Version, root.Changes, + root.DomainEvents.ToArray()); stream = eventStore.LoadEventStream(rootId); - + Assert.True(2 == stream.Version); Assert.True(1 == view.Products.Count); } - + [Fact] public void ShouldUpdateProductProjection() { @@ -138,21 +143,23 @@ public void ShouldUpdateProductProjection() var appendOnly = new MemoryAppendOnlyStore(eventBus); var eventStore = new EventStore(appendOnly, eventBus); var view = new ProductView(); - + resolver.Register(view); - + var factory = new AggregateFactory(eventStore); var rootToSave = factory.Create(rootId); - - eventStore.AppendToStream(rootToSave.Id, 1, rootToSave.Changes, rootToSave.DomainEvents.ToArray()); + + eventStore.AppendToStream(rootToSave.Id, 1, rootToSave.Changes, + rootToSave.DomainEvents.ToArray()); var stream = eventStore.LoadEventStream(rootId); var root = new ProductCatalogAggregate(stream); - + root.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook", "Dell Inspiron 15000")); - - eventStore.AppendToStream(root.Id, root.Version, root.Changes, root.DomainEvents.ToArray()); - + + eventStore.AppendToStream(root.Id, root.Version, root.Changes, + root.DomainEvents.ToArray()); + Assert.True(1 == view.Products.Count); Assert.Equal("Notebook", view.Products[0].Name); } diff --git a/tests/DFlow.Tests/Business/Cqrs/CommandHandlerTests.cs b/tests/DFlow.Tests/Business/Cqrs/CommandHandlerTests.cs index bdc8043..8c32a1d 100644 --- a/tests/DFlow.Tests/Business/Cqrs/CommandHandlerTests.cs +++ b/tests/DFlow.Tests/Business/Cqrs/CommandHandlerTests.cs @@ -21,9 +21,9 @@ public sealed class CommandHandlerTests [Fact] public async Task Add_entity_valid_command() { - var fixture = new Fixture().Customize(new AutoNSubstituteCustomization{ ConfigureMembers = true }); + var fixture = new Fixture().Customize(new AutoNSubstituteCustomization { ConfigureMembers = true }); + - var command = fixture.Create(); var eventBus = fixture.Create(); @@ -34,13 +34,13 @@ public async Task Add_entity_valid_command() await eventBus.Received(1).Publish(Arg.Any()); Assert.True(result.IsSucceed); } - + [Fact] public async Task Add_entity_eventbased_valid_command() { - var fixture = new Fixture().Customize(new AutoNSubstituteCustomization{ ConfigureMembers = true }); + var fixture = new Fixture().Customize(new AutoNSubstituteCustomization { ConfigureMembers = true }); + - var command = fixture.Create(); var eventBus = fixture.Create(); diff --git a/tests/DFlow.Tests/ConcurrencyTests.cs b/tests/DFlow.Tests/ConcurrencyTests.cs index e43d174..a9c3236 100644 --- a/tests/DFlow.Tests/ConcurrencyTests.cs +++ b/tests/DFlow.Tests/ConcurrencyTests.cs @@ -24,22 +24,24 @@ public void ShouldMergeEvents() var eventStore = new EventStore(appendOnly, eventBus); var snapShotRepo = new SnapshotRepository(); var factory = new AggregateFactory(eventStore, snapShotRepo); - + var rootId = Guid.NewGuid(); var handler = new ProductServiceCommandHandler(eventStore, factory); - + handler.Execute(new CreateProductCatalog(rootId)); var prodId = Guid.NewGuid(); - handler.Execute(new CreateProductCommand(rootId, prodId, "Notebook Lenovo 2 em 1 ideapad C340", "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); + handler.Execute(new CreateProductCommand(rootId, prodId, "Notebook Lenovo 2 em 1 ideapad C340", + "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); var threads = new List(); - + threads.Add(Task.Run(() => { var handlerThread1 = new ProductServiceCommandHandler(eventStore, factory); - handlerThread1.Execute(new CreateProductCommand(rootId,Guid.NewGuid(), "Notebook 2 em 1 Dell", "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); + handlerThread1.Execute(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook 2 em 1 Dell", + "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); })); - + threads.Add(Task.Run(() => { var handlerThread2 = new ProductServiceCommandHandler(eventStore, factory); @@ -49,12 +51,13 @@ public void ShouldMergeEvents() Task.WaitAll(threads.ToArray()); var stream = eventStore.LoadEventStream(rootId); - var productChanged = (ProductNameChanged)stream.Events.Where(x => x.GetType() == typeof(ProductNameChanged)).FirstOrDefault(); - + var productChanged = (ProductNameChanged)stream.Events.Where(x => x.GetType() == typeof(ProductNameChanged)) + .FirstOrDefault(); + Assert.True(4 == stream.Version); Assert.True("Novo nome" == productChanged.Name); } - + [Fact] public void ShouldThrowExceptionConflictEvents() { @@ -64,22 +67,28 @@ public void ShouldThrowExceptionConflictEvents() var eventStore = new EventStore(appendOnly, eventBus); var snapShotRepo = new SnapshotRepository(); var factory = new AggregateFactory(eventStore, snapShotRepo); - + var productAggregate = factory.Create(rootId); - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Acer Aspire 3", "Notebook Acer Aspire 3 A315-53-348W Intel Core i3-6006U RAM de 4GB HD de 1TB Tela de 15.6” HD Windows 10")); - eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, productAggregate.Changes, productAggregate.DomainEvents.ToArray()); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Acer Aspire 3", + "Notebook Acer Aspire 3 A315-53-348W Intel Core i3-6006U RAM de 4GB HD de 1TB Tela de 15.6” HD Windows 10")); + eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, + productAggregate.Changes, productAggregate.DomainEvents.ToArray()); var user1 = factory.Load(rootId); var user2 = factory.Load(rootId); - - - user1.CreateProduct(new CreateProductCommand(rootId,Guid.NewGuid(), "Notebook Asus Vivobook", "Notebook Asus Vivobook X441B-CBA6A de 14 Con AMD A6-9225/4GB Ram/500GB HD/W10")); - eventStore.AppendToStream(user1.Id, user1.Version, user1.Changes, user1.DomainEvents.ToArray()); - - user2.CreateProduct(new CreateProductCommand(rootId,Guid.NewGuid(), "Notebook 2 em 1 Dell", "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); - - Assert.Throws(() - => eventStore.AppendToStream(user2.Id, user2.Version, user2.Changes, user2.DomainEvents.ToArray()) + + + user1.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Asus Vivobook", + "Notebook Asus Vivobook X441B-CBA6A de 14 Con AMD A6-9225/4GB Ram/500GB HD/W10")); + eventStore.AppendToStream(user1.Id, user1.Version, user1.Changes, + user1.DomainEvents.ToArray()); + + user2.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook 2 em 1 Dell", + "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); + + Assert.Throws(() + => eventStore.AppendToStream(user2.Id, user2.Version, user2.Changes, + user2.DomainEvents.ToArray()) ); } } diff --git a/tests/DFlow.Tests/DFlow.Tests.csproj b/tests/DFlow.Tests/DFlow.Tests.csproj index 5d620df..4190a60 100644 --- a/tests/DFlow.Tests/DFlow.Tests.csproj +++ b/tests/DFlow.Tests/DFlow.Tests.csproj @@ -1,43 +1,43 @@ - - true - - - - - net5.0;netcoreapp3.1 - - - - - - - - - - - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - + + true + + + + + net5.0;netcoreapp3.1 + + + + + + + + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + \ No newline at end of file diff --git a/tests/DFlow.Tests/Domain/AggregatesTests.cs b/tests/DFlow.Tests/Domain/AggregatesTests.cs index 6e48f64..08f557b 100644 --- a/tests/DFlow.Tests/Domain/AggregatesTests.cs +++ b/tests/DFlow.Tests/Domain/AggregatesTests.cs @@ -4,7 +4,6 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -using System; using AutoFixture; using AutoFixture.AutoNSubstitute; using DFlow.Domain.BusinessObjects; @@ -23,34 +22,34 @@ public void Aggregate_create_a_valid() Assert.True(agg.IsValid); } - + [Fact] public void Aggregate_reconstruct_a_valid() { var be = BusinessEntity.From(EntityTestId.GetNext(), VersionId.New()); - + var factory = new ObjectBasedAggregateFactory(); var agg = factory.Create(be); Assert.True(agg.IsValid); } - + [Fact] public void Aggregate_EventBased_create_a_valid() { var fixture = new Fixture() - .Customize(new AutoNSubstituteCustomization{ ConfigureMembers = true }); - fixture.Register(()=> Name.From(fixture.Create())); - fixture.Register(()=> Email.From("email@de.com")); - + .Customize(new AutoNSubstituteCustomization { ConfigureMembers = true }); + fixture.Register(() => Name.From(fixture.Create())); + fixture.Register(() => Email.From("email@de.com")); + var addEntity = fixture.Create(); - var factory = new EventBasedAggregateFactory(); + var factory = new EventBasedAggregateFactory(); var agg = factory.Create(addEntity); - Assert.Equal(nameof(EventStreamBusinessEntityAggregateRoot),agg.GetChange().Name.Value); + Assert.Equal(nameof(EventStreamBusinessEntityAggregateRoot), agg.GetChange().Name.Value); Assert.True(agg.IsValid); } - + [Fact] public void Aggregate_EventBased_create_an_empty() { @@ -58,24 +57,24 @@ public void Aggregate_EventBased_create_an_empty() var agg = factory.Create(new AddEntityCommand("", "")); Assert.True(agg.IsValid); } - + [Fact] public void Aggregate_EventBased_valid_Entity_create() { var fixture = new Fixture() - .Customize(new AutoNSubstituteCustomization{ ConfigureMembers = true }); - fixture.Register(()=> "email@de.com"); - + .Customize(new AutoNSubstituteCustomization { ConfigureMembers = true }); + fixture.Register(() => "email@de.com"); + var name = fixture.Create(); var email = fixture.Create(); - + var factory = new EventBasedAggregateFactory(); var agg = factory.Create(new AddEntityCommand(name, email)); - + var change = agg.GetChange(); Assert.True(agg.IsValid); Assert.True(change.IsValid); - Assert.Equal(1,change.Events.Count); + Assert.Equal(1, change.Events.Count); } } } \ No newline at end of file diff --git a/tests/DFlow.Tests/Domain/BusinessObjectsTests.cs b/tests/DFlow.Tests/Domain/BusinessObjectsTests.cs index 18c07ad..e5e1797 100644 --- a/tests/DFlow.Tests/Domain/BusinessObjectsTests.cs +++ b/tests/DFlow.Tests/Domain/BusinessObjectsTests.cs @@ -19,49 +19,49 @@ public sealed class BusinessObjectsTests public void EntityId_create_a_valid() { var fixture = new Fixture(); - fixture.Register(() => EntityTestId.From(fixture.Create())); + fixture.Register(() => EntityTestId.From(fixture.Create())); var entityId = fixture.Create(); - + Assert.True(entityId.ValidationStatus.IsValid); } - + [Fact] public void EntityId_create_an_empty() { var entityId = EntityTestId.Empty(); - + Assert.True(entityId.ValidationStatus.IsValid); } - + [Fact] public void EntityId_create_an_invalid() { var fixture = new Fixture(); - fixture.Register(() => EntityTestId.From(Guid.Empty)); + fixture.Register(() => EntityTestId.From(Guid.Empty)); var entityId = fixture.Create(); - + Assert.True(entityId.ValidationStatus.IsValid); } - + [Fact] public void Version_create_a_valid_from() { var fixture = new Fixture(); var input = fixture.Create(); - fixture.Register(() => VersionId.From(input)); + fixture.Register(() => VersionId.From(input)); var version = fixture.Create(); - - Assert.Equal(input,version.Value); + + Assert.Equal(input, version.Value); } - + [Fact] public void Version_create_an_empty() { var entityId = VersionId.Empty(); - + Assert.True(entityId.Equals(VersionId.Empty())); } @@ -71,9 +71,9 @@ public void Version_get_next() var version = VersionId.New(); var next = VersionId.Next(version); var nextCheck = version.Value + 1; - Assert.Equal(next.Value,nextCheck); + Assert.Equal(next.Value, nextCheck); } - + [Fact] public void Version_get_gr_and_lt() { diff --git a/tests/DFlow.Tests/Domain/DomainEventsTests.cs b/tests/DFlow.Tests/Domain/DomainEventsTests.cs index 6ff1959..213e931 100644 --- a/tests/DFlow.Tests/Domain/DomainEventsTests.cs +++ b/tests/DFlow.Tests/Domain/DomainEventsTests.cs @@ -19,12 +19,12 @@ public sealed class DomainEventsTests public async Task DomainEvent_Publishing() { var fixture = new Fixture() - .Customize(new AutoNSubstituteCustomization{ ConfigureMembers = true }); + .Customize(new AutoNSubstituteCustomization { ConfigureMembers = true }); var realEventBus = fixture.Create(); var myEvent = fixture.Create(); await realEventBus.Publish(myEvent); - + await realEventBus.Received().Publish(Arg.Any()); } } diff --git a/tests/DFlow.Tests/Domain/EntityTests.cs b/tests/DFlow.Tests/Domain/EntityTests.cs index 6de182d..70a9648 100644 --- a/tests/DFlow.Tests/Domain/EntityTests.cs +++ b/tests/DFlow.Tests/Domain/EntityTests.cs @@ -18,21 +18,21 @@ public sealed class EntityTests public void EntityId_create_a_valid() { var fixture = new Fixture(); - fixture.Register(() => NewBusinessEntity.New()); + fixture.Register(() => NewBusinessEntity.New()); var entity = fixture.Create(); - + Assert.True(entity.IsValid); } - + [Fact] public void EntityId_create_is_not_valid() { var fixture = new Fixture(); - fixture.Register(() => NewBusinessEntity.From(NewEntityTestId.Empty(), VersionId.Empty())); + fixture.Register(() => NewBusinessEntity.From(NewEntityTestId.Empty(), VersionId.Empty())); var entity = fixture.Create(); - + Assert.True(entity.IsValid); Assert.True(entity.Failures.Count == 0); } diff --git a/tests/DFlow.Tests/Domain/SpecificationTests.cs b/tests/DFlow.Tests/Domain/SpecificationTests.cs index 823fe0b..df6f031 100644 --- a/tests/DFlow.Tests/Domain/SpecificationTests.cs +++ b/tests/DFlow.Tests/Domain/SpecificationTests.cs @@ -22,7 +22,7 @@ public void BusinessEntityIsNew() Assert.True(isNew.IsSatisfiedBy(bu)); } - + [Fact] public void BusinessEntityNotIsNew() { @@ -31,29 +31,29 @@ public void BusinessEntityNotIsNew() Assert.False(isNew.IsSatisfiedBy(buUpdated)); } - + [Fact] public void AnotherBusinessEntityNameIsRoad() { var bu = AnotherBusinessEntity .New(Name.From("Road"), Email.From("my@email.com")); - + var isRoad = new AnotherBusinessEntityNameIsRoad(Name.From("Road")); Assert.True(isRoad.IsSatisfiedBy(bu)); } - + [Fact] public void AnotherBusinessEntityNameIsRoadAndEmailFromRoadCompany() { var bu = AnotherBusinessEntity .New(Name.From("Road"), Email.From("email@roadtoagility.com")); - + var isRoad = new AnotherBusinessEntityNameIsRoad(Name.From("Road")); var isFromCompany = new AnotherBusinessEntityEmailFromCompany(Email.From("email@roadtoagility.com")); isRoad.And(isFromCompany); - + Assert.True(isRoad.IsSatisfiedBy(bu)); } } diff --git a/tests/DFlow.Tests/Domain/ValueOfTests.cs b/tests/DFlow.Tests/Domain/ValueOfTests.cs index 6e69708..bf376ff 100644 --- a/tests/DFlow.Tests/Domain/ValueOfTests.cs +++ b/tests/DFlow.Tests/Domain/ValueOfTests.cs @@ -27,7 +27,7 @@ public void ValueOf_create_Vo_not_Valid() var vo = SimpleVo.From(""); Assert.True(vo.ValidationStatus.IsValid); } - + [Fact] public void ValueOf_create_Vo_is_the_same() { @@ -36,7 +36,7 @@ public void ValueOf_create_Vo_is_the_same() Assert.True(vo1.Equals(vo2)); } - + [Fact] public void ValueOf_create_Vo_is_not_the_same() { @@ -45,7 +45,7 @@ public void ValueOf_create_Vo_is_not_the_same() Assert.False(vo1.Equals(vo2)); } - + [Fact] public void ValueOf_create_ComplexVo_isValid() { @@ -69,41 +69,30 @@ public void ValueOf_create_ComplexVoNamedTuple_Valid() Assert.False(vo.ValidationStatus.IsValid); } - - class ComplexNamedTupleVo : ValueOf<(string Name,SimpleVo Svo), ComplexVo> + + private class ComplexNamedTupleVo : ValueOf<(string Name, SimpleVo Svo), ComplexVo> { protected override void Validate() { if (string.IsNullOrEmpty(Value.Name)) - { ValidationStatus.Append(Failure.For("Name", "Name can't be empty")); - } - - if (Value.Svo.Equals(null)) - { - ValidationStatus.Append(Failure.For("Svo", "Name can't be empty")); - } + + if (Value.Svo.Equals(null)) ValidationStatus.Append(Failure.For("Svo", "Name can't be empty")); } } - - class ComplexVo : ValueOf<(string,SimpleVo), ComplexVo> + + private class ComplexVo : ValueOf<(string, SimpleVo), ComplexVo> { protected override void Validate() { if (string.IsNullOrEmpty(Value.Item1)) - { ValidationStatus.Append(Failure.For("Name", "Name can't be empty")); - } - - if (Value.Item2.Equals(null)) - { - ValidationStatus.Append(Failure.For("Svo", "Name can't be empty")); - } + + if (Value.Item2.Equals(null)) ValidationStatus.Append(Failure.For("Svo", "Name can't be empty")); } - } - - class SimpleVo : ValueOf + + private class SimpleVo : ValueOf { } } diff --git a/tests/DFlow.Tests/EventBusTests.cs b/tests/DFlow.Tests/EventBusTests.cs index a22aa3a..b3daae9 100644 --- a/tests/DFlow.Tests/EventBusTests.cs +++ b/tests/DFlow.Tests/EventBusTests.cs @@ -12,24 +12,24 @@ public class EventBusTests { private readonly IEventBus _eventBus; private readonly MemoryResolver _resolver; - + public EventBusTests() { _resolver = new MemoryResolver(); _eventBus = new MemoryEventBus(_resolver); } - + [Fact] public void ShouldSubscribeAndNotified() { var view = new ProductView(); - + //DI resolver _resolver.Register(view); - + var productId = Guid.NewGuid(); _eventBus.Publish(new ProductCreated(productId, "name", "description")); - + Assert.True(view.Products.Count == 1); Assert.Contains(view.Products, x => x.Id == productId); } @@ -38,13 +38,13 @@ public void ShouldSubscribeAndNotified() public void ShoudUnsubscribe() { var view = new ProductView(); - + _resolver.Register(view); var productId = Guid.NewGuid(); _eventBus.Publish(new ProductCreated(productId, "name", "description")); _resolver.Unregister(view); _eventBus.Publish(new ProductCreated(Guid.NewGuid(), "name", "description")); - + Assert.True(view.Products.Count == 1); Assert.Contains(view.Products, x => x.Id == productId); } diff --git a/tests/DFlow.Tests/EventTests.cs b/tests/DFlow.Tests/EventTests.cs index 116b398..f417511 100644 --- a/tests/DFlow.Tests/EventTests.cs +++ b/tests/DFlow.Tests/EventTests.cs @@ -21,10 +21,10 @@ public void ShouldCreateAggregateWithVersionCorrectly() var rootId = Guid.NewGuid(); var factory = new AggregateFactory(eventStore); var root = factory.Create(rootId); - + Assert.True(1 == root.Version); } - + [Fact] public void ShouldIncreaseVersionCorrectly() { @@ -34,19 +34,23 @@ public void ShouldIncreaseVersionCorrectly() var rootId = Guid.NewGuid(); var factory = new AggregateFactory(eventStore); var root = factory.Create(rootId); - eventStore.AppendToStream(root.Id, root.Version, root.Changes, root.DomainEvents.ToArray()); - + eventStore.AppendToStream(root.Id, root.Version, root.Changes, + root.DomainEvents.ToArray()); + root = factory.Load(rootId); - root.CreateProduct(new CreateProductCommand(rootId,Guid.NewGuid(), "Notebook", "Dell Inspiron 15000")); - root.CreateProduct(new CreateProductCommand(rootId,Guid.NewGuid(), "Notebook Asus Vivobook", "Notebook Asus Vivobook X441B-CBA6A de 14 Con AMD A6-9225/4GB Ram/500GB HD/W10")); - root.CreateProduct(new CreateProductCommand(rootId,Guid.NewGuid(), "Notebook 2 em 1 Dell", "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); - eventStore.AppendToStream(root.Id, root.Version, root.Changes, root.DomainEvents.ToArray()); - + root.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook", "Dell Inspiron 15000")); + root.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Asus Vivobook", + "Notebook Asus Vivobook X441B-CBA6A de 14 Con AMD A6-9225/4GB Ram/500GB HD/W10")); + root.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook 2 em 1 Dell", + "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); + eventStore.AppendToStream(root.Id, root.Version, root.Changes, + root.DomainEvents.ToArray()); + root = factory.Load(rootId); - + Assert.True(4 == root.Version); } - + [Fact] public void ShouldNotAllowCreateAggregatesWithSameId() { @@ -55,11 +59,12 @@ public void ShouldNotAllowCreateAggregatesWithSameId() var eventStore = new EventStore(appendOnly, eventBus); var rootId = Guid.NewGuid(); var factory = new AggregateFactory(eventStore); - + var root = factory.Create(rootId); - eventStore.AppendToStream(root.Id, root.Version, root.Changes, root.DomainEvents.ToArray()); - - Assert.Throws(() + eventStore.AppendToStream(root.Id, root.Version, root.Changes, + root.DomainEvents.ToArray()); + + Assert.Throws(() => factory.Create(rootId) ); } diff --git a/tests/DFlow.Tests/HandlerTests.cs b/tests/DFlow.Tests/HandlerTests.cs index f676d75..aa2bf1e 100644 --- a/tests/DFlow.Tests/HandlerTests.cs +++ b/tests/DFlow.Tests/HandlerTests.cs @@ -16,10 +16,10 @@ public class HandlerTests private readonly IAppendOnlyStore _appendOnly; private readonly IEventBus _eventBus; private readonly IEventStore _eventStore; - private ISnapshotRepository _snapShotRepo; private readonly AggregateFactory _factory; private readonly MemoryResolver _resolver; - + private readonly ISnapshotRepository _snapShotRepo; + public HandlerTests() { _resolver = new MemoryResolver(); @@ -29,7 +29,7 @@ public HandlerTests() _snapShotRepo = new SnapshotRepository(); _factory = new AggregateFactory(_eventStore, _snapShotRepo); } - + [Fact] public void ShouldCreateProductCatalog() { @@ -37,12 +37,13 @@ public void ShouldCreateProductCatalog() var handler = new ProductServiceCommandHandler(_eventStore, _factory); var view = new ProductView(); _resolver.Register(view); - + handler.Execute(new CreateProductCatalog(rootId)); - handler.Execute(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Lenovo 2 em 1 ideapad C340", "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); + handler.Execute(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Lenovo 2 em 1 ideapad C340", + "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); var stream = _eventStore.LoadEventStream(rootId); - + Assert.True(stream.Version == 2); Assert.True(1 == view.Products.Count); } diff --git a/tests/DFlow.Tests/ProjectionTests.cs b/tests/DFlow.Tests/ProjectionTests.cs index d6e53cf..7a5c410 100644 --- a/tests/DFlow.Tests/ProjectionTests.cs +++ b/tests/DFlow.Tests/ProjectionTests.cs @@ -13,13 +13,13 @@ namespace DFlow.Tests { public class ProjectionTests { - private IAppendOnlyStore _appendOnly; - private IEventBus _eventBus; private readonly IEventStore _eventStore; - private ISnapshotRepository _snapShotRepo; private readonly AggregateFactory _factory; private readonly MemoryResolver _resolver; - + private readonly IAppendOnlyStore _appendOnly; + private readonly IEventBus _eventBus; + private readonly ISnapshotRepository _snapShotRepo; + public ProjectionTests() { _resolver = new MemoryResolver(); @@ -29,28 +29,30 @@ public ProjectionTests() _snapShotRepo = new SnapshotRepository(); _factory = new AggregateFactory(_eventStore, _snapShotRepo); } - + [Fact] public void ShouldUpdateProductCatalogView() { var rootId = Guid.NewGuid(); var handler = new ProductServiceCommandHandler(_eventStore, _factory); - + var idProd2 = Guid.NewGuid(); var view = new ProductView(); _resolver.Register(view); - + IProductQueryHandler queryHandler = new ProductQueryHandler(view); handler.Execute(new CreateProductCatalog(rootId)); - handler.Execute(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Lenovo 2 em 1 ideapad C340", "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); - handler.Execute(new CreateProductCommand(rootId, idProd2, "Notebook 2 em 1 Dell", "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); + handler.Execute(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Lenovo 2 em 1 ideapad C340", + "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); + handler.Execute(new CreateProductCommand(rootId, idProd2, "Notebook 2 em 1 Dell", + "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); var product = queryHandler.GetById(idProd2); var listProducts = queryHandler.ListAllProducts(); var dell = queryHandler.ListByFilter(x => x.Name.Contains("Dell")); - + Assert.True(product.Id == idProd2); Assert.True(listProducts.Count == 2); Assert.True(dell.Count == 1); diff --git a/tests/DFlow.Tests/SnapshotTests.cs b/tests/DFlow.Tests/SnapshotTests.cs index c600aaf..2a11112 100644 --- a/tests/DFlow.Tests/SnapshotTests.cs +++ b/tests/DFlow.Tests/SnapshotTests.cs @@ -23,30 +23,37 @@ public void RetrieveAggregateLoadedFromSnapshot() var eventStore = new EventStore(appendOnly, eventBus); var snapShotRepo = new SnapshotRepository(); var factory = new AggregateFactory(eventStore, snapShotRepo); - + var view = new ProductView(); resolver.Register(view); - + var productAggregate = factory.Create(rootId); - - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Acer Aspire 3", "Notebook Acer Aspire 3 A315-53-348W Intel Core i3-6006U RAM de 4GB HD de 1TB Tela de 15.6” HD Windows 10")); - productAggregate.CreateProduct(new CreateProductCommand(rootId,Guid.NewGuid(), "Notebook Asus Vivobook", "Notebook Asus Vivobook X441B-CBA6A de 14 Con AMD A6-9225/4GB Ram/500GB HD/W10")); - productAggregate.CreateProduct(new CreateProductCommand(rootId,Guid.NewGuid(), "Notebook 2 em 1 Dell", "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); - productAggregate.CreateProduct(new CreateProductCommand(rootId,Guid.NewGuid(), "Notebook Gamer Dell", "Notebook Gamer Dell G3-3590-M60P 9ª Geração Intel Core i7 8GB 512GB SSD Placa Vídeo NVIDIA 1660Ti 15.6' Windows 10")); - productAggregate.CreateProduct(new CreateProductCommand(rootId,Guid.NewGuid(), "Notebook Lenovo 2 em 1 ideapad C340", "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); - - eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, productAggregate.Changes, productAggregate.DomainEvents.ToArray()); + + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Acer Aspire 3", + "Notebook Acer Aspire 3 A315-53-348W Intel Core i3-6006U RAM de 4GB HD de 1TB Tela de 15.6” HD Windows 10")); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Asus Vivobook", + "Notebook Asus Vivobook X441B-CBA6A de 14 Con AMD A6-9225/4GB Ram/500GB HD/W10")); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook 2 em 1 Dell", + "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Gamer Dell", + "Notebook Gamer Dell G3-3590-M60P 9ª Geração Intel Core i7 8GB 512GB SSD Placa Vídeo NVIDIA 1660Ti 15.6' Windows 10")); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), + "Notebook Lenovo 2 em 1 ideapad C340", + "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); + + eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, + productAggregate.Changes, productAggregate.DomainEvents.ToArray()); var stream = eventStore.LoadEventStream(rootId); snapShotRepo.SaveSnapshot(rootId, productAggregate, stream.Version); var aggregateReloadedFromSnapshot = factory.Load(rootId); - + ProductCatalogAggregate root; long snapshotVersion = 0; var snap = snapShotRepo.TryGetSnapshotById(rootId, out root, out snapshotVersion); stream = eventStore.LoadEventStreamAfterVersion(rootId, snapshotVersion); - + Assert.True(snap); Assert.True(root != null); Assert.True(snapshotVersion == 6); @@ -68,29 +75,37 @@ public void ShouldApplyEventsAfterSnapshot() var factory = new AggregateFactory(eventStore, snapShotRepo); var view = new ProductView(); resolver.Register(view); - + var productAggregate = factory.Create(rootId); - - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Acer Aspire 3", "Notebook Acer Aspire 3 A315-53-348W Intel Core i3-6006U RAM de 4GB HD de 1TB Tela de 15.6” HD Windows 10")); - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Asus Vivobook", "Notebook Asus Vivobook X441B-CBA6A de 14 Con AMD A6-9225/4GB Ram/500GB HD/W10")); - eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, productAggregate.Changes, productAggregate.DomainEvents.ToArray()); + + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Acer Aspire 3", + "Notebook Acer Aspire 3 A315-53-348W Intel Core i3-6006U RAM de 4GB HD de 1TB Tela de 15.6” HD Windows 10")); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Asus Vivobook", + "Notebook Asus Vivobook X441B-CBA6A de 14 Con AMD A6-9225/4GB Ram/500GB HD/W10")); + eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, + productAggregate.Changes, productAggregate.DomainEvents.ToArray()); var stream = eventStore.LoadEventStream(rootId); snapShotRepo.SaveSnapshot(rootId, productAggregate, stream.Version); - + productAggregate = factory.Load(rootId); - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook 2 em 1 Dell", "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Gamer Dell", "Notebook Gamer Dell G3-3590-M60P 9ª Geração Intel Core i7 8GB 512GB SSD Placa Vídeo NVIDIA 1660Ti 15.6' Windows 10")); - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Lenovo 2 em 1 ideapad C340", "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); - eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, productAggregate.Changes, productAggregate.DomainEvents.ToArray()); - - + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook 2 em 1 Dell", + "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Gamer Dell", + "Notebook Gamer Dell G3-3590-M60P 9ª Geração Intel Core i7 8GB 512GB SSD Placa Vídeo NVIDIA 1660Ti 15.6' Windows 10")); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), + "Notebook Lenovo 2 em 1 ideapad C340", + "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); + eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, + productAggregate.Changes, productAggregate.DomainEvents.ToArray()); + + ProductCatalogAggregate root; long snapshotVersion = 0; var snap = snapShotRepo.TryGetSnapshotById(rootId, out root, out snapshotVersion); stream = eventStore.LoadEventStreamAfterVersion(rootId, snapshotVersion); var aggregateReloadedFromSnapshot = factory.Load(rootId); - + Assert.True(snap); Assert.True(root != null); Assert.True(3 == snapshotVersion); @@ -99,7 +114,7 @@ public void ShouldApplyEventsAfterSnapshot() Assert.True(aggregateReloadedFromSnapshot.Id == rootId); Assert.True(view.Products.Count == 5); } - + [Fact] public void ShouldCreateMultiplesSnapshots() { @@ -110,48 +125,59 @@ public void ShouldCreateMultiplesSnapshots() var eventStore = new EventStore(appendOnly, eventBus); var snapShotRepo = new SnapshotRepository(); var factory = new AggregateFactory(eventStore, snapShotRepo); - + var view = new ProductView(); resolver.Register(view); - - + + var productAggregate = factory.Create(rootId); - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Acer Aspire 3", "Notebook Acer Aspire 3 A315-53-348W Intel Core i3-6006U RAM de 4GB HD de 1TB Tela de 15.6” HD Windows 10")); - eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, productAggregate.Changes, productAggregate.DomainEvents.ToArray()); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Acer Aspire 3", + "Notebook Acer Aspire 3 A315-53-348W Intel Core i3-6006U RAM de 4GB HD de 1TB Tela de 15.6” HD Windows 10")); + eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, + productAggregate.Changes, productAggregate.DomainEvents.ToArray()); var stream = eventStore.LoadEventStream(rootId); snapShotRepo.SaveSnapshot(rootId, productAggregate, stream.Version); - + productAggregate = factory.Load(rootId); - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Asus Vivobook", "Notebook Asus Vivobook X441B-CBA6A de 14 Con AMD A6-9225/4GB Ram/500GB HD/W10")); - eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, productAggregate.Changes, productAggregate.DomainEvents.ToArray()); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Asus Vivobook", + "Notebook Asus Vivobook X441B-CBA6A de 14 Con AMD A6-9225/4GB Ram/500GB HD/W10")); + eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, + productAggregate.Changes, productAggregate.DomainEvents.ToArray()); stream = eventStore.LoadEventStream(rootId); snapShotRepo.SaveSnapshot(rootId, productAggregate, stream.Version); - + productAggregate = factory.Load(rootId); - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook 2 em 1 Dell", "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); - eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, productAggregate.Changes, productAggregate.DomainEvents.ToArray()); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook 2 em 1 Dell", + "Notebook 2 em 1 Dell Inspiron i14-5481-M11F 8ª Geração Intel Core i3 4GB 128GB SSD 14' Touch Windows 10 Office 365 McAfe")); + eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, + productAggregate.Changes, productAggregate.DomainEvents.ToArray()); stream = eventStore.LoadEventStream(rootId); snapShotRepo.SaveSnapshot(rootId, productAggregate, stream.Version); - + productAggregate = factory.Load(rootId); - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Gamer Dell", "Notebook Gamer Dell G3-3590-M60P 9ª Geração Intel Core i7 8GB 512GB SSD Placa Vídeo NVIDIA 1660Ti 15.6' Windows 10")); - eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, productAggregate.Changes, productAggregate.DomainEvents.ToArray()); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Gamer Dell", + "Notebook Gamer Dell G3-3590-M60P 9ª Geração Intel Core i7 8GB 512GB SSD Placa Vídeo NVIDIA 1660Ti 15.6' Windows 10")); + eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, + productAggregate.Changes, productAggregate.DomainEvents.ToArray()); stream = eventStore.LoadEventStream(rootId); snapShotRepo.SaveSnapshot(rootId, productAggregate, stream.Version); - + productAggregate = factory.Load(rootId); - productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), "Notebook Lenovo 2 em 1 ideapad C340", "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); - eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, productAggregate.Changes, productAggregate.DomainEvents.ToArray()); + productAggregate.CreateProduct(new CreateProductCommand(rootId, Guid.NewGuid(), + "Notebook Lenovo 2 em 1 ideapad C340", + "Notebook Lenovo 2 em 1 ideapad C340 i7-8565U 8GB 256GB SSD Win10 14' FHD IPS - 81RL0001BR")); + eventStore.AppendToStream(productAggregate.Id, productAggregate.Version, + productAggregate.Changes, productAggregate.DomainEvents.ToArray()); stream = eventStore.LoadEventStream(rootId); snapShotRepo.SaveSnapshot(rootId, productAggregate, stream.Version); - + var aggregateReloadedFromSnapshot = factory.Load(rootId); - + ProductCatalogAggregate root; long snapshotVersion = 0; var snap = snapShotRepo.TryGetSnapshotById(rootId, out root, out snapshotVersion); stream = eventStore.LoadEventStreamAfterVersion(rootId, snapshotVersion); - + Assert.True(snap); Assert.True(root != null); Assert.True(snapshotVersion == 6); diff --git a/tests/DFlow.Tests/Supporting/AddEntityCommandHandler.cs b/tests/DFlow.Tests/Supporting/AddEntityCommandHandler.cs index ad79b1f..bf0741d 100644 --- a/tests/DFlow.Tests/Supporting/AddEntityCommandHandler.cs +++ b/tests/DFlow.Tests/Supporting/AddEntityCommandHandler.cs @@ -31,28 +31,29 @@ namespace DFlow.Tests.Supporting public sealed class AddEntityCommandHandler : CommandHandler> { public AddEntityCommandHandler(IDomainEventBus publisher) - :base(publisher) + : base(publisher) { } - - protected override Task> ExecuteCommand(AddEntityCommand command, CancellationToken cancellationToken) + + protected override Task> ExecuteCommand(AddEntityCommand command, + CancellationToken cancellationToken) { var agg = BusinessEntityAggregateRoot.Create(); - + var isSucceed = false; var okId = Guid.Empty; - + if (agg.IsValid) { isSucceed = true; - + agg.GetEvents().ToImmutableList() - .ForEach( ev => Publisher.Publish(ev)); - + .ForEach(ev => Publisher.Publish(ev)); + okId = agg.GetChange().Identity.Value; } - - return Task.FromResult(new CommandResult(isSucceed, okId,agg.Failures)); + + return Task.FromResult(new CommandResult(isSucceed, okId, agg.Failures)); } } } \ No newline at end of file diff --git a/tests/DFlow.Tests/Supporting/AddEntityEventBasedCommandHandler.cs b/tests/DFlow.Tests/Supporting/AddEntityEventBasedCommandHandler.cs index aad7abd..4a4dfbe 100644 --- a/tests/DFlow.Tests/Supporting/AddEntityEventBasedCommandHandler.cs +++ b/tests/DFlow.Tests/Supporting/AddEntityEventBasedCommandHandler.cs @@ -31,34 +31,35 @@ namespace DFlow.Tests.Supporting { public sealed class AddEntityEventBasedCommandHandler : CommandHandler> { - private IAggregateFactory _aggregateFactory; - - public AddEntityEventBasedCommandHandler(IDomainEventBus publisher, + private readonly IAggregateFactory _aggregateFactory; + + public AddEntityEventBasedCommandHandler(IDomainEventBus publisher, IAggregateFactory aggregateFactory) - :base(publisher) + : base(publisher) { _aggregateFactory = aggregateFactory; } - - protected override Task> ExecuteCommand(AddEntityCommand command, CancellationToken cancellationToken) + + protected override Task> ExecuteCommand(AddEntityCommand command, + CancellationToken cancellationToken) { var agg = _aggregateFactory.Create(command); - + var isSucceed = false; var okId = Guid.Empty; - + //validation is not working nice yet if (agg.IsValid) { isSucceed = true; - + agg.GetEvents().ToImmutableList() - .ForEach( ev => Publisher.Publish(ev)); - + .ForEach(ev => Publisher.Publish(ev)); + okId = agg.GetChange().AggregationId.Value; } - - return Task.FromResult(new CommandResult(isSucceed, okId,agg.Failures.ToImmutableList())); + + return Task.FromResult(new CommandResult(isSucceed, okId, agg.Failures.ToImmutableList())); } } } \ No newline at end of file diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/AnotherBusinessEntity.cs b/tests/DFlow.Tests/Supporting/DomainObjects/AnotherBusinessEntity.cs index e3f738b..7179e71 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/AnotherBusinessEntity.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/AnotherBusinessEntity.cs @@ -1,27 +1,28 @@ using System.Collections.Generic; using DFlow.Domain.BusinessObjects; -using DFlow.Domain.Validation; namespace DFlow.Tests.Supporting.DomainObjects { public sealed class AnotherBusinessEntity : BaseEntity { - public Name EntityName { get; } - public Email EntityEmail { get; } - - private AnotherBusinessEntity(EntityTestId businessTestId, VersionId version, Name entityName, Email entityEmail) - :base(businessTestId,version) + private AnotherBusinessEntity(EntityTestId businessTestId, VersionId version, Name entityName, + Email entityEmail) + : base(businessTestId, version) { EntityEmail = entityEmail; EntityName = entityName; } - public static AnotherBusinessEntity From(EntityTestId testId, Name entityName, Email entityEmail, VersionId version) + public Name EntityName { get; } + public Email EntityEmail { get; } + + public static AnotherBusinessEntity From(EntityTestId testId, Name entityName, Email entityEmail, + VersionId version) { var bobj = new AnotherBusinessEntity(testId, version, entityName, entityEmail); return bobj; } - + public static AnotherBusinessEntity New(Name entityName, Email entityEmail) { return From(EntityTestId.GetNext(), entityName, entityEmail, VersionId.New()); diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/BusinessEntity.cs b/tests/DFlow.Tests/Supporting/DomainObjects/BusinessEntity.cs index 5ef89f5..3766dba 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/BusinessEntity.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/BusinessEntity.cs @@ -1,13 +1,12 @@ using System.Collections.Generic; using DFlow.Domain.BusinessObjects; -using DFlow.Domain.Validation; namespace DFlow.Tests.Supporting.DomainObjects { public class BusinessEntity : BaseEntity { private BusinessEntity(EntityTestId businessTestId, VersionId version) - :base(businessTestId,version) + : base(businessTestId, version) { } @@ -16,7 +15,7 @@ public static BusinessEntity From(EntityTestId testId, VersionId version) var bobj = new BusinessEntity(testId, version); return bobj; } - + public static BusinessEntity New() { return From(EntityTestId.GetNext(), VersionId.New()); diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/BusinessEntityAggregateRoot.cs b/tests/DFlow.Tests/Supporting/DomainObjects/BusinessEntityAggregateRoot.cs index 22ff00a..1b69ada 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/BusinessEntityAggregateRoot.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/BusinessEntityAggregateRoot.cs @@ -1,11 +1,10 @@ -using System.Collections.Immutable; using DFlow.Domain.Aggregates; using DFlow.Domain.BusinessObjects; using DFlow.Tests.Supporting.DomainObjects.Events; namespace DFlow.Tests.Supporting.DomainObjects { - public sealed class BusinessEntityAggregateRoot:ObjectBasedAggregationRoot + public sealed class BusinessEntityAggregateRoot : ObjectBasedAggregationRoot { internal BusinessEntityAggregateRoot(BusinessEntity businessEntity) { @@ -13,10 +12,7 @@ internal BusinessEntityAggregateRoot(BusinessEntity businessEntity) { Apply(businessEntity); - if (businessEntity.IsNew()) - { - Raise(EntityAddedEvent.For(businessEntity)); - } + if (businessEntity.IsNew()) Raise(EntityAddedEvent.For(businessEntity)); } AppendValidationResult(businessEntity.Failures); @@ -26,10 +22,11 @@ public static BusinessEntityAggregateRoot Create() { return new BusinessEntityAggregateRoot(BusinessEntity.New()); } - + public static BusinessEntityAggregateRoot ReconstructFrom(BusinessEntity entity) { - return new BusinessEntityAggregateRoot(BusinessEntity.From(entity.Identity, VersionId.Next(entity.Version))); + return new BusinessEntityAggregateRoot(BusinessEntity.From(entity.Identity, + VersionId.Next(entity.Version))); } } } \ No newline at end of file diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/Commands/AddEntityCommand.cs b/tests/DFlow.Tests/Supporting/DomainObjects/Commands/AddEntityCommand.cs index d8e5930..8587a44 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/Commands/AddEntityCommand.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/Commands/AddEntityCommand.cs @@ -20,16 +20,17 @@ namespace DFlow.Tests.Supporting.DomainObjects.Commands { - public class AddEntityCommand: BaseCommand + public class AddEntityCommand : BaseCommand { public AddEntityCommand(string name, string email) { Name = Name.From(name); Mail = Email.From(email); - + AppendValidationResult(Name.ValidationStatus.Failures); AppendValidationResult(Mail.ValidationStatus.Failures); } + public Name Name { get; set; } public Email Mail { get; set; } } diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/Commands/UpdateEntityCommand.cs b/tests/DFlow.Tests/Supporting/DomainObjects/Commands/UpdateEntityCommand.cs index a5a89f6..36c6beb 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/Commands/UpdateEntityCommand.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/Commands/UpdateEntityCommand.cs @@ -22,7 +22,7 @@ namespace DFlow.Tests.Supporting.DomainObjects.Commands { - public class UpdateEntityCommand: BaseValidation + public class UpdateEntityCommand : BaseValidation { public string Name { get; set; } public Guid AggregateId { get; set; } diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/Email.cs b/tests/DFlow.Tests/Supporting/DomainObjects/Email.cs index bec031b..7d88d39 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/Email.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/Email.cs @@ -20,9 +20,10 @@ namespace DFlow.Tests.Supporting.DomainObjects { - public sealed class Email : ValueOf + public sealed class Email : ValueOf { - private static readonly string EmailEmpty = string.Empty; + private static readonly string EmailEmpty = string.Empty; + public static Email Empty() { return From(EmailEmpty); diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/EntityTestId.cs b/tests/DFlow.Tests/Supporting/DomainObjects/EntityTestId.cs index 5d360dd..b687179 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/EntityTestId.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/EntityTestId.cs @@ -5,21 +5,19 @@ // file, You can obtain one at https://mozilla.org/MPL/2.0/. using System; -using System.Collections.Generic; using DFlow.Domain.BusinessObjects; -using DFlow.Domain.Validation; namespace DFlow.Tests.Supporting.DomainObjects { - public sealed class EntityTestId : ValueOf + public sealed class EntityTestId : ValueOf { - private static readonly Guid EmptyId = Guid.Empty; - + private static readonly Guid EmptyId = Guid.Empty; + public static EntityTestId Empty() { return From(EmptyId); } - + public static EntityTestId GetNext() { return From(Guid.NewGuid()); diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/EventBasedAggregateFactory.cs b/tests/DFlow.Tests/Supporting/DomainObjects/EventBasedAggregateFactory.cs index 0c6bdd7..fac9bd9 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/EventBasedAggregateFactory.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/EventBasedAggregateFactory.cs @@ -10,15 +10,15 @@ namespace DFlow.Tests.Supporting.DomainObjects { - public class EventBasedAggregateFactory: + public class EventBasedAggregateFactory : IAggregateFactory, IAggregateFactory> { public EventStreamBusinessEntityAggregateRoot Create(AddEntityCommand command) { - return new EventStreamBusinessEntityAggregateRoot(command.Name, - command.Mail, - VersionId.New()); + return new EventStreamBusinessEntityAggregateRoot(command.Name, + command.Mail, + VersionId.New()); } public EventStreamBusinessEntityAggregateRoot Create(EventStream source) diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/EventStreamBusinessEntityAggregateRoot.cs b/tests/DFlow.Tests/Supporting/DomainObjects/EventStreamBusinessEntityAggregateRoot.cs index feccf92..1af7afc 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/EventStreamBusinessEntityAggregateRoot.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/EventStreamBusinessEntityAggregateRoot.cs @@ -5,20 +5,21 @@ namespace DFlow.Tests.Supporting.DomainObjects { - public sealed class EventStreamBusinessEntityAggregateRoot:EventBasedAggregationRoot + public sealed class EventStreamBusinessEntityAggregateRoot : EventBasedAggregationRoot { internal EventStreamBusinessEntityAggregateRoot(Name name, Email email, VersionId version) - :base(EntityTestId.GetNext(),version, AggregationName.From(nameof(EventStreamBusinessEntityAggregateRoot))) + : base(EntityTestId.GetNext(), version, + AggregationName.From(nameof(EventStreamBusinessEntityAggregateRoot))) { if (name.ValidationStatus.IsValid && email.ValidationStatus.IsValid) { var change = TestEntityAggregateAddedDomainEvent.From(AggregateId, name, email, version); Apply(change); - + // it is always new Raise(change); } - + AppendValidationResult(name.ValidationStatus.Failures); AppendValidationResult(email.ValidationStatus.Failures); } @@ -27,19 +28,14 @@ internal EventStreamBusinessEntityAggregateRoot(EventStream eventS : base(eventStream.AggregationId, eventStream.Version, AggregationName.From(nameof(EventStreamBusinessEntityAggregateRoot))) { - if (eventStream.IsValid) - { - Apply(eventStream.Events); - } + if (eventStream.IsValid) Apply(eventStream.Events); AppendValidationResult(eventStream.Failures.ToImmutableList()); } public void UpdateName(EntityTestId aggregateId, Name name) { if (name.ValidationStatus.IsValid && !AggregateId.Equals(aggregateId)) - { - Apply(TestEntityAggregateUpdatedDomainEvent.From(AggregateId,name,Version)); - } + Apply(TestEntityAggregateUpdatedDomainEvent.From(AggregateId, name, Version)); AppendValidationResult(name.ValidationStatus.Failures); } diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/Events/EntityAddedEvent.cs b/tests/DFlow.Tests/Supporting/DomainObjects/Events/EntityAddedEvent.cs index 7292e04..91bc5e1 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/Events/EntityAddedEvent.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/Events/EntityAddedEvent.cs @@ -29,8 +29,9 @@ private EntityAddedEvent(EntityTestId clientId, VersionId version) { Id = clientId; } + public EntityTestId Id { get; } - + public static EntityAddedEvent For(BusinessEntity user) { return new EntityAddedEvent(user.Identity, user.Version); diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/Events/TestEntityAggregateAddedDomainEvent.cs b/tests/DFlow.Tests/Supporting/DomainObjects/Events/TestEntityAggregateAddedDomainEvent.cs index 866680f..7fd0f88 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/Events/TestEntityAggregateAddedDomainEvent.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/Events/TestEntityAggregateAddedDomainEvent.cs @@ -16,7 +16,6 @@ // Boston, MA 02110-1301, USA. // -using System; using DFlow.Domain.BusinessObjects; using DFlow.Domain.DomainEvents; @@ -25,13 +24,14 @@ namespace DFlow.Tests.Supporting.DomainObjects.Events public class TestEntityAggregateAddedDomainEvent : AggregateAddedDomainEvent { private TestEntityAggregateAddedDomainEvent(EntityTestId aggregateId, Name name, Email email, VersionId version) - :base(aggregateId,version) + : base(aggregateId, version) { } - - public static TestEntityAggregateAddedDomainEvent From(EntityTestId aggregateId, Name name, Email email, VersionId version) + + public static TestEntityAggregateAddedDomainEvent From(EntityTestId aggregateId, Name name, Email email, + VersionId version) { - return new TestEntityAggregateAddedDomainEvent(aggregateId, name,email, version); + return new TestEntityAggregateAddedDomainEvent(aggregateId, name, email, version); } } } \ No newline at end of file diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/Events/TestEntityAggregateUpdatedDomainEvent.cs b/tests/DFlow.Tests/Supporting/DomainObjects/Events/TestEntityAggregateUpdatedDomainEvent.cs index 765af94..e4d5627 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/Events/TestEntityAggregateUpdatedDomainEvent.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/Events/TestEntityAggregateUpdatedDomainEvent.cs @@ -16,7 +16,6 @@ // Boston, MA 02110-1301, USA. // -using System; using DFlow.Domain.BusinessObjects; using DFlow.Domain.DomainEvents; @@ -25,10 +24,10 @@ namespace DFlow.Tests.Supporting.DomainObjects.Events public class TestEntityAggregateUpdatedDomainEvent : AggregateAddedDomainEvent { private TestEntityAggregateUpdatedDomainEvent(EntityTestId aggregateId, Name name, VersionId version) - :base(aggregateId,version) + : base(aggregateId, version) { } - + public static TestEntityAggregateUpdatedDomainEvent From(EntityTestId aggregateId, Name name, VersionId version) { return new TestEntityAggregateUpdatedDomainEvent(aggregateId, name, version); diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/Name.cs b/tests/DFlow.Tests/Supporting/DomainObjects/Name.cs index 261dea8..36efa36 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/Name.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/Name.cs @@ -23,6 +23,7 @@ namespace DFlow.Tests.Supporting.DomainObjects public sealed class Name : ValueOf { private static readonly string NameEmpty = string.Empty; + public static Name Empty() { return From(NameEmpty); diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/NewBusinessEntity.cs b/tests/DFlow.Tests/Supporting/DomainObjects/NewBusinessEntity.cs index 1387151..c076270 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/NewBusinessEntity.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/NewBusinessEntity.cs @@ -5,21 +5,22 @@ namespace DFlow.Tests.Supporting.DomainObjects { public class NewBusinessEntity : BaseEntity { + private NewBusinessEntity(NewEntityTestId businessTestId, VersionId version) + : base(businessTestId, version) + { + AppendValidationResult(businessTestId.ValidationStatus.Failures); + AppendValidationResult(version.ValidationStatus.Failures); + } + public static NewBusinessEntity From(NewEntityTestId testId, VersionId version) { return new NewBusinessEntity(testId, version); } - + public static NewBusinessEntity New() { return From(NewEntityTestId.GetNext(), VersionId.New()); } - private NewBusinessEntity(NewEntityTestId businessTestId, VersionId version) - :base(businessTestId, version) - { - AppendValidationResult(businessTestId.ValidationStatus.Failures); - AppendValidationResult(version.ValidationStatus.Failures); - } protected override IEnumerable GetEqualityComponents() { diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/NewEntityTestId.cs b/tests/DFlow.Tests/Supporting/DomainObjects/NewEntityTestId.cs index aa11b76..d229309 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/NewEntityTestId.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/NewEntityTestId.cs @@ -9,14 +9,13 @@ namespace DFlow.Tests.Supporting.DomainObjects { - public sealed class NewEntityTestId : ValueOf + public sealed class NewEntityTestId : ValueOf { - public static NewEntityTestId Empty() { return From(Guid.Empty); } - + public static NewEntityTestId GetNext() { return From(Guid.NewGuid()); diff --git a/tests/DFlow.Tests/Supporting/DomainObjects/ObjectBasedAggregateFactory.cs b/tests/DFlow.Tests/Supporting/DomainObjects/ObjectBasedAggregateFactory.cs index 1485dab..e6dd51f 100644 --- a/tests/DFlow.Tests/Supporting/DomainObjects/ObjectBasedAggregateFactory.cs +++ b/tests/DFlow.Tests/Supporting/DomainObjects/ObjectBasedAggregateFactory.cs @@ -5,12 +5,11 @@ // file, You can obtain one at https://mozilla.org/MPL/2.0/. using DFlow.Domain.Aggregates; -using DFlow.Domain.BusinessObjects; using DFlow.Tests.Supporting.DomainObjects.Commands; namespace DFlow.Tests.Supporting.DomainObjects { - public class ObjectBasedAggregateFactory: + public class ObjectBasedAggregateFactory : IAggregateFactory, IAggregateFactory { diff --git a/tests/DFlow.Tests/Supporting/Specifications/AnotherBusinessEntityEmailFromCompany.cs b/tests/DFlow.Tests/Supporting/Specifications/AnotherBusinessEntityEmailFromCompany.cs index 6cc69df..49500fd 100644 --- a/tests/DFlow.Tests/Supporting/Specifications/AnotherBusinessEntityEmailFromCompany.cs +++ b/tests/DFlow.Tests/Supporting/Specifications/AnotherBusinessEntityEmailFromCompany.cs @@ -30,7 +30,7 @@ public AnotherBusinessEntityEmailFromCompany(Email emailToCheck) { _emailToCheck = emailToCheck; } - + public override bool IsSatisfiedBy(AnotherBusinessEntity candidate) { if (candidate.EntityEmail.Equals(_emailToCheck) == false) @@ -39,7 +39,7 @@ public override bool IsSatisfiedBy(AnotherBusinessEntity candidate) $"The candidate not is from company {candidate.EntityEmail}.")); return false; } - + return true; } } diff --git a/tests/DFlow.Tests/Supporting/Specifications/AnotherBusinessEntityNameIsRoad.cs b/tests/DFlow.Tests/Supporting/Specifications/AnotherBusinessEntityNameIsRoad.cs index c29d689..ba29fdf 100644 --- a/tests/DFlow.Tests/Supporting/Specifications/AnotherBusinessEntityNameIsRoad.cs +++ b/tests/DFlow.Tests/Supporting/Specifications/AnotherBusinessEntityNameIsRoad.cs @@ -30,16 +30,16 @@ public AnotherBusinessEntityNameIsRoad(Name nameToCheck) { _nameToCheck = nameToCheck; } - + public override bool IsSatisfiedBy(AnotherBusinessEntity candidate) { - if (candidate.EntityName != _nameToCheck ) + if (candidate.EntityName != _nameToCheck) { candidate.AppendValidationResult(Failure.For("EntityName", $"The candidate name {candidate.EntityName} it is not expected name.")); return false; } - + return true; } } diff --git a/tests/DFlow.Tests/Supporting/Specifications/BusinessEntityIsNew.cs b/tests/DFlow.Tests/Supporting/Specifications/BusinessEntityIsNew.cs index e276a9c..3a582b2 100644 --- a/tests/DFlow.Tests/Supporting/Specifications/BusinessEntityIsNew.cs +++ b/tests/DFlow.Tests/Supporting/Specifications/BusinessEntityIsNew.cs @@ -33,7 +33,7 @@ public override bool IsSatisfiedBy(BusinessEntity candidate) "The candidate already exists.")); return false; } - + return true; } } diff --git a/tests/DFlow.Tests/Supporting/UpdateEntityEventBasedCommandHandler.cs b/tests/DFlow.Tests/Supporting/UpdateEntityEventBasedCommandHandler.cs index 9e71c7f..8ca640e 100644 --- a/tests/DFlow.Tests/Supporting/UpdateEntityEventBasedCommandHandler.cs +++ b/tests/DFlow.Tests/Supporting/UpdateEntityEventBasedCommandHandler.cs @@ -32,40 +32,41 @@ namespace DFlow.Tests.Supporting { public sealed class UpdateEntityEventBasedCommandHandler : CommandHandler> { - private IAggregateFactory> + private readonly IAggregateFactory> _aggregateFactory; - - public UpdateEntityEventBasedCommandHandler(IDomainEventBus publisher, + + public UpdateEntityEventBasedCommandHandler(IDomainEventBus publisher, IAggregateFactory> aggregateFactory) - :base(publisher) + : base(publisher) { _aggregateFactory = aggregateFactory; } - - protected override Task> ExecuteCommand(UpdateEntityCommand command, CancellationToken cancellationToken) + + protected override Task> ExecuteCommand(UpdateEntityCommand command, + CancellationToken cancellationToken) { var agg = _aggregateFactory.Create( EventStream.From(EntityTestId.Empty(), - new AggregationName(), + new AggregationName(), VersionId.Empty(), new ImmutableArray()) - ); + ); var isSucceed = agg.IsValid; var okId = Guid.Empty; - - + + if (isSucceed) { agg.UpdateName(EntityTestId.From(command.AggregateId), Name.From(command.Name)); isSucceed = agg.IsValid; - + agg.GetEvents().ToImmutableList() - .ForEach( ev => Publisher.Publish(ev)); - + .ForEach(ev => Publisher.Publish(ev)); + okId = agg.GetChange().AggregationId.Value; } - - return Task.FromResult(new CommandResult(isSucceed, okId,agg.Failures)); + + return Task.FromResult(new CommandResult(isSucceed, okId, agg.Failures)); } } } \ No newline at end of file diff --git a/tests/DFlow.Tests/opencovertests.xml b/tests/DFlow.Tests/opencovertests.xml index a75d115..cc14dcf 100644 --- a/tests/DFlow.Tests/opencovertests.xml +++ b/tests/DFlow.Tests/opencovertests.xml @@ -1,21438 +1,38767 @@  - - - - DFlow.Business.Cqrs.dll - 2022-03-02T06:31:09 - DFlow.Business.Cqrs - - - - - - - - - - - DFlow.Business.Cqrs.CommandHandler`2 - - - - - System.Void DFlow.Business.Cqrs.CommandHandler`2::.ctor(DFlow.Domain.Events.IDomainEventBus) - - - - - - - - - - - - - - - DFlow.Business.Cqrs.CommandHandler`2/<Execute>d__4 - - - - - System.Void DFlow.Business.Cqrs.CommandHandler`2/<Execute>d__4::MoveNext() - - - - - - - - - - - - - - - - - - DFlow.Business.Cqrs.CommandHandler`2/<Execute>d__5 - - - - - System.Void DFlow.Business.Cqrs.CommandHandler`2/<Execute>d__5::MoveNext() - - - - - - - - - - - - - - - - - DFlow.Business.Cqrs.ExecutionResult - - - - - System.Void DFlow.Business.Cqrs.ExecutionResult::.ctor(System.Boolean,System.Collections.Generic.IReadOnlyList`1<FluentValidation.Results.ValidationFailure>) - - - - - - - - - - - - - - - - DFlow.Business.Cqrs.QueryHandler`2/<Execute>d__0 - - - - - System.Void DFlow.Business.Cqrs.QueryHandler`2/<Execute>d__0::MoveNext() - - - - - - - - - - - - - - - - - - - DFlow.Business.Cqrs.QueryHandler`2/<Execute>d__1 - - - - - System.Void DFlow.Business.Cqrs.QueryHandler`2/<Execute>d__1::MoveNext() - - - - - - - - - - - - - - - - - - DFlow.Business.Cqrs.QueryHandlers.QueryResult`1 - - - - - System.Void DFlow.Business.Cqrs.QueryHandlers.QueryResult`1::.ctor(System.Boolean,TResult) - - - - - - - - - - - - - - - DFlow.Business.Cqrs.CommandHandlers.CommandResult`1 - - - - - System.Void DFlow.Business.Cqrs.CommandHandlers.CommandResult`1::.ctor(System.Boolean,TResult,System.Collections.Generic.IReadOnlyList`1<FluentValidation.Results.ValidationFailure>) - - - - - - - - - - - - - - - - DFlow.dll - 2022-03-02T06:31:09 - DFlow - - - - - - - - - - - - - - - - - - - - - - DFlow.Configuration.Startup.EntryPoint - - - - - DFlow.Configuration.Startup.EntryPoint DFlow.Configuration.Startup.EntryPoint::get_Instance() - - - - - - - - - - - System.Void DFlow.Configuration.Startup.EntryPoint::.ctor() - - - - - - - - - - - - - System.Void DFlow.Configuration.Startup.EntryPoint::.cctor() - - - - - - - - - - - - DFlow.Bus.MemoryEventBus - - - - - System.Void DFlow.Bus.MemoryEventBus::Publish(DFlow.Interfaces.IEvent[]) - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Bus.MemoryEventBus::.ctor(DFlow.Configuration.IDependencyResolver) - - - - - - - - - - - - - - - DFlow.Base.AppendOnlyBase - - - - - System.Void DFlow.Base.AppendOnlyBase::Append(System.Guid,System.String,System.Int64,System.Collections.Generic.ICollection`1<DFlow.Interfaces.IEvent>) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Byte[] DFlow.Base.AppendOnlyBase::SerializeEvent(DFlow.Interfaces.IEvent[]) - - - - - - - - - - - - - - - - DFlow.Interfaces.IEvent[] DFlow.Base.AppendOnlyBase::DeserializeEvent(System.Byte[]) - - - - - - - - - - - - - - - System.Void DFlow.Base.AppendOnlyBase::.ctor() - - - - - - - - - - - - DFlow.Base.DataWithName - - - - - System.Void DFlow.Base.DataWithName::.ctor(System.String,System.Byte[]) - - - - - - - - - - - - - - - - DFlow.Base.DataWithVersion - - - - - System.Void DFlow.Base.DataWithVersion::.ctor(System.Int64,System.Byte[]) - - - - - - - - - - - - - - - - DFlow.Base.EventStore - - - - - DFlow.Base.EventStream DFlow.Base.EventStore::LoadEventStream(System.Guid) - - - - - - - - - - - DFlow.Base.EventStream DFlow.Base.EventStore::LoadEventStream(System.Guid,System.Int32,System.Int32) - - - - - - - - - - - - - - - - - - - - - - - DFlow.Base.EventStream DFlow.Base.EventStore::LoadEventStreamAfterVersion(System.Guid,System.Int64) - - - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Base.EventStore::AppendToStream(System.Guid,System.Int64,System.Collections.Generic.ICollection`1<DFlow.Interfaces.IEvent>,DFlow.Interfaces.IDomainEvent[]) - - - - - - - - - - - - - - - System.Boolean DFlow.Base.EventStore::Any(System.Guid) - - - - - - - - - - - - - DFlow.Interfaces.IEvent[] DFlow.Base.EventStore::DeserializeEvent(System.Byte[]) - - - - - - - - - - - - - - - System.Void DFlow.Base.EventStore::.ctor(DFlow.Interfaces.IAppendOnlyStore`1<System.Guid>,DFlow.Interfaces.IEventBus) - - - - - - - - - - - - - - - - - DFlow.Base.EventStream - - - - - System.Void DFlow.Base.EventStream::.ctor() - - - - - - - - - - - - DFlow.Base.Handler - - - - - System.Boolean DFlow.Base.Handler::HasConflict(DFlow.Interfaces.IEvent,DFlow.Interfaces.IEvent) - - - - - - - - - - - - - DFlow.Base.Events.CommandEvent DFlow.Base.Handler::Execute(DFlow.Interfaces.ICommand) - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Base.Handler::HandleConcurrencyException(DFlow.Base.Exceptions.EventStoreConcurrencyException,TAggregate) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Base.Handler::.ctor(DFlow.Interfaces.IEventStore`1<System.Guid>) - - - - - - - - - - - - - - - DFlow.Base.Result`1 - - - - - System.Boolean DFlow.Base.Result`1::get_HasExceptions() - - - - - - - - - - - - - - System.Void DFlow.Base.Result`1::.ctor(T,System.Collections.Generic.IList`1<System.Exception>) - - - - - - - - - - - - - - - - DFlow.Base.Subscriber - - - - - System.Void DFlow.Base.Subscriber::Update(T) - - - - - - - - - - - - - - - - - DFlow.Base.Exceptions.DuplicatedRootException - - - - - System.Void DFlow.Base.Exceptions.DuplicatedRootException::.ctor(System.String) - - - - - - - - - - - - - - DFlow.Base.Exceptions.EventStoreConcurrencyException - - - - - System.Void DFlow.Base.Exceptions.EventStoreConcurrencyException::.ctor(System.Collections.Generic.List`1<DFlow.Interfaces.IEvent>,System.Int64) - - - - - - - - - - - - - - - - DFlow.Base.Events.CommandEvent - - - - - System.Void DFlow.Base.Events.CommandEvent::.ctor(DFlow.Base.OperationStatus,System.Exception[]) - - - - - - - - - - - - - - - - DFlow.Base.Aggregate.AggregateCreated`1 - - - - - System.Void DFlow.Base.Aggregate.AggregateCreated`1::.ctor(TKey) - - - - - - - - - - - - - - - DFlow.Base.Aggregate.AggregateFactoryBase - - - - - TAggregate DFlow.Base.Aggregate.AggregateFactoryBase::Load(System.Guid) - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Base.Aggregate.AggregateFactoryBase::.ctor(DFlow.Interfaces.IEventStore`1<System.Guid>) - - - - - - - - - - - - - - System.Void DFlow.Base.Aggregate.AggregateFactoryBase::.ctor(DFlow.Interfaces.IEventStore`1<System.Guid>,DFlow.Interfaces.ISnapshotRepository`1<System.Guid>) - - - - - - - - - - - - - - - DFlow.Base.Aggregate.AggregateRoot`1 - - - - - System.Void DFlow.Base.Aggregate.AggregateRoot`1::ReplayEvents(System.Collections.Generic.IEnumerable`1<DFlow.Interfaces.IEvent>) - - - - - - - - - - - - - - - - - - - System.Void DFlow.Base.Aggregate.AggregateRoot`1::Apply(DFlow.Interfaces.IEvent) - - - - - - - - - - - - - - - System.Void DFlow.Base.Aggregate.AggregateRoot`1::Dispatch(DFlow.Interfaces.IDomainEvent) - - - - - - - - - - - - - System.Void DFlow.Base.Aggregate.AggregateRoot`1::.ctor(DFlow.Base.EventStream) - - - - - - - - - - - - - - - - - - - DFlow.Domain.dll - 2022-03-02T06:31:09 - DFlow.Domain - - - - - - - - - - - - - - - - - - - - - - - - DFlow.Domain.Validation.AggregationNameValidator - - - - - System.Void DFlow.Domain.Validation.AggregationNameValidator::.ctor() - - - - - - - - - - - - - - - - DFlow.Domain.Validation.BaseValidation - - - - - System.Void DFlow.Domain.Validation.BaseValidation::AppendValidationResult(FluentValidation.Results.ValidationFailure) - - - - - - - - - - - - - System.Void DFlow.Domain.Validation.BaseValidation::AppendValidationResult(System.Collections.Generic.IReadOnlyList`1<FluentValidation.Results.ValidationFailure>) - - - - - - - - - - - - - System.Collections.Generic.IReadOnlyList`1<FluentValidation.Results.ValidationFailure> DFlow.Domain.Validation.BaseValidation::get_Failures() - - - - - - - - - - - System.Boolean DFlow.Domain.Validation.BaseValidation::get_IsValid() - - - - - - - - - - - System.Void DFlow.Domain.Validation.BaseValidation::.ctor() - - - - - - - - - - - - DFlow.Domain.Validation.VersionIdValidator - - - - - System.Void DFlow.Domain.Validation.VersionIdValidator::.ctor() - - - - - - - - - - - - - - - - - DFlow.Domain.Specifications.AndSpecification`1 - - - - - System.Boolean DFlow.Domain.Specifications.AndSpecification`1::IsSatisfiedBy(TBusinessObject) - - - - - - - - - - - - - - - - - System.Void DFlow.Domain.Specifications.AndSpecification`1::.ctor(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>,DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) - - - - - - - - - - - - - - DFlow.Domain.Specifications.CompositeSpecification`1 - - - - - DFlow.Domain.Specifications.ISpecification`1<TBusinessObject> DFlow.Domain.Specifications.CompositeSpecification`1::And(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) - - - - - - - - - - - - - DFlow.Domain.Specifications.ISpecification`1<TBusinessObject> DFlow.Domain.Specifications.CompositeSpecification`1::Or(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) - - - - - - - - - - - - - DFlow.Domain.Specifications.ISpecification`1<TBusinessObject> DFlow.Domain.Specifications.CompositeSpecification`1::Not() - - - - - - - - - - - - - - DFlow.Domain.Specifications.LinqExpressionSpecification`1 - - - - - System.Boolean DFlow.Domain.Specifications.LinqExpressionSpecification`1::IsSatisfiedBy(TBusinessObject) - - - - - - - - - - - - DFlow.Domain.Specifications.LogicalSpecification`1 - - - - - System.Void DFlow.Domain.Specifications.LogicalSpecification`1::.ctor(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>,DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) - - - - - - - - - - - - - - - - - DFlow.Domain.Specifications.NotSpecification`1 - - - - - System.Boolean DFlow.Domain.Specifications.NotSpecification`1::IsSatisfiedBy(TBusinessObject) - - - - - - - - - - - - - System.Void DFlow.Domain.Specifications.NotSpecification`1::.ctor(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) - - - - - - - - - - - - - - - DFlow.Domain.Specifications.OrSpecification`1 - - - - - System.Boolean DFlow.Domain.Specifications.OrSpecification`1::IsSatisfiedBy(TBusinessObject) - - - - - - - - - - - - - - - - - System.Void DFlow.Domain.Specifications.OrSpecification`1::.ctor(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>,DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) - - - - - - - - - - - - - - DFlow.Domain.DomainEvents.AggregateAddedDomainEvent`1 - - - - - System.Void DFlow.Domain.DomainEvents.AggregateAddedDomainEvent`1::.ctor(TEntityId,DFlow.Domain.BusinessObjects.VersionId) - - - - - - - - - - - - - - - DFlow.Domain.DomainEvents.DomainEvent - - - - - System.Void DFlow.Domain.DomainEvents.DomainEvent::.ctor(System.DateTime,DFlow.Domain.BusinessObjects.VersionId) - - - - - - - - - - - - - - - - DFlow.Domain.Command.BaseCommand - - - - - System.Void DFlow.Domain.Command.BaseCommand::.ctor() - - - - - - - - - - - - - - - DFlow.Domain.BusinessObjects.BaseEntity`1 - - - - - System.Boolean DFlow.Domain.BusinessObjects.BaseEntity`1::IsNew() - - - - - - - - - - - System.String DFlow.Domain.BusinessObjects.BaseEntity`1::ToString() - - - - - - - - - - - - - System.Boolean DFlow.Domain.BusinessObjects.BaseEntity`1::Equals(System.Object) - - - - - - - - - - - - - - - - - - - - - - - - - System.Int32 DFlow.Domain.BusinessObjects.BaseEntity`1::GetHashCode() - - - - - - - - - - - - - System.Void DFlow.Domain.BusinessObjects.BaseEntity`1::.ctor(TIdentity,DFlow.Domain.BusinessObjects.VersionId) - - - - - - - - - - - - - - - - DFlow.Domain.BusinessObjects.EventStream`1 - - - - - DFlow.Domain.BusinessObjects.EventStream`1<TEntityId> DFlow.Domain.BusinessObjects.EventStream`1::From(TEntityId,DFlow.Domain.BusinessObjects.AggregationName,DFlow.Domain.BusinessObjects.VersionId,System.Collections.Immutable.IImmutableList`1<DFlow.Domain.Events.IDomainEvent>) - - - - - - - - - - - - - - DFlow.Domain.BusinessObjects.EventStream`1<TEntityId> DFlow.Domain.BusinessObjects.EventStream`1::AppendStream(DFlow.Domain.BusinessObjects.EventStream`1<TEntityId>,System.Collections.Immutable.IImmutableList`1<DFlow.Domain.Events.IDomainEvent>) - - - - - - - - - - - - - - System.Void DFlow.Domain.BusinessObjects.EventStream`1::.ctor(TEntityId,DFlow.Domain.BusinessObjects.AggregationName,DFlow.Domain.BusinessObjects.VersionId,System.Collections.Immutable.IImmutableList`1<DFlow.Domain.Events.IDomainEvent>) - - - - - - - - - - - - - - - - - DFlow.Domain.BusinessObjects.EventStream`1/<GetEqualityComponents>d__12 - - - - - System.Boolean DFlow.Domain.BusinessObjects.EventStream`1/<GetEqualityComponents>d__12::MoveNext() - - - - - - - - - - - - - - - - DFlow.Domain.BusinessObjects.ValueOf`3 - - - - - System.Void DFlow.Domain.BusinessObjects.ValueOf`3::Validate() - - - - - - - - - - - - - - DFlow.Domain.BusinessObjects.VersionId - - - - - System.Boolean DFlow.Domain.BusinessObjects.VersionId::get_Initial() - - - - - - - - - - - DFlow.Domain.BusinessObjects.VersionId DFlow.Domain.BusinessObjects.VersionId::Empty() - - - - - - - - - - - - - DFlow.Domain.BusinessObjects.VersionId DFlow.Domain.BusinessObjects.VersionId::New() - - - - - - - - - - - - - DFlow.Domain.BusinessObjects.VersionId DFlow.Domain.BusinessObjects.VersionId::Next(DFlow.Domain.BusinessObjects.VersionId) - - - - - - - - - - - - - System.Boolean DFlow.Domain.BusinessObjects.VersionId::op_GreaterThanOrEqual(DFlow.Domain.BusinessObjects.VersionId,DFlow.Domain.BusinessObjects.VersionId) - - - - - - - - - - - System.Boolean DFlow.Domain.BusinessObjects.VersionId::op_LessThanOrEqual(DFlow.Domain.BusinessObjects.VersionId,DFlow.Domain.BusinessObjects.VersionId) - - - - - - - - - - - System.Boolean DFlow.Domain.BusinessObjects.VersionId::op_GreaterThan(DFlow.Domain.BusinessObjects.VersionId,DFlow.Domain.BusinessObjects.VersionId) - - - - - - - - - - - System.Boolean DFlow.Domain.BusinessObjects.VersionId::op_LessThan(DFlow.Domain.BusinessObjects.VersionId,DFlow.Domain.BusinessObjects.VersionId) - - - - - - - - - - - System.Void DFlow.Domain.BusinessObjects.VersionId::.cctor() - - - - - - - - - - - - - - DFlow.Domain.Aggregates.EventBasedAggregationRoot`1 - - - - - System.Void DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::Apply(System.Collections.Immutable.IImmutableList`1<DFlow.Domain.Events.IDomainEvent>) - - - - - - - - - - - - - - - - - - - System.Void DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::Apply(DFlow.Domain.Events.IDomainEvent) - - - - - - - - - - - - - System.Void DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::Raise(DFlow.Domain.Events.IDomainEvent) - - - - - - - - - - - - - DFlow.Domain.BusinessObjects.EventStream`1<TEntityId> DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::GetChange() - - - - - - - - - - - - - System.Collections.Generic.IReadOnlyList`1<DFlow.Domain.Events.IDomainEvent> DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::GetEvents() - - - - - - - - - - - - - System.Void DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::.ctor(TEntityId,DFlow.Domain.BusinessObjects.VersionId,DFlow.Domain.BusinessObjects.AggregationName) - - - - - - - - - - - - - - - - - - - DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2 - - - - - System.Void DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2::Apply(TChange) - - - - - - - - - - - - - System.Void DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2::Raise(DFlow.Domain.Events.IDomainEvent) - - - - - - - - - - - - - TChange DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2::GetChange() - - - - - - - - - - - - - System.Collections.Generic.IReadOnlyList`1<DFlow.Domain.Events.IDomainEvent> DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2::GetEvents() - - - - - - - - - - - - - System.Void DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2::.ctor() - - - - - - - - - - - - - DFlow.Domain.Events.dll - 2022-03-02T06:31:09 - DFlow.Domain.Events - - - - - - - DFlow.Domain.Events.DomainEventHandler`1/<Handle>d__4 - - - - - System.Void DFlow.Domain.Events.DomainEventHandler`1/<Handle>d__4::MoveNext() - - - - - - - - - - - - - - - - - - - DFlow.Domain.Events.DomainEventHandler`1/<Handle>d__5 - - - - - System.Void DFlow.Domain.Events.DomainEventHandler`1/<Handle>d__5::MoveNext() - - - - - - - - - - - - - - - - - - - - - - - - - - DFlow.Example.dll - 2022-03-02T06:31:09 - DFlow.Example - - - - - - - - - - - - - - - - - - - - - - - DFlow.Example.AggregateFactory - - - - - TAggregate DFlow.Example.AggregateFactory::Create() - - - - - - - - - - - - - TAggregate DFlow.Example.AggregateFactory::Create(System.Guid) - - - - - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Example.AggregateFactory::.ctor(DFlow.Interfaces.IEventStore`1<System.Guid>,DFlow.Interfaces.ISnapshotRepository`1<System.Guid>) - - - - - - - - - - - - - - - - DFlow.Example.MemoryAppendOnlyStore - - - - - System.Void DFlow.Example.MemoryAppendOnlyStore::Dispose() - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<DFlow.Base.DataWithVersion> DFlow.Example.MemoryAppendOnlyStore::ReadRecords(System.String,System.Int64,System.Int32) - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<DFlow.Base.DataWithVersion> DFlow.Example.MemoryAppendOnlyStore::ReadRecords(System.Guid,System.Int64,System.Int32) - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<DFlow.Base.DataWithVersion> DFlow.Example.MemoryAppendOnlyStore::ReadRecords(System.Int64,System.Int32) - - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<DFlow.Base.DataWithName> DFlow.Example.MemoryAppendOnlyStore::ReadRecords(System.Int64,System.Int32) - - - - - - - - - - - - - - - - - - - System.Boolean DFlow.Example.MemoryAppendOnlyStore::Any(System.Guid) - - - - - - - - - - - - - System.Void DFlow.Example.MemoryAppendOnlyStore::Close() - - - - - - - - - - - - System.Void DFlow.Example.MemoryAppendOnlyStore::Save(System.Guid,System.String,System.Int64,System.Byte[]) - - - - - - - - - - - - - System.Void DFlow.Example.MemoryAppendOnlyStore::.ctor(DFlow.Interfaces.IEventBus) - - - - - - - - - - - - - - - DFlow.Example.MemoryAppendOnlyStore/EventDTO`1 - - - - - System.Void DFlow.Example.MemoryAppendOnlyStore/EventDTO`1::.ctor(TKey,System.String,System.Int64,System.Byte[]) - - - - - - - - - - - - - - - - - - DFlow.Example.MemoryAppendOnlyStore/<>c__DisplayClass3_0 - - - - - DFlow.Example.MemoryAppendOnlyStore/<>c__DisplayClass4_0 - - - - - DFlow.Example.MemoryAppendOnlyStore/<>c__DisplayClass5_0`1 - - - - - DFlow.Example.MemoryResolver - - - - - System.Collections.Generic.IEnumerable`1<System.Object> DFlow.Example.MemoryResolver::Resolve(System.Type) - - - - - - - - - - - - - - - - - - - System.Void DFlow.Example.MemoryResolver::Register(DFlow.Interfaces.ISubscriber`1<T>) - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Example.MemoryResolver::Unregister(DFlow.Interfaces.ISubscriber`1<T>) - - - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Example.MemoryResolver::.ctor() - - - - - - - - - - - - - - - DFlow.Example.SnapshotRepository - - - - - System.Boolean DFlow.Example.SnapshotRepository::TryGetSnapshotById(System.Guid,TAggregate&,System.Int64&) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Example.SnapshotRepository::SaveSnapshot(System.Guid,TAggregate,System.Int64) - - - - - - - - - - - - - - - - System.Byte[] DFlow.Example.SnapshotRepository::Serialize(DFlow.Base.Aggregate.AggregateRoot`1<System.Guid>) - - - - - - - - - - - - - - - - DFlow.Base.Aggregate.AggregateRoot`1<System.Guid> DFlow.Example.SnapshotRepository::Deserialize(System.Byte[]) - - - - - - - - - - - - - - - System.Void DFlow.Example.SnapshotRepository::.ctor() - - - - - - - - - - - - - - - - DFlow.Example.Views.ProductView - - - - - System.Void DFlow.Example.Views.ProductView::Update(DFlow.Example.Events.ProductCreated) - - - - - - - - - - - - - System.Void DFlow.Example.Views.ProductView::Update(DFlow.Example.Events.ProductNameChanged) - - - - - - - - - - - - - - - - - - - - System.String DFlow.Example.Views.ProductView::GetSubscriberId() - - - - - - - - - - - - - System.Void DFlow.Example.Views.ProductView::.ctor() - - - - - - - - - - - - - - System.Void DFlow.Example.Views.ProductView::.ctor(System.Collections.Generic.List`1<DFlow.Example.Views.ProductDTO>) - - - - - - - - - - - - - - - DFlow.Example.Handlers.ProductQueryHandler - - - - - System.Collections.Generic.IList`1<DFlow.Example.Views.ProductDTO> DFlow.Example.Handlers.ProductQueryHandler::ListAllProducts() - - - - - - - - - - - - - System.Collections.Generic.IList`1<DFlow.Example.Views.ProductDTO> DFlow.Example.Handlers.ProductQueryHandler::ListByFilter(System.Func`2<DFlow.Example.Views.ProductDTO,System.Boolean>) - - - - - - - - - - - - - DFlow.Example.Views.ProductDTO DFlow.Example.Handlers.ProductQueryHandler::GetById(System.Guid) - - - - - - - - - - - - - System.Void DFlow.Example.Handlers.ProductQueryHandler::.ctor(DFlow.Example.Views.ProductView) - - - - - - - - - - - - - - - DFlow.Example.Handlers.ProductServiceCommandHandler - - - - - DFlow.Base.Events.CommandEvent DFlow.Example.Handlers.ProductServiceCommandHandler::When(DFlow.Example.Commands.CreateProductCatalog) - - - - - - - - - - - - - - - - - - - - - - - - DFlow.Base.Events.CommandEvent DFlow.Example.Handlers.ProductServiceCommandHandler::When(DFlow.Example.Commands.CreateProductCommand) - - - - - - - - - - - - - - - - - - - - - - - - - DFlow.Base.Events.CommandEvent DFlow.Example.Handlers.ProductServiceCommandHandler::When(DFlow.Example.Commands.ChangeProductNameCommand) - - - - - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Example.Handlers.ProductServiceCommandHandler::.ctor(DFlow.Interfaces.IEventStore`1<System.Guid>,DFlow.Example.AggregateFactory) - - - - - - - - - - - - - - - - DFlow.Example.Exceptions.BusinesException - - - - - System.Void DFlow.Example.Exceptions.BusinesException::.ctor(System.String) - - - - - - - - - - - - - - DFlow.Example.Events.ProductCatalogAggregateCreated - - - - - System.Void DFlow.Example.Events.ProductCatalogAggregateCreated::.ctor(System.Guid) - - - - - - - - - - - - - - - DFlow.Example.Events.ProductCreated - - - - - System.Void DFlow.Example.Events.ProductCreated::.ctor(System.Guid,System.String,System.String) - - - - - - - - - - - - - - - - - DFlow.Example.Events.ProductNameChanged - - - - - System.Void DFlow.Example.Events.ProductNameChanged::.ctor(System.Guid,System.String) - - - - - - - - - - - - - - - - - - - - - - - DFlow.Example.Entities.Product - - - - - System.Void DFlow.Example.Entities.Product::ChangeName(System.String) - - - - - - - - - - - - - System.Void DFlow.Example.Entities.Product::.ctor(System.Guid,System.String,System.String) - - - - - - - - - - - - - - - - - DFlow.Example.Commands.AddProductCommand - - - - - System.Void DFlow.Example.Commands.AddProductCommand::.ctor() - - - - - - - - - - - - - System.Void DFlow.Example.Commands.AddProductCommand::.ctor(System.Guid,System.Guid,System.Decimal) - - - - - - - - - - - - - - - - - DFlow.Example.Commands.ChangeProductNameCommand - - - - - System.Void DFlow.Example.Commands.ChangeProductNameCommand::.ctor(System.Guid) - - - - - - - - - - - - - - System.Void DFlow.Example.Commands.ChangeProductNameCommand::.ctor(System.Guid,System.Guid,System.String) - - - - - - - - - - - - - - - - - DFlow.Example.Commands.CreateProductCatalog - - - - - System.Void DFlow.Example.Commands.CreateProductCatalog::.ctor(System.Guid) - - - - - - - - - - - - - - - - - - - - DFlow.Example.Commands.CreateProductCommand - - - - - System.Void DFlow.Example.Commands.CreateProductCommand::.ctor(System.Guid) - - - - - - - - - - - - - - System.Void DFlow.Example.Commands.CreateProductCommand::.ctor(System.Guid,System.Guid,System.String,System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DFlow.Example.Aggregates.ProductCatalogAggregate - - - - - System.Void DFlow.Example.Aggregates.ProductCatalogAggregate::CreateProduct(DFlow.Example.Commands.CreateProductCommand) - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Example.Aggregates.ProductCatalogAggregate::ChangeProductName(DFlow.Example.Commands.ChangeProductNameCommand) - - - - - - - - - - - - - - - - - - - - - System.Void DFlow.Example.Aggregates.ProductCatalogAggregate::Mutate(DFlow.Interfaces.IEvent) - - - - - - - - - - - - - - - - System.Void DFlow.Example.Aggregates.ProductCatalogAggregate::When(DFlow.Example.Events.ProductCreated) - - - - - - - - - - - - - System.Void DFlow.Example.Aggregates.ProductCatalogAggregate::When(DFlow.Example.Events.ProductNameChanged) - - - - - - - - - - - - - - System.Void DFlow.Example.Aggregates.ProductCatalogAggregate::When(DFlow.Base.Aggregate.AggregateCreated`1<System.Guid>) - - - - - - - - - - - - - - System.Void DFlow.Example.Aggregates.ProductCatalogAggregate::.ctor(DFlow.Base.EventStream) - - - - - - - - - - - - - - - DFlow.Persistence.dll - 2022-03-02T06:31:09 - DFlow.Persistence - - - - - - - DFlow.Persistence.Model.PersistentState - - - - - System.Void DFlow.Persistence.Model.PersistentState::.ctor(System.DateTime,System.Byte[]) - - - - - - - - - - - - - - - - - - FluentValidation.dll - 2022-03-02T06:31:09 - FluentValidation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.AbstractValidator`1 - - - - - FluentValidation.CascadeMode FluentValidation.AbstractValidator`1::get_CascadeMode() - - - - - - - - - - - System.Void FluentValidation.AbstractValidator`1::set_CascadeMode(FluentValidation.CascadeMode) - - - - - - - - - - - FluentValidation.Results.ValidationResult FluentValidation.AbstractValidator`1::FluentValidation.IValidator.Validate(FluentValidation.IValidationContext) - - - - - - - - - - - - System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> FluentValidation.AbstractValidator`1::FluentValidation.IValidator.ValidateAsync(FluentValidation.IValidationContext,System.Threading.CancellationToken) - - - - - - - - - - - - FluentValidation.Results.ValidationResult FluentValidation.AbstractValidator`1::Validate(T) - - - - - - - - - - - System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> FluentValidation.AbstractValidator`1::ValidateAsync(T,System.Threading.CancellationToken) - - - - - - - - - - - FluentValidation.Results.ValidationResult FluentValidation.AbstractValidator`1::Validate(FluentValidation.ValidationContext`1<T>) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.AbstractValidator`1::SetExecutedRulesets(FluentValidation.Results.ValidationResult,FluentValidation.ValidationContext`1<T>) - - - - - - - - - - - - - - - - System.Void FluentValidation.AbstractValidator`1::AddRule(FluentValidation.IValidationRule) - - - - - - - - - - - - FluentValidation.IValidatorDescriptor FluentValidation.AbstractValidator`1::CreateDescriptor() - - - - - - - - - - - System.Boolean FluentValidation.AbstractValidator`1::FluentValidation.IValidator.CanValidateInstancesOfType(System.Type) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderInitial`2<T,TProperty> FluentValidation.AbstractValidator`1::RuleFor(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderInitialCollection`2<T,TElement> FluentValidation.AbstractValidator`1::RuleForEach(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Collections.Generic.IEnumerable`1<TElement>>>) - - - - - - - - - - - - - - - System.Void FluentValidation.AbstractValidator`1::RuleSet(System.String,System.Action) - - - - - - - - - - - - - - - - - - - - - - FluentValidation.IConditionBuilder FluentValidation.AbstractValidator`1::When(System.Func`2<T,System.Boolean>,System.Action) - - - - - - - - - - - FluentValidation.IConditionBuilder FluentValidation.AbstractValidator`1::When(System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,System.Action) - - - - - - - - - - - FluentValidation.IConditionBuilder FluentValidation.AbstractValidator`1::Unless(System.Func`2<T,System.Boolean>,System.Action) - - - - - - - - - - - FluentValidation.IConditionBuilder FluentValidation.AbstractValidator`1::Unless(System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,System.Action) - - - - - - - - - - - FluentValidation.IConditionBuilder FluentValidation.AbstractValidator`1::WhenAsync(System.Func`3<T,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) - - - - - - - - - - - FluentValidation.IConditionBuilder FluentValidation.AbstractValidator`1::WhenAsync(System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) - - - - - - - - - - - FluentValidation.IConditionBuilder FluentValidation.AbstractValidator`1::UnlessAsync(System.Func`3<T,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) - - - - - - - - - - - FluentValidation.IConditionBuilder FluentValidation.AbstractValidator`1::UnlessAsync(System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) - - - - - - - - - - - System.Void FluentValidation.AbstractValidator`1::Include(FluentValidation.IValidator`1<T>) - - - - - - - - - - - - - - System.Void FluentValidation.AbstractValidator`1::Include(System.Func`2<T,TValidator>) - - - - - - - - - - - - - - System.Collections.Generic.IEnumerator`1<FluentValidation.IValidationRule> FluentValidation.AbstractValidator`1::GetEnumerator() - - - - - - - - - - - System.Collections.IEnumerator FluentValidation.AbstractValidator`1::System.Collections.IEnumerable.GetEnumerator() - - - - - - - - - - - System.Void FluentValidation.AbstractValidator`1::EnsureInstanceNotNull(System.Object) - - - - - - - - - - - - System.Boolean FluentValidation.AbstractValidator`1::PreValidate(FluentValidation.ValidationContext`1<T>,FluentValidation.Results.ValidationResult) - - - - - - - - - - - System.Void FluentValidation.AbstractValidator`1::RaiseValidationException(FluentValidation.ValidationContext`1<T>,FluentValidation.Results.ValidationResult) - - - - - - - - - - - System.Void FluentValidation.AbstractValidator`1::.ctor() - - - - - - - - - - - - - - - - FluentValidation.AbstractValidator`1/<>c - - - - - System.Boolean FluentValidation.AbstractValidator`1/<>c::<ValidateAsync>b__12_0(FluentValidation.Results.ValidationFailure) - - - - - - - - - - - - FluentValidation.AbstractValidator`1/<ValidateAsync>d__12 - - - - - System.Void FluentValidation.AbstractValidator`1/<ValidateAsync>d__12::MoveNext() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.AssemblyScanner - - - - - FluentValidation.AssemblyScanner FluentValidation.AssemblyScanner::FindValidatorsInAssembly(System.Reflection.Assembly) - - - - - - - - - - - FluentValidation.AssemblyScanner FluentValidation.AssemblyScanner::FindValidatorsInAssemblies(System.Collections.Generic.IEnumerable`1<System.Reflection.Assembly>) - - - - - - - - - - - - - - - FluentValidation.AssemblyScanner FluentValidation.AssemblyScanner::FindValidatorsInAssemblyContaining() - - - - - - - - - - - FluentValidation.AssemblyScanner FluentValidation.AssemblyScanner::FindValidatorsInAssemblyContaining(System.Type) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.AssemblyScanner/AssemblyScanResult> FluentValidation.AssemblyScanner::Execute() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.AssemblyScanner::ForEach(System.Action`1<FluentValidation.AssemblyScanner/AssemblyScanResult>) - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerator`1<FluentValidation.AssemblyScanner/AssemblyScanResult> FluentValidation.AssemblyScanner::GetEnumerator() - - - - - - - - - - - System.Collections.IEnumerator FluentValidation.AssemblyScanner::System.Collections.IEnumerable.GetEnumerator() - - - - - - - - - - - System.Void FluentValidation.AssemblyScanner::.ctor(System.Collections.Generic.IEnumerable`1<System.Type>) - - - - - - - - - - - - - - FluentValidation.AssemblyScanner/AssemblyScanResult - - - - - System.Void FluentValidation.AssemblyScanner/AssemblyScanResult::.ctor(System.Type,System.Type) - - - - - - - - - - - - - - - FluentValidation.AssemblyScanner/<>c - - - - - FluentValidation.AssemblyScanner/<>c__DisplayClass6_0 - - - - - FluentValidation.DefaultValidatorExtensions - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::NotNull(FluentValidation.IRuleBuilder`2<T,TProperty>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::Null(FluentValidation.IRuleBuilder`2<T,TProperty>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::NotEmpty(FluentValidation.IRuleBuilder`2<T,TProperty>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::Empty(FluentValidation.IRuleBuilder`2<T,TProperty>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::Length(FluentValidation.IRuleBuilder`2<T,System.String>,System.Int32,System.Int32) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::Length(FluentValidation.IRuleBuilder`2<T,System.String>,System.Func`2<T,System.Int32>,System.Func`2<T,System.Int32>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::Length(FluentValidation.IRuleBuilder`2<T,System.String>,System.Int32) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::Length(FluentValidation.IRuleBuilder`2<T,System.String>,System.Func`2<T,System.Int32>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.String) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::MaximumLength(FluentValidation.IRuleBuilder`2<T,System.String>,System.Int32) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::MinimumLength(FluentValidation.IRuleBuilder`2<T,System.String>,System.Int32) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.Func`2<T,System.String>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.Text.RegularExpressions.Regex) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.Func`2<T,System.Text.RegularExpressions.Regex>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.String,System.Text.RegularExpressions.RegexOptions) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.Func`2<T,System.String>,System.Text.RegularExpressions.RegexOptions) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::EmailAddress(FluentValidation.IRuleBuilder`2<T,System.String>,FluentValidation.Validators.EmailValidationMode) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::NotEqual(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty,System.Collections.IEqualityComparer) - - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::NotEqual(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,System.Collections.IEqualityComparer) - - - - - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::Equal(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty,System.Collections.IEqualityComparer) - - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::Equal(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,System.Collections.IEqualityComparer) - - - - - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::Must(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`2<TProperty,System.Boolean>) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::Must(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`3<T,TProperty,System.Boolean>) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::Must(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`4<T,TProperty,FluentValidation.Validators.PropertyValidatorContext,System.Boolean>) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::MustAsync(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`3<TProperty,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::MustAsync(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`4<T,TProperty,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::MustAsync(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`5<T,TProperty,FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::InclusiveBetween(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::InclusiveBetween(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::ExclusiveBetween(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> FluentValidation.DefaultValidatorExtensions::ExclusiveBetween(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty,TProperty) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::CreditCard(FluentValidation.IRuleBuilder`2<T,System.String>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::IsInEnum(FluentValidation.IRuleBuilder`2<T,TProperty>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::ScalePrecision(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Int32,System.Int32,System.Boolean) - - - - - - - - - - - FluentValidation.IRuleBuilderInitial`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::Custom(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Action`2<TProperty,FluentValidation.Validators.CustomContext>) - - - - - - - - - - - FluentValidation.IRuleBuilderInitial`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::CustomAsync(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`4<TProperty,FluentValidation.Validators.CustomContext,System.Threading.CancellationToken,System.Threading.Tasks.Task>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.Collections.Generic.IEnumerable`1<TElement>> FluentValidation.DefaultValidatorExtensions::ForEach(FluentValidation.IRuleBuilder`2<T,System.Collections.Generic.IEnumerable`1<TElement>>,System.Action`1<FluentValidation.IRuleBuilderInitialCollection`2<System.Collections.Generic.IEnumerable`1<TElement>,TElement>>) - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,System.String> FluentValidation.DefaultValidatorExtensions::IsEnumName(FluentValidation.IRuleBuilder`2<T,System.String>,System.Type,System.Boolean) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::ChildRules(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Action`1<FluentValidation.InlineValidator`1<TProperty>>) - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorExtensions::SetInheritanceValidator(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Action`1<FluentValidation.Validators.PolymorphicValidator`2<T,TProperty>>) - - - - - - - - - - - - - - - - - System.String FluentValidation.DefaultValidatorExtensions::GetDisplayName(System.Reflection.MemberInfo,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - - - - FluentValidation.DefaultValidatorExtensions - - - - - FluentValidation.Results.ValidationResult FluentValidation.DefaultValidatorExtensions::Validate(FluentValidation.IValidator`1<T>,T,System.Action`1<FluentValidation.Internal.ValidationStrategy`1<T>>) - - - - - - - - - - - System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> FluentValidation.DefaultValidatorExtensions::ValidateAsync(FluentValidation.IValidator`1<T>,T,System.Action`1<FluentValidation.Internal.ValidationStrategy`1<T>>,System.Threading.CancellationToken) - - - - - - - - - - - System.Void FluentValidation.DefaultValidatorExtensions::ValidateAndThrow(FluentValidation.IValidator`1<T>,T) - - - - - - - - - - - - - - - - - FluentValidation.Results.ValidationResult FluentValidation.DefaultValidatorExtensions::Validate(FluentValidation.IValidator`1<T>,T,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>[]) - - - - - - - - - - - - - FluentValidation.Results.ValidationResult FluentValidation.DefaultValidatorExtensions::Validate(FluentValidation.IValidator`1<T>,T,System.String[]) - - - - - - - - - - - - - FluentValidation.Results.ValidationResult FluentValidation.DefaultValidatorExtensions::Validate(FluentValidation.IValidator`1<T>,T,FluentValidation.Internal.IValidatorSelector,System.String) - - - - - - - - - - - - - - - - - - - System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> FluentValidation.DefaultValidatorExtensions::ValidateAsync(FluentValidation.IValidator`1<T>,T,System.Threading.CancellationToken,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>[]) - - - - - - - - - - - System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> FluentValidation.DefaultValidatorExtensions::ValidateAsync(FluentValidation.IValidator`1<T>,T,System.Threading.CancellationToken,System.String[]) - - - - - - - - - - - System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> FluentValidation.DefaultValidatorExtensions::ValidateAsync(FluentValidation.IValidator`1<T>,T,System.Threading.CancellationToken,FluentValidation.Internal.IValidatorSelector,System.String) - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.DefaultValidatorExtensions::ValidateAndThrow(FluentValidation.IValidator`1<T>,T,System.String) - - - - - - - - - - - - - - - - - - - FluentValidation.DefaultValidatorExtensions/<>c__68`1 - - - - - System.Void FluentValidation.DefaultValidatorExtensions/<>c__68`1::<ValidateAndThrowAsync>b__68_0(FluentValidation.Internal.ValidationStrategy`1<T>) - - - - - - - - - - - - - FluentValidation.DefaultValidatorExtensions/<ValidateAndThrowAsync>d__68`1 - - - - - System.Void FluentValidation.DefaultValidatorExtensions/<ValidateAndThrowAsync>d__68`1::MoveNext() - - - - - - - - - - - - - - - - - - - - FluentValidation.DefaultValidatorExtensions/<>c__DisplayClass76_0`1 - - - - - System.Void FluentValidation.DefaultValidatorExtensions/<>c__DisplayClass76_0`1::<ValidateAndThrowAsync>b__0(FluentValidation.Internal.ValidationStrategy`1<T>) - - - - - - - - - - - - - - - - - - FluentValidation.DefaultValidatorExtensions/<ValidateAndThrowAsync>d__76`1 - - - - - System.Void FluentValidation.DefaultValidatorExtensions/<ValidateAndThrowAsync>d__76`1::MoveNext() - - - - - - - - - - - - - - - - - - - - FluentValidation.DefaultValidatorExtensions/<>c__DisplayClass71_0`1 - - - - - FluentValidation.DefaultValidatorExtensions/<>c__DisplayClass74_0`1 - - - - - FluentValidation.DefaultValidatorExtensions/<>c__DisplayClass75_0`1 - - - - - FluentValidation.DefaultValidatorOptions - - - - - FluentValidation.IRuleBuilderInitial`2<T,TProperty> FluentValidation.DefaultValidatorOptions::Cascade(FluentValidation.IRuleBuilderInitial`2<T,TProperty>,FluentValidation.CascadeMode) - - - - - - - - - - - - - FluentValidation.IRuleBuilderInitialCollection`2<T,TProperty> FluentValidation.DefaultValidatorOptions::Cascade(FluentValidation.IRuleBuilderInitialCollection`2<T,TProperty>,FluentValidation.CascadeMode) - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::OnAnyFailure(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action`1<T>) - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::OnAnyFailure(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action`2<T,System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>>) - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithMessage(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.String) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithMessage(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,System.String>) - - - - - - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithMessage(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,TProperty,System.String>) - - - - - - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithErrorCode(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.String) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::When(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,System.Boolean>,FluentValidation.ApplyConditionTo) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::When(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,FluentValidation.ApplyConditionTo) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::Unless(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,System.Boolean>,FluentValidation.ApplyConditionTo) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::Unless(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,FluentValidation.ApplyConditionTo) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WhenAsync(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,FluentValidation.ApplyConditionTo) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WhenAsync(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,FluentValidation.ApplyConditionTo) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::UnlessAsync(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,FluentValidation.ApplyConditionTo) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::UnlessAsync(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,FluentValidation.ApplyConditionTo) - - - - - - - - - - - - FluentValidation.IRuleBuilderInitialCollection`2<T,TCollectionElement> FluentValidation.DefaultValidatorOptions::Where(FluentValidation.IRuleBuilderInitialCollection`2<T,TCollectionElement>,System.Func`2<TCollectionElement,System.Boolean>) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::DependentRules(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithName(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.String) - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithName(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,System.String>) - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::OverridePropertyName(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.String) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::OverridePropertyName(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>) - - - - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithState(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,System.Object>) - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithState(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,TProperty,System.Object>) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithSeverity(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,FluentValidation.Severity) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithSeverity(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,FluentValidation.Severity>) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::WithSeverity(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,TProperty,FluentValidation.Severity>) - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::OnFailure(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action`1<T>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::OnFailure(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action`2<T,FluentValidation.Validators.PropertyValidatorContext>) - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.DefaultValidatorOptions::OnFailure(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action`3<T,FluentValidation.Validators.PropertyValidatorContext,System.String>) - - - - - - - - - - - FluentValidation.IRuleBuilderInitialCollection`2<T,TCollectionElement> FluentValidation.DefaultValidatorOptions::OverrideIndexer(FluentValidation.IRuleBuilderInitialCollection`2<T,TCollectionElement>,System.Func`5<T,System.Collections.Generic.IEnumerable`1<TCollectionElement>,TCollectionElement,System.Int32,System.String>) - - - - - - - - - - - - - - System.String FluentValidation.DefaultValidatorOptions::GetStringForValidator(FluentValidation.Resources.ILanguageManager) - - - - - - - - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass25_0`2 - - - - - FluentValidation.Severity FluentValidation.DefaultValidatorOptions/<>c__DisplayClass25_0`2::<WithSeverity>g__SeverityProvider|0(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass26_0`2 - - - - - FluentValidation.Severity FluentValidation.DefaultValidatorOptions/<>c__DisplayClass26_0`2::<WithSeverity>g__SeverityProvider|0(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass2_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass3_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass5_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass6_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass9_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass13_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass17_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass19_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass24_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass27_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass28_0`2 - - - - - FluentValidation.DefaultValidatorOptions/<>c__DisplayClass30_0`2 - - - - - FluentValidation.InlineValidator`1 - - - - - System.Void FluentValidation.InlineValidator`1::Add(System.Func`2<FluentValidation.InlineValidator`1<T>,FluentValidation.IRuleBuilderOptions`2<T,TProperty>>) - - - - - - - - - - - - - FluentValidation.ValidationContext`1 - - - - - FluentValidation.ValidationContext`1<T> FluentValidation.ValidationContext`1::CreateWithOptions(T,System.Action`1<FluentValidation.Internal.ValidationStrategy`1<T>>) - - - - - - - - - - - - - - - - - System.Object FluentValidation.ValidationContext`1::FluentValidation.ICommonContext.get_InstanceToValidate() - - - - - - - - - - - System.Object FluentValidation.ValidationContext`1::FluentValidation.ICommonContext.get_PropertyValue() - - - - - - - - - - - FluentValidation.ICommonContext FluentValidation.ValidationContext`1::FluentValidation.ICommonContext.get_ParentContext() - - - - - - - - - - - FluentValidation.ValidationContext`1<T> FluentValidation.ValidationContext`1::GetFromNonGenericContext(FluentValidation.IValidationContext) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.ValidationContext`1<TChild> FluentValidation.ValidationContext`1::CloneForChildValidator(TChild,System.Boolean,FluentValidation.Internal.IValidatorSelector) - - - - - - - - - - - - - - - - - - - - FluentValidation.ValidationContext`1<TNew> FluentValidation.ValidationContext`1::CloneForChildCollectionValidator(TNew,System.Boolean) - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.ValidationContext`1::.ctor(T) - - - - - - - - - - - - System.Void FluentValidation.ValidationContext`1::.ctor(T,FluentValidation.Internal.PropertyChain,FluentValidation.Internal.IValidatorSelector) - - - - - - - - - - - - - - - - - FluentValidation.PropertyValidatorOptions - - - - - System.Boolean FluentValidation.PropertyValidatorOptions::get_HasCondition() - - - - - - - - - - - System.Boolean FluentValidation.PropertyValidatorOptions::get_HasAsyncCondition() - - - - - - - - - - - System.Void FluentValidation.PropertyValidatorOptions::ApplyCondition(System.Func`2<FluentValidation.Validators.PropertyValidatorContext,System.Boolean>) - - - - - - - - - - - - - - - - - - System.Void FluentValidation.PropertyValidatorOptions::ApplyAsyncCondition(System.Func`3<FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) - - - - - - - - - - - - - - - - - - System.Boolean FluentValidation.PropertyValidatorOptions::InvokeCondition(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - System.String FluentValidation.PropertyValidatorOptions::get_ErrorCode() - - - - - - - - - - - - - - - - - - System.Void FluentValidation.PropertyValidatorOptions::set_ErrorCode(System.String) - - - - - - - - - - - - - - - - FluentValidation.Resources.IStringSource FluentValidation.PropertyValidatorOptions::get_ErrorMessageSource() - - - - - - - - - - - System.Void FluentValidation.PropertyValidatorOptions::set_ErrorMessageSource(FluentValidation.Resources.IStringSource) - - - - - - - - - - - - - - FluentValidation.Resources.IStringSource FluentValidation.PropertyValidatorOptions::get_ErrorCodeSource() - - - - - - - - - - - System.Void FluentValidation.PropertyValidatorOptions::set_ErrorCodeSource(FluentValidation.Resources.IStringSource) - - - - - - - - - - - - - - System.String FluentValidation.PropertyValidatorOptions::GetDefaultMessageTemplate() - - - - - - - - - - - System.String FluentValidation.PropertyValidatorOptions::GetErrorMessageTemplate(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.PropertyValidatorOptions::SetErrorMessage(System.Func`2<FluentValidation.Validators.PropertyValidatorContext,System.String>) - - - - - - - - - - - - System.Void FluentValidation.PropertyValidatorOptions::SetErrorMessage(System.String) - - - - - - - - - - - - - FluentValidation.PropertyValidatorOptions/<InvokeAsyncCondition>d__17 - - - - - System.Void FluentValidation.PropertyValidatorOptions/<InvokeAsyncCondition>d__17::MoveNext() - - - - - - - - - - - - - - - - - - - - FluentValidation.PropertyValidatorOptions/<>c__DisplayClass14_0 - - - - - FluentValidation.ValidationException - - - - - System.String FluentValidation.ValidationException::BuildErrorMessage(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>) - - - - - - - - - - - - - - - System.Void FluentValidation.ValidationException::GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) - - - - - - - - - - - - - - - - - System.Void FluentValidation.ValidationException::.ctor(System.String) - - - - - - - - - - - - System.Void FluentValidation.ValidationException::.ctor(System.String,System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>) - - - - - - - - - - - - - System.Void FluentValidation.ValidationException::.ctor(System.String,System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.Boolean) - - - - - - - - - - - - - - - - System.Void FluentValidation.ValidationException::.ctor(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>) - - - - - - - - - - - - - System.Void FluentValidation.ValidationException::.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) - - - - - - - - - - - - - - FluentValidation.ValidatorDescriptor`1 - - - - - System.String FluentValidation.ValidatorDescriptor`1::GetName(System.String) - - - - - - - - - - - - - - - - - - System.Linq.ILookup`2<System.String,FluentValidation.Validators.IPropertyValidator> FluentValidation.ValidatorDescriptor`1::GetMembersWithValidators() - - - - - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Validators.IPropertyValidator> FluentValidation.ValidatorDescriptor`1::GetValidatorsForMember(System.String) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.IValidationRule> FluentValidation.ValidatorDescriptor`1::GetRulesForMember(System.String) - - - - - - - - - - - - - - - - - System.String FluentValidation.ValidatorDescriptor`1::GetName(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>) - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Validators.IPropertyValidator> FluentValidation.ValidatorDescriptor`1::GetValidatorsForMember(FluentValidation.Internal.MemberAccessor`2<T,TValue>) - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.ValidatorDescriptor`1/RulesetMetadata<T>> FluentValidation.ValidatorDescriptor`1::GetRulesByRuleset() - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.ValidatorDescriptor`1::.ctor(System.Collections.Generic.IEnumerable`1<FluentValidation.IValidationRule>) - - - - - - - - - - - - - - FluentValidation.ValidatorDescriptor`1/RulesetMetadata - - - - - System.Void FluentValidation.ValidatorDescriptor`1/RulesetMetadata::.ctor(System.String,System.Collections.Generic.IEnumerable`1<FluentValidation.Internal.PropertyRule>) - - - - - - - - - - - - - - - FluentValidation.ValidatorFactoryBase - - - - - FluentValidation.IValidator`1<T> FluentValidation.ValidatorFactoryBase::GetValidator() - - - - - - - - - - - FluentValidation.IValidator FluentValidation.ValidatorFactoryBase::GetValidator(System.Type) - - - - - - - - - - - - - FluentValidation.ValidatorConfiguration - - - - - FluentValidation.Resources.ILanguageManager FluentValidation.ValidatorConfiguration::get_LanguageManager() - - - - - - - - - - - System.Void FluentValidation.ValidatorConfiguration::set_LanguageManager(FluentValidation.Resources.ILanguageManager) - - - - - - - - - - - - - - System.Func`1<FluentValidation.Internal.MessageFormatter> FluentValidation.ValidatorConfiguration::get_MessageFormatterFactory() - - - - - - - - - - - System.Void FluentValidation.ValidatorConfiguration::set_MessageFormatterFactory(System.Func`1<FluentValidation.Internal.MessageFormatter>) - - - - - - - - - - - - - - - - System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String> FluentValidation.ValidatorConfiguration::get_PropertyNameResolver() - - - - - - - - - - - System.Void FluentValidation.ValidatorConfiguration::set_PropertyNameResolver(System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String>) - - - - - - - - - - - - - - System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String> FluentValidation.ValidatorConfiguration::get_DisplayNameResolver() - - - - - - - - - - - System.Void FluentValidation.ValidatorConfiguration::set_DisplayNameResolver(System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String>) - - - - - - - - - - - - - - System.Func`2<FluentValidation.Validators.PropertyValidator,System.String> FluentValidation.ValidatorConfiguration::get_ErrorCodeResolver() - - - - - - - - - - - System.Void FluentValidation.ValidatorConfiguration::set_ErrorCodeResolver(System.Func`2<FluentValidation.Validators.PropertyValidator,System.String>) - - - - - - - - - - - - - - System.String FluentValidation.ValidatorConfiguration::DefaultPropertyNameResolver(System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression) - - - - - - - - - - - - - - - - - - - - - System.String FluentValidation.ValidatorConfiguration::DefaultDisplayNameResolver(System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression) - - - - - - - - - - - System.String FluentValidation.ValidatorConfiguration::DefaultErrorCodeResolver(FluentValidation.Validators.PropertyValidator) - - - - - - - - - - - System.Void FluentValidation.ValidatorConfiguration::.ctor() - - - - - - - - - - - - - - - - - - - - - FluentValidation.ValidatorOptions - - - - - FluentValidation.CascadeMode FluentValidation.ValidatorOptions::get_CascadeMode() - - - - - - - - - - - System.Void FluentValidation.ValidatorOptions::set_CascadeMode(FluentValidation.CascadeMode) - - - - - - - - - - - System.String FluentValidation.ValidatorOptions::get_PropertyChainSeparator() - - - - - - - - - - - System.Void FluentValidation.ValidatorOptions::set_PropertyChainSeparator(System.String) - - - - - - - - - - - FluentValidation.Resources.ILanguageManager FluentValidation.ValidatorOptions::get_LanguageManager() - - - - - - - - - - - System.Void FluentValidation.ValidatorOptions::set_LanguageManager(FluentValidation.Resources.ILanguageManager) - - - - - - - - - - - FluentValidation.ValidatorSelectorOptions FluentValidation.ValidatorOptions::get_ValidatorSelectors() - - - - - - - - - - - System.Func`1<FluentValidation.Internal.MessageFormatter> FluentValidation.ValidatorOptions::get_MessageFormatterFactory() - - - - - - - - - - - System.Void FluentValidation.ValidatorOptions::set_MessageFormatterFactory(System.Func`1<FluentValidation.Internal.MessageFormatter>) - - - - - - - - - - - System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String> FluentValidation.ValidatorOptions::get_PropertyNameResolver() - - - - - - - - - - - System.Void FluentValidation.ValidatorOptions::set_PropertyNameResolver(System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String>) - - - - - - - - - - - System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String> FluentValidation.ValidatorOptions::get_DisplayNameResolver() - - - - - - - - - - - System.Void FluentValidation.ValidatorOptions::set_DisplayNameResolver(System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String>) - - - - - - - - - - - System.Boolean FluentValidation.ValidatorOptions::get_DisableAccessorCache() - - - - - - - - - - - System.Void FluentValidation.ValidatorOptions::set_DisableAccessorCache(System.Boolean) - - - - - - - - - - - System.Func`2<FluentValidation.Validators.PropertyValidator,System.String> FluentValidation.ValidatorOptions::get_ErrorCodeResolver() - - - - - - - - - - - System.Void FluentValidation.ValidatorOptions::set_ErrorCodeResolver(System.Func`2<FluentValidation.Validators.PropertyValidator,System.String>) - - - - - - - - - - - System.Void FluentValidation.ValidatorOptions::.cctor() - - - - - - - - - - - - FluentValidation.ValidatorSelectorOptions - - - - - System.Func`1<FluentValidation.Internal.IValidatorSelector> FluentValidation.ValidatorSelectorOptions::get_DefaultValidatorSelectorFactory() - - - - - - - - - - - System.Void FluentValidation.ValidatorSelectorOptions::set_DefaultValidatorSelectorFactory(System.Func`1<FluentValidation.Internal.IValidatorSelector>) - - - - - - - - - - - - - - - - System.Func`2<System.String[],FluentValidation.Internal.IValidatorSelector> FluentValidation.ValidatorSelectorOptions::get_MemberNameValidatorSelectorFactory() - - - - - - - - - - - System.Void FluentValidation.ValidatorSelectorOptions::set_MemberNameValidatorSelectorFactory(System.Func`2<System.String[],FluentValidation.Internal.IValidatorSelector>) - - - - - - - - - - - - - - - - System.Func`2<System.String[],FluentValidation.Internal.IValidatorSelector> FluentValidation.ValidatorSelectorOptions::get_RulesetValidatorSelectorFactory() - - - - - - - - - - - System.Void FluentValidation.ValidatorSelectorOptions::set_RulesetValidatorSelectorFactory(System.Func`2<System.String[],FluentValidation.Internal.IValidatorSelector>) - - - - - - - - - - - - - - - - System.Void FluentValidation.ValidatorSelectorOptions::.ctor() - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.ValidatorSelectorOptions::.cctor() - - - - - - - - - - - - FluentValidation.Validators.AbstractComparisonValidator - - - - - System.Boolean FluentValidation.Validators.AbstractComparisonValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - System.IComparable FluentValidation.Validators.AbstractComparisonValidator::GetComparisonValue(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.AbstractComparisonValidator::.ctor(System.IComparable,FluentValidation.Resources.IStringSource) - - - - - - - - - - - - - - System.Void FluentValidation.Validators.AbstractComparisonValidator::.ctor(System.IComparable) - - - - - - - - - - - - - - System.Void FluentValidation.Validators.AbstractComparisonValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String,FluentValidation.Resources.IStringSource) - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.AbstractComparisonValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String) - - - - - - - - - - - - - - - - FluentValidation.Validators.AsyncPredicateValidator - - - - - System.Threading.Tasks.Task`1<System.Boolean> FluentValidation.Validators.AsyncPredicateValidator::IsValidAsync(FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken) - - - - - - - - - - - System.Boolean FluentValidation.Validators.AsyncPredicateValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - System.Boolean FluentValidation.Validators.AsyncPredicateValidator::ShouldValidateAsynchronously(FluentValidation.IValidationContext) - - - - - - - - - - - - - - System.String FluentValidation.Validators.AsyncPredicateValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.AsyncPredicateValidator::.ctor(System.Func`5<System.Object,System.Object,FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) - - - - - - - - - - - - - - - FluentValidation.Validators.AsyncValidatorBase - - - - - System.Boolean FluentValidation.Validators.AsyncValidatorBase::ShouldValidateAsynchronously(FluentValidation.IValidationContext) - - - - - - - - - - - - - - System.Boolean FluentValidation.Validators.AsyncValidatorBase::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - System.Void FluentValidation.Validators.AsyncValidatorBase::.ctor(FluentValidation.Resources.IStringSource) - - - - - - - - - - - - System.Void FluentValidation.Validators.AsyncValidatorBase::.ctor(System.String) - - - - - - - - - - - - System.Void FluentValidation.Validators.AsyncValidatorBase::.ctor() - - - - - - - - - - - - - FluentValidation.Validators.ChildValidatorAdaptor`2 - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.Validators.ChildValidatorAdaptor`2::Validate(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.IValidator`1<TProperty> FluentValidation.Validators.ChildValidatorAdaptor`2::GetValidator(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - FluentValidation.IValidationContext FluentValidation.Validators.ChildValidatorAdaptor`2::CreateNewValidationContextForChildValidator(FluentValidation.Validators.PropertyValidatorContext,FluentValidation.IValidator`1<TProperty>) - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.IValidationContext FluentValidation.Validators.ChildValidatorAdaptor`2::CreateNewValidationContextForChildValidator(System.Object,FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - System.Boolean FluentValidation.Validators.ChildValidatorAdaptor`2::ShouldValidateAsynchronously(FluentValidation.IValidationContext) - - - - - - - - - - - - - - System.Void FluentValidation.Validators.ChildValidatorAdaptor`2::HandleCollectionIndex(FluentValidation.Validators.PropertyValidatorContext,System.Object&,System.Object&) - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.ChildValidatorAdaptor`2::ResetCollectionIndex(FluentValidation.Validators.PropertyValidatorContext,System.Object,System.Object) - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.ChildValidatorAdaptor`2::.ctor(FluentValidation.IValidator`1<TProperty>,System.Type) - - - - - - - - - - - - - - System.Void FluentValidation.Validators.ChildValidatorAdaptor`2::.ctor(System.Func`2<FluentValidation.ICommonContext,FluentValidation.IValidator`1<TProperty>>,System.Type) - - - - - - - - - - - - - - - FluentValidation.Validators.ChildValidatorAdaptor`2/<ValidateAsync>d__16 - - - - - System.Void FluentValidation.Validators.ChildValidatorAdaptor`2/<ValidateAsync>d__16::MoveNext() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Validators.CreditCardValidator - - - - - System.String FluentValidation.Validators.CreditCardValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Boolean FluentValidation.Validators.CreditCardValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Validators.CustomValidator`1 - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.Validators.CustomValidator`1::Validate(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - System.Boolean FluentValidation.Validators.CustomValidator`1::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - System.Boolean FluentValidation.Validators.CustomValidator`1::ShouldValidateAsynchronously(FluentValidation.IValidationContext) - - - - - - - - - - - - - - System.Void FluentValidation.Validators.CustomValidator`1::.ctor(System.Action`2<T,FluentValidation.Validators.CustomContext>) - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.CustomValidator`1::.ctor(System.Func`4<T,FluentValidation.Validators.CustomContext,System.Threading.CancellationToken,System.Threading.Tasks.Task>) - - - - - - - - - - - - - - - - FluentValidation.Validators.CustomValidator`1/<ValidateAsync>d__6 - - - - - System.Void FluentValidation.Validators.CustomValidator`1/<ValidateAsync>d__6::MoveNext() - - - - - - - - - - - - - - - - - - FluentValidation.Validators.CustomContext - - - - - System.Void FluentValidation.Validators.CustomContext::AddFailure(System.String,System.String) - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.CustomContext::AddFailure(System.String) - - - - - - - - - - - - - System.Void FluentValidation.Validators.CustomContext::AddFailure(FluentValidation.Results.ValidationFailure) - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.Validators.CustomContext::get_Failures() - - - - - - - - - - - FluentValidation.Internal.PropertyRule FluentValidation.Validators.CustomContext::get_Rule() - - - - - - - - - - - System.String FluentValidation.Validators.CustomContext::get_PropertyName() - - - - - - - - - - - System.String FluentValidation.Validators.CustomContext::get_DisplayName() - - - - - - - - - - - FluentValidation.Internal.MessageFormatter FluentValidation.Validators.CustomContext::get_MessageFormatter() - - - - - - - - - - - System.Object FluentValidation.Validators.CustomContext::get_InstanceToValidate() - - - - - - - - - - - System.Object FluentValidation.Validators.CustomContext::get_PropertyValue() - - - - - - - - - - - FluentValidation.ICommonContext FluentValidation.Validators.CustomContext::FluentValidation.ICommonContext.get_ParentContext() - - - - - - - - - - - FluentValidation.IValidationContext FluentValidation.Validators.CustomContext::get_ParentContext() - - - - - - - - - - - System.Void FluentValidation.Validators.CustomContext::.ctor(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - FluentValidation.Validators.EmailValidator - - - - - System.Boolean FluentValidation.Validators.EmailValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.EmailValidator::get_Expression() - - - - - - - - - - - System.Text.RegularExpressions.Regex FluentValidation.Validators.EmailValidator::CreateRegEx() - - - - - - - - - - - System.String FluentValidation.Validators.EmailValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.EmailValidator::.cctor() - - - - - - - - - - - - FluentValidation.Validators.AspNetCoreCompatibleEmailValidator - - - - - System.Boolean FluentValidation.Validators.AspNetCoreCompatibleEmailValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.AspNetCoreCompatibleEmailValidator::GetDefaultMessageTemplate() - - - - - - - - - - - - FluentValidation.Validators.EmptyValidator - - - - - System.Boolean FluentValidation.Validators.EmptyValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.EmptyValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.EmptyValidator::.ctor(System.Object) - - - - - - - - - - - - - - FluentValidation.Validators.EnumValidator - - - - - System.Boolean FluentValidation.Validators.EnumValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - System.Boolean FluentValidation.Validators.EnumValidator::IsFlagsEnumDefined(System.Type,System.Object) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Boolean FluentValidation.Validators.EnumValidator::EvaluateFlagEnumValues(System.Int64,System.Type) - - - - - - - - - - - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.EnumValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.EnumValidator::.ctor(System.Type) - - - - - - - - - - - - - - FluentValidation.Validators.EqualValidator - - - - - System.Boolean FluentValidation.Validators.EqualValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - System.Object FluentValidation.Validators.EqualValidator::GetComparisonValue(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - FluentValidation.Validators.Comparison FluentValidation.Validators.EqualValidator::get_Comparison() - - - - - - - - - - - System.Boolean FluentValidation.Validators.EqualValidator::Compare(System.Object,System.Object) - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.EqualValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.EqualValidator::.ctor(System.Object,System.Collections.IEqualityComparer) - - - - - - - - - - - - - - System.Void FluentValidation.Validators.EqualValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String,System.Collections.IEqualityComparer) - - - - - - - - - - - - - - - - - FluentValidation.Validators.ExclusiveBetweenValidator - - - - - System.Boolean FluentValidation.Validators.ExclusiveBetweenValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.ExclusiveBetweenValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.ExclusiveBetweenValidator::.ctor(System.IComparable,System.IComparable) - - - - - - - - - - - - - - - - - - - - FluentValidation.Validators.GreaterThanOrEqualValidator - - - - - System.Boolean FluentValidation.Validators.GreaterThanOrEqualValidator::IsValid(System.IComparable,System.IComparable) - - - - - - - - - - - - - - - - FluentValidation.Validators.Comparison FluentValidation.Validators.GreaterThanOrEqualValidator::get_Comparison() - - - - - - - - - - - System.String FluentValidation.Validators.GreaterThanOrEqualValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.GreaterThanOrEqualValidator::.ctor(System.IComparable) - - - - - - - - - - - - System.Void FluentValidation.Validators.GreaterThanOrEqualValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String) - - - - - - - - - - - - - FluentValidation.Validators.GreaterThanValidator - - - - - System.Boolean FluentValidation.Validators.GreaterThanValidator::IsValid(System.IComparable,System.IComparable) - - - - - - - - - - - - - - - - FluentValidation.Validators.Comparison FluentValidation.Validators.GreaterThanValidator::get_Comparison() - - - - - - - - - - - System.String FluentValidation.Validators.GreaterThanValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.GreaterThanValidator::.ctor(System.IComparable) - - - - - - - - - - - - System.Void FluentValidation.Validators.GreaterThanValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String) - - - - - - - - - - - - - FluentValidation.Validators.InclusiveBetweenValidator - - - - - System.Boolean FluentValidation.Validators.InclusiveBetweenValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.InclusiveBetweenValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.InclusiveBetweenValidator::.ctor(System.IComparable,System.IComparable) - - - - - - - - - - - - - - - - - - - - FluentValidation.Validators.LengthValidator - - - - - System.Boolean FluentValidation.Validators.LengthValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.LengthValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.LengthValidator::.ctor(System.Int32,System.Int32) - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.LengthValidator::.ctor(System.Func`2<System.Object,System.Int32>,System.Func`2<System.Object,System.Int32>) - - - - - - - - - - - - - - - FluentValidation.Validators.ExactLengthValidator - - - - - System.String FluentValidation.Validators.ExactLengthValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.ExactLengthValidator::.ctor(System.Int32) - - - - - - - - - - - - System.Void FluentValidation.Validators.ExactLengthValidator::.ctor(System.Func`2<System.Object,System.Int32>) - - - - - - - - - - - - - FluentValidation.Validators.MaximumLengthValidator - - - - - System.String FluentValidation.Validators.MaximumLengthValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.MaximumLengthValidator::.ctor(System.Int32) - - - - - - - - - - - - System.Void FluentValidation.Validators.MaximumLengthValidator::.ctor(System.Func`2<System.Object,System.Int32>) - - - - - - - - - - - - - - - - FluentValidation.Validators.MinimumLengthValidator - - - - - System.String FluentValidation.Validators.MinimumLengthValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.MinimumLengthValidator::.ctor(System.Int32) - - - - - - - - - - - - System.Void FluentValidation.Validators.MinimumLengthValidator::.ctor(System.Func`2<System.Object,System.Int32>) - - - - - - - - - - - - - - - - FluentValidation.Validators.LessThanOrEqualValidator - - - - - System.Boolean FluentValidation.Validators.LessThanOrEqualValidator::IsValid(System.IComparable,System.IComparable) - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.LessThanOrEqualValidator::GetDefaultMessageTemplate() - - - - - - - - - - - FluentValidation.Validators.Comparison FluentValidation.Validators.LessThanOrEqualValidator::get_Comparison() - - - - - - - - - - - System.Void FluentValidation.Validators.LessThanOrEqualValidator::.ctor(System.IComparable) - - - - - - - - - - - - System.Void FluentValidation.Validators.LessThanOrEqualValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String) - - - - - - - - - - - - - FluentValidation.Validators.LessThanValidator - - - - - System.Boolean FluentValidation.Validators.LessThanValidator::IsValid(System.IComparable,System.IComparable) - - - - - - - - - - - - - - - - FluentValidation.Validators.Comparison FluentValidation.Validators.LessThanValidator::get_Comparison() - - - - - - - - - - - System.String FluentValidation.Validators.LessThanValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.LessThanValidator::.ctor(System.IComparable) - - - - - - - - - - - - System.Void FluentValidation.Validators.LessThanValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String) - - - - - - - - - - - - - FluentValidation.Validators.NoopPropertyValidator - - - - - System.Threading.Tasks.Task`1<System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>> FluentValidation.Validators.NoopPropertyValidator::ValidateAsync(FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken) - - - - - - - - - - - System.Boolean FluentValidation.Validators.NoopPropertyValidator::ShouldValidateAsynchronously(FluentValidation.IValidationContext) - - - - - - - - - - - System.Void FluentValidation.Validators.NoopPropertyValidator::.ctor() - - - - - - - - - - - - FluentValidation.Validators.NotEmptyValidator - - - - - System.Boolean FluentValidation.Validators.NotEmptyValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.NotEmptyValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.NotEmptyValidator::.ctor(System.Object) - - - - - - - - - - - - - - FluentValidation.Validators.NotEqualValidator - - - - - System.Boolean FluentValidation.Validators.NotEqualValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - System.Object FluentValidation.Validators.NotEqualValidator::GetComparisonValue(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - FluentValidation.Validators.Comparison FluentValidation.Validators.NotEqualValidator::get_Comparison() - - - - - - - - - - - System.Boolean FluentValidation.Validators.NotEqualValidator::Compare(System.Object,System.Object) - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.NotEqualValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.NotEqualValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String,System.Collections.IEqualityComparer) - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.NotEqualValidator::.ctor(System.Object,System.Collections.IEqualityComparer) - - - - - - - - - - - - - - - FluentValidation.Validators.NotNullValidator - - - - - System.Boolean FluentValidation.Validators.NotNullValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.NotNullValidator::GetDefaultMessageTemplate() - - - - - - - - - - - - FluentValidation.Validators.NullValidator - - - - - System.Boolean FluentValidation.Validators.NullValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.NullValidator::GetDefaultMessageTemplate() - - - - - - - - - - - - FluentValidation.Validators.OnFailureValidator`1 - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.Validators.OnFailureValidator`1::Validate(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - System.Boolean FluentValidation.Validators.OnFailureValidator`1::ShouldValidateAsynchronously(FluentValidation.IValidationContext) - - - - - - - - - - - - - - - - - System.Type FluentValidation.Validators.OnFailureValidator`1::get_ValidatorType() - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.OnFailureValidator`1::.ctor(FluentValidation.Validators.IPropertyValidator,System.Action`3<T,FluentValidation.Validators.PropertyValidatorContext,System.String>) - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Validators.OnFailureValidator`1/<ValidateAsync>d__4 - - - - - System.Void FluentValidation.Validators.OnFailureValidator`1/<ValidateAsync>d__4::MoveNext() - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Validators.PolymorphicValidator`2 - - - - - FluentValidation.Validators.PolymorphicValidator`2<T,TProperty> FluentValidation.Validators.PolymorphicValidator`2::Add(FluentValidation.IValidator`1<TDerived>,System.String[]) - - - - - - - - - - - - - - - - FluentValidation.Validators.PolymorphicValidator`2<T,TProperty> FluentValidation.Validators.PolymorphicValidator`2::Add(System.Func`2<T,FluentValidation.IValidator`1<TDerived>>,System.String[]) - - - - - - - - - - - - - - - - FluentValidation.Validators.PolymorphicValidator`2<T,TProperty> FluentValidation.Validators.PolymorphicValidator`2::Add(System.Func`3<T,TDerived,FluentValidation.IValidator`1<TDerived>>,System.String[]) - - - - - - - - - - - - - - - - FluentValidation.Validators.PolymorphicValidator`2<T,TProperty> FluentValidation.Validators.PolymorphicValidator`2::Add(System.Type,FluentValidation.IValidator,System.String[]) - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.IValidator`1<TProperty> FluentValidation.Validators.PolymorphicValidator`2::GetValidator(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - FluentValidation.IValidationContext FluentValidation.Validators.PolymorphicValidator`2::CreateNewValidationContextForChildValidator(FluentValidation.Validators.PropertyValidatorContext,FluentValidation.IValidator`1<TProperty>) - - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.PolymorphicValidator`2::.ctor() - - - - - - - - - - - - - - FluentValidation.Validators.PolymorphicValidator`2/DerivedValidatorFactory - - - - - FluentValidation.IValidator FluentValidation.Validators.PolymorphicValidator`2/DerivedValidatorFactory::GetValidator(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.PolymorphicValidator`2/DerivedValidatorFactory::.ctor(FluentValidation.IValidator,System.String[]) - - - - - - - - - - - - - - System.Void FluentValidation.Validators.PolymorphicValidator`2/DerivedValidatorFactory::.ctor(System.Func`2<FluentValidation.Validators.PropertyValidatorContext,FluentValidation.IValidator>,System.String[]) - - - - - - - - - - - - - - - FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper - - - - - FluentValidation.Results.ValidationResult FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::Validate(FluentValidation.IValidationContext) - - - - - - - - - - - System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::ValidateAsync(FluentValidation.IValidationContext,System.Threading.CancellationToken) - - - - - - - - - - - FluentValidation.IValidatorDescriptor FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::CreateDescriptor() - - - - - - - - - - - System.Boolean FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::CanValidateInstancesOfType(System.Type) - - - - - - - - - - - FluentValidation.Results.ValidationResult FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::Validate(TProperty) - - - - - - - - - - - System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::ValidateAsync(TProperty,System.Threading.CancellationToken) - - - - - - - - - - - FluentValidation.CascadeMode FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::get_CascadeMode() - - - - - - - - - - - System.Void FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::set_CascadeMode(FluentValidation.CascadeMode) - - - - - - - - - - - System.Void FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::.ctor(FluentValidation.IValidator,System.String[]) - - - - - - - - - - - - - - - FluentValidation.Validators.PredicateValidator - - - - - System.Boolean FluentValidation.Validators.PredicateValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.PredicateValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.PredicateValidator::.ctor(FluentValidation.Validators.PredicateValidator/Predicate) - - - - - - - - - - - - - - - FluentValidation.Validators.PropertyValidator - - - - - FluentValidation.PropertyValidatorOptions FluentValidation.Validators.PropertyValidator::get_Options() - - - - - - - - - - - System.String FluentValidation.Validators.PropertyValidator::Localized(System.String) - - - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.Validators.PropertyValidator::Validate(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - System.Boolean FluentValidation.Validators.PropertyValidator::ShouldValidateAsynchronously(FluentValidation.IValidationContext) - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.PropertyValidator::PrepareMessageFormatterForValidationError(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - FluentValidation.Results.ValidationFailure FluentValidation.Validators.PropertyValidator::CreateValidationError(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.PropertyValidator::.ctor(FluentValidation.Resources.IStringSource) - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.PropertyValidator::.ctor(System.String) - - - - - - - - - - - - - System.Void FluentValidation.Validators.PropertyValidator::.ctor() - - - - - - - - - - - - - FluentValidation.Validators.PropertyValidator/<ValidateAsync>d__7 - - - - - System.Void FluentValidation.Validators.PropertyValidator/<ValidateAsync>d__7::MoveNext() - - - - - - - - - - - - - - - - - - - - FluentValidation.Validators.PropertyValidator/<IsValidAsync>d__10 - - - - - System.Void FluentValidation.Validators.PropertyValidator/<IsValidAsync>d__10::MoveNext() - - - - - - - - - - - - - FluentValidation.Validators.PropertyValidatorContext - - - - - System.String FluentValidation.Validators.PropertyValidatorContext::get_DisplayName() - - - - - - - - - - - System.Object FluentValidation.Validators.PropertyValidatorContext::get_InstanceToValidate() - - - - - - - - - - - FluentValidation.Internal.MessageFormatter FluentValidation.Validators.PropertyValidatorContext::get_MessageFormatter() - - - - - - - - - - - - - - System.Object FluentValidation.Validators.PropertyValidatorContext::get_PropertyValue() - - - - - - - - - - - - - - - - - - - - - - FluentValidation.ICommonContext FluentValidation.Validators.PropertyValidatorContext::FluentValidation.ICommonContext.get_ParentContext() - - - - - - - - - - - System.Void FluentValidation.Validators.PropertyValidatorContext::.ctor(FluentValidation.IValidationContext,FluentValidation.Internal.PropertyRule,System.String) - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.PropertyValidatorContext::.ctor(FluentValidation.IValidationContext,FluentValidation.Internal.PropertyRule,System.String,System.Object) - - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.PropertyValidatorContext::.ctor(FluentValidation.IValidationContext,FluentValidation.Internal.PropertyRule,System.String,System.Lazy`1<System.Object>) - - - - - - - - - - - - - - - - - FluentValidation.Validators.RegularExpressionValidator - - - - - System.Boolean FluentValidation.Validators.RegularExpressionValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - System.Text.RegularExpressions.Regex FluentValidation.Validators.RegularExpressionValidator::CreateRegex(System.String,System.Text.RegularExpressions.RegexOptions) - - - - - - - - - - - System.String FluentValidation.Validators.RegularExpressionValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.RegularExpressionValidator::.ctor(System.String) - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.RegularExpressionValidator::.ctor(System.Text.RegularExpressions.Regex) - - - - - - - - - - - - - - System.Void FluentValidation.Validators.RegularExpressionValidator::.ctor(System.String,System.Text.RegularExpressions.RegexOptions) - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.RegularExpressionValidator::.ctor(System.Func`2<System.Object,System.String>) - - - - - - - - - - - - - System.Void FluentValidation.Validators.RegularExpressionValidator::.ctor(System.Func`2<System.Object,System.Text.RegularExpressions.Regex>) - - - - - - - - - - - - - System.Void FluentValidation.Validators.RegularExpressionValidator::.ctor(System.Func`2<System.Object,System.String>,System.Text.RegularExpressions.RegexOptions) - - - - - - - - - - - - - - FluentValidation.Validators.ScalePrecisionValidator - - - - - System.Boolean FluentValidation.Validators.ScalePrecisionValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.ScalePrecisionValidator::Init(System.Int32,System.Int32) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.UInt32[] FluentValidation.Validators.ScalePrecisionValidator::GetBits(System.Decimal) - - - - - - - - - - - System.Decimal FluentValidation.Validators.ScalePrecisionValidator::GetMantissa(System.Decimal) - - - - - - - - - - - - System.UInt32 FluentValidation.Validators.ScalePrecisionValidator::GetUnsignedScale(System.Decimal) - - - - - - - - - - - - - System.Int32 FluentValidation.Validators.ScalePrecisionValidator::GetScale(System.Decimal) - - - - - - - - - - - - - - - - - System.UInt32 FluentValidation.Validators.ScalePrecisionValidator::NumTrailingZeros(System.Decimal) - - - - - - - - - - - - - - - - - - - - System.Int32 FluentValidation.Validators.ScalePrecisionValidator::GetPrecision(System.Decimal) - - - - - - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.ScalePrecisionValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.ScalePrecisionValidator::.ctor(System.Int32,System.Int32) - - - - - - - - - - - - - - FluentValidation.Validators.StringEnumValidator - - - - - System.Boolean FluentValidation.Validators.StringEnumValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Validators.StringEnumValidator::CheckTypeIsEnum(System.Type) - - - - - - - - - - - - - - - - - System.String FluentValidation.Validators.StringEnumValidator::GetDefaultMessageTemplate() - - - - - - - - - - - System.Void FluentValidation.Validators.StringEnumValidator::.ctor(System.Type,System.Boolean) - - - - - - - - - - - - - - - - - - - - FluentValidation.TestHelper.TestValidationResult`1 - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.TestValidationResult`1::ShouldHaveValidationErrorFor(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - System.Void FluentValidation.TestHelper.TestValidationResult`1::ShouldNotHaveValidationErrorFor(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.TestValidationResult`1::ShouldHaveValidationErrorFor(System.String) - - - - - - - - - - - System.Void FluentValidation.TestHelper.TestValidationResult`1::ShouldNotHaveValidationErrorFor(System.String) - - - - - - - - - - - - System.Void FluentValidation.TestHelper.TestValidationResult`1::.ctor(FluentValidation.Results.ValidationResult) - - - - - - - - - - - - - - FluentValidation.TestHelper.ValidationTestException - - - - - System.Void FluentValidation.TestHelper.ValidationTestException::.ctor(System.String) - - - - - - - - - - - - System.Void FluentValidation.TestHelper.ValidationTestException::.ctor(System.String,System.Collections.Generic.List`1<FluentValidation.Results.ValidationFailure>) - - - - - - - - - - - - - - FluentValidation.TestHelper.ValidationTestExtension - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::ShouldHaveValidationErrorFor(FluentValidation.IValidator`1<T>,System.Linq.Expressions.Expression`1<System.Func`2<T,TValue>>,TValue,System.String) - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::ShouldHaveValidationErrorFor(FluentValidation.IValidator`1<T>,System.Linq.Expressions.Expression`1<System.Func`2<T,TValue>>,T,System.String) - - - - - - - - - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension::ShouldNotHaveValidationErrorFor(FluentValidation.IValidator`1<T>,System.Linq.Expressions.Expression`1<System.Func`2<T,TValue>>,TValue,System.String) - - - - - - - - - - - - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension::ShouldNotHaveValidationErrorFor(FluentValidation.IValidator`1<T>,System.Linq.Expressions.Expression`1<System.Func`2<T,TValue>>,T,System.String) - - - - - - - - - - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension::ShouldHaveChildValidator(FluentValidation.IValidator`1<T>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,System.Type) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Validators.IPropertyValidator> FluentValidation.TestHelper.ValidationTestExtension::GetDependentRules(System.String,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,FluentValidation.IValidatorDescriptor) - - - - - - - - - - - - - - - - - - - - - FluentValidation.Validators.IPropertyValidator[] FluentValidation.TestHelper.ValidationTestExtension::GetModelLevelValidators(FluentValidation.IValidatorDescriptor) - - - - - - - - - - - - - - - - - - FluentValidation.TestHelper.TestValidationResult`1<T> FluentValidation.TestHelper.ValidationTestExtension::TestValidate(FluentValidation.IValidator`1<T>,T,System.String) - - - - - - - - - - - - - - - FluentValidation.TestHelper.TestValidationResult`1<T> FluentValidation.TestHelper.ValidationTestExtension::TestValidate(FluentValidation.IValidator`1<T>,T,System.Action`1<FluentValidation.Internal.ValidationStrategy`1<T>>) - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::ShouldHaveAnyValidationError(FluentValidation.TestHelper.TestValidationResult`1<T>) - - - - - - - - - - - - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension::ShouldNotHaveAnyValidationErrors(FluentValidation.TestHelper.TestValidationResult`1<T>) - - - - - - - - - - - - System.String FluentValidation.TestHelper.ValidationTestExtension::BuildErrorMessage(FluentValidation.Results.ValidationFailure,System.String,System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::ShouldHaveValidationError(System.Collections.Generic.IList`1<FluentValidation.Results.ValidationFailure>,System.String,System.Boolean) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension::ShouldNotHaveValidationError(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String,System.Boolean) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::When(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.Func`2<FluentValidation.Results.ValidationFailure,System.Boolean>,System.String) - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::WhenAll(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.Func`2<FluentValidation.Results.ValidationFailure,System.Boolean>,System.String) - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::WithSeverity(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,FluentValidation.Severity) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::WithCustomState(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.Object) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::WithMessageArgument(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String,T) - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::WithErrorMessage(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::WithErrorCode(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::WithoutSeverity(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,FluentValidation.Severity) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::WithoutCustomState(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.Object) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::WithoutErrorMessage(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.TestHelper.ValidationTestExtension::WithoutErrorCode(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String) - - - - - - - - - - - System.String FluentValidation.TestHelper.ValidationTestExtension::NormalizePropertyName(System.String) - - - - - - - - - - - - FluentValidation.TestHelper.ValidationTestExtension/<ShouldHaveValidationErrorForAsync>d__5`2 - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension/<ShouldHaveValidationErrorForAsync>d__5`2::MoveNext() - - - - - - - - - - - - - - - - - - - - - - FluentValidation.TestHelper.ValidationTestExtension/<ShouldHaveValidationErrorForAsync>d__6`2 - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension/<ShouldHaveValidationErrorForAsync>d__6`2::MoveNext() - - - - - - - - - - - - - - - - - - - - FluentValidation.TestHelper.ValidationTestExtension/<ShouldNotHaveValidationErrorForAsync>d__7`2 - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension/<ShouldNotHaveValidationErrorForAsync>d__7`2::MoveNext() - - - - - - - - - - - - - - - - - - - - - - FluentValidation.TestHelper.ValidationTestExtension/<ShouldNotHaveValidationErrorForAsync>d__8`2 - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension/<ShouldNotHaveValidationErrorForAsync>d__8`2::MoveNext() - - - - - - - - - - - - - - - - - - - - FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass13_0`1 - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass13_0`1::<TestValidateAsync>b__0(FluentValidation.Internal.ValidationStrategy`1<T>) - - - - - - - - - - - - - - - - - FluentValidation.TestHelper.ValidationTestExtension/<TestValidateAsync>d__13`1 - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension/<TestValidateAsync>d__13`1::MoveNext() - - - - - - - - - - - - - - - - - - - FluentValidation.TestHelper.ValidationTestExtension/<TestValidateAsync>d__15`1 - - - - - System.Void FluentValidation.TestHelper.ValidationTestExtension/<TestValidateAsync>d__15`1::MoveNext() - - - - - - - - - - - - - - - - - - - FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass12_0`1 - - - - - FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass19_0 - - - - - FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass20_0 - - - - - FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass25_0`1 - - - - - FluentValidation.Results.ValidationFailure - - - - - System.String FluentValidation.Results.ValidationFailure::ToString() - - - - - - - - - - - System.Void FluentValidation.Results.ValidationFailure::.ctor() - - - - - - - - - - - - System.Void FluentValidation.Results.ValidationFailure::.ctor(System.String,System.String) - - - - - - - - - - - - System.Void FluentValidation.Results.ValidationFailure::.ctor(System.String,System.String,System.Object) - - - - - - - - - - - - - - - - FluentValidation.Results.ValidationResult - - - - - System.Boolean FluentValidation.Results.ValidationResult::get_IsValid() - - - - - - - - - - - System.Collections.Generic.IList`1<FluentValidation.Results.ValidationFailure> FluentValidation.Results.ValidationResult::get_Errors() - - - - - - - - - - - System.String FluentValidation.Results.ValidationResult::ToString() - - - - - - - - - - - System.String FluentValidation.Results.ValidationResult::ToString(System.String) - - - - - - - - - - - - - - System.Void FluentValidation.Results.ValidationResult::.ctor() - - - - - - - - - - - - - System.Void FluentValidation.Results.ValidationResult::.ctor(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>) - - - - - - - - - - - - - - - - - FluentValidation.Resources.Language - - - - - System.Void FluentValidation.Resources.Language::Translate(System.String,System.String) - - - - - - - - - - - - System.Void FluentValidation.Resources.Language::Translate(System.String) - - - - - - - - - - - - System.String FluentValidation.Resources.Language::GetTranslation(System.String) - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<System.String> FluentValidation.Resources.Language::GetSupportedKeys() - - - - - - - - - - - System.Void FluentValidation.Resources.Language::.ctor() - - - - - - - - - - - - FluentValidation.Resources.GenericLanguage - - - - - System.Void FluentValidation.Resources.GenericLanguage::.ctor(System.String) - - - - - - - - - - - - - - FluentValidation.Resources.LanguageManager - - - - - System.String FluentValidation.Resources.LanguageManager::GetTranslation(System.String,System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Resources.LanguageManager::Clear() - - - - - - - - - - - - System.String FluentValidation.Resources.LanguageManager::GetString(System.String,System.Globalization.CultureInfo) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Resources.LanguageManager::AddTranslation(System.String,System.String,System.String) - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Resources.LanguageManager::.ctor() - - - - - - - - - - - - - FluentValidation.Resources.LanguageStringSource - - - - - System.String FluentValidation.Resources.LanguageStringSource::GetString(FluentValidation.ICommonContext) - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Resources.LanguageStringSource::.ctor(System.String) - - - - - - - - - - - - - System.Void FluentValidation.Resources.LanguageStringSource::.ctor(System.Func`2<FluentValidation.ICommonContext,System.String>,System.String) - - - - - - - - - - - - - - - FluentValidation.Resources.AlbanianLanguage - - - - - System.String FluentValidation.Resources.AlbanianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.ArabicLanguage - - - - - System.String FluentValidation.Resources.ArabicLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.BengaliLanguage - - - - - System.String FluentValidation.Resources.BengaliLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.ChineseSimplifiedLanguage - - - - - System.String FluentValidation.Resources.ChineseSimplifiedLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.ChineseTraditionalLanguage - - - - - System.String FluentValidation.Resources.ChineseTraditionalLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.CroatianLanguage - - - - - System.String FluentValidation.Resources.CroatianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.CzechLanguage - - - - - System.String FluentValidation.Resources.CzechLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.DanishLanguage - - - - - System.String FluentValidation.Resources.DanishLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.DutchLanguage - - - - - System.String FluentValidation.Resources.DutchLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.EnglishLanguage - - - - - System.String FluentValidation.Resources.EnglishLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.FinnishLanguage - - - - - System.String FluentValidation.Resources.FinnishLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.FrenchLanguage - - - - - System.String FluentValidation.Resources.FrenchLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.GeorgianLanguage - - - - - System.String FluentValidation.Resources.GeorgianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.GermanLanguage - - - - - System.String FluentValidation.Resources.GermanLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.GreekLanguage - - - - - System.String FluentValidation.Resources.GreekLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.HebrewLanguage - - - - - System.String FluentValidation.Resources.HebrewLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.HindiLanguage - - - - - System.String FluentValidation.Resources.HindiLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.HungarianLanguage - - - - - System.String FluentValidation.Resources.HungarianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.IcelandicLanguage - - - - - System.String FluentValidation.Resources.IcelandicLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.IndonesianLanguage - - - - - System.String FluentValidation.Resources.IndonesianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.ItalianLanguage - - - - - System.String FluentValidation.Resources.ItalianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.JapaneseLanguage - - - - - System.String FluentValidation.Resources.JapaneseLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.KoreanLanguage - - - - - System.String FluentValidation.Resources.KoreanLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.MacedonianLanguage - - - - - System.String FluentValidation.Resources.MacedonianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.NorwegianBokmalLanguage - - - - - System.String FluentValidation.Resources.NorwegianBokmalLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.PersianLanguage - - - - - System.String FluentValidation.Resources.PersianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.PolishLanguage - - - - - System.String FluentValidation.Resources.PolishLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.PortugueseBrazilLanguage - - - - - System.String FluentValidation.Resources.PortugueseBrazilLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.PortugueseLanguage - - - - - System.String FluentValidation.Resources.PortugueseLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.RomanianLanguage - - - - - System.String FluentValidation.Resources.RomanianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.RussianLanguage - - - - - System.String FluentValidation.Resources.RussianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.SlovakLanguage - - - - - System.String FluentValidation.Resources.SlovakLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.SlovenianLanguage - - - - - System.String FluentValidation.Resources.SlovenianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.SpanishLanguage - - - - - System.String FluentValidation.Resources.SpanishLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.SwedishLanguage - - - - - System.String FluentValidation.Resources.SwedishLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.TurkishLanguage - - - - - System.String FluentValidation.Resources.TurkishLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.UkrainianLanguage - - - - - System.String FluentValidation.Resources.UkrainianLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.WelshLanguage - - - - - System.String FluentValidation.Resources.WelshLanguage::GetTranslation(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Resources.LazyStringSource - - - - - System.String FluentValidation.Resources.LazyStringSource::GetString(FluentValidation.ICommonContext) - - - - - - - - - - - - - - System.Void FluentValidation.Resources.LazyStringSource::.ctor(System.Func`2<FluentValidation.ICommonContext,System.String>) - - - - - - - - - - - - - - FluentValidation.Resources.BackwardsCompatibleStringSource`1 - - - - - System.String FluentValidation.Resources.BackwardsCompatibleStringSource`1::GetString(FluentValidation.ICommonContext) - - - - - - - - - - - System.Void FluentValidation.Resources.BackwardsCompatibleStringSource`1::.ctor(System.Func`2<TContext,System.String>) - - - - - - - - - - - - - - FluentValidation.Resources.FluentValidationMessageFormatException - - - - - System.Void FluentValidation.Resources.FluentValidationMessageFormatException::.ctor(System.String) - - - - - - - - - - - - System.Void FluentValidation.Resources.FluentValidationMessageFormatException::.ctor(System.String,System.Exception) - - - - - - - - - - - - - FluentValidation.Resources.StaticStringSource - - - - - System.String FluentValidation.Resources.StaticStringSource::get_String() - - - - - - - - - - - System.String FluentValidation.Resources.StaticStringSource::GetString(FluentValidation.ICommonContext) - - - - - - - - - - - System.Void FluentValidation.Resources.StaticStringSource::.ctor(System.String) - - - - - - - - - - - - - - FluentValidation.Internal.AccessorCache`1 - - - - - System.Func`2<T,TProperty> FluentValidation.Internal.AccessorCache`1::GetCachedAccessor(System.Reflection.MemberInfo,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,System.Boolean) - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.AccessorCache`1::Clear() - - - - - - - - - - - - System.Void FluentValidation.Internal.AccessorCache`1::.cctor() - - - - - - - - - - - - FluentValidation.Internal.AccessorCache`1/Key - - - - - System.Boolean FluentValidation.Internal.AccessorCache`1/Key::Equals(FluentValidation.Internal.AccessorCache`1/Key<T>) - - - - - - - - - - - - - - System.Boolean FluentValidation.Internal.AccessorCache`1/Key::Equals(System.Object) - - - - - - - - - - - - - - - - - - - - - System.Int32 FluentValidation.Internal.AccessorCache`1/Key::GetHashCode() - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.AccessorCache`1/Key::.ctor(System.Reflection.MemberInfo,System.Linq.Expressions.Expression) - - - - - - - - - - - - - - - FluentValidation.Internal.CollectionPropertyRule`2 - - - - - FluentValidation.Internal.CollectionPropertyRule`2<T,TElement> FluentValidation.Internal.CollectionPropertyRule`2::Create(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Collections.Generic.IEnumerable`1<TElement>>>,System.Func`1<FluentValidation.CascadeMode>) - - - - - - - - - - - - - System.String FluentValidation.Internal.CollectionPropertyRule`2::InferPropertyName(System.Linq.Expressions.LambdaExpression) - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.Internal.CollectionPropertyRule`2::InvokePropertyValidator(FluentValidation.IValidationContext,FluentValidation.Validators.IPropertyValidator,System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Object FluentValidation.Internal.CollectionPropertyRule`2::GetPropertyValue(System.Object) - - - - - - - - - - - System.Void FluentValidation.Internal.CollectionPropertyRule`2::.ctor(System.Reflection.MemberInfo,System.Func`2<System.Object,System.Object>,System.Linq.Expressions.LambdaExpression,System.Func`1<FluentValidation.CascadeMode>,System.Type,System.Type) - - - - - - - - - - - - - FluentValidation.Internal.CollectionPropertyRule`2/<InvokePropertyValidatorAsync>d__10 - - - - - System.Void FluentValidation.Internal.CollectionPropertyRule`2/<InvokePropertyValidatorAsync>d__10::MoveNext() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.CompositeValidatorSelector - - - - - System.Boolean FluentValidation.Internal.CompositeValidatorSelector::CanExecute(FluentValidation.IValidationRule,System.String,FluentValidation.IValidationContext) - - - - - - - - - - - System.Void FluentValidation.Internal.CompositeValidatorSelector::.ctor(System.Collections.Generic.IEnumerable`1<FluentValidation.Internal.IValidatorSelector>) - - - - - - - - - - - - - - FluentValidation.Internal.ConditionBuilder`1 - - - - - FluentValidation.IConditionBuilder FluentValidation.Internal.ConditionBuilder`1::When(System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,System.Action) - - - - - - - - - - - - - - - - - - - - - FluentValidation.IConditionBuilder FluentValidation.Internal.ConditionBuilder`1::Unless(System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,System.Action) - - - - - - - - - - - System.Void FluentValidation.Internal.ConditionBuilder`1::.ctor(FluentValidation.Internal.TrackingCollection`1<FluentValidation.IValidationRule>) - - - - - - - - - - - - - - FluentValidation.Internal.ConditionBuilder`1/<>c__DisplayClass2_0 - - - - - System.Boolean FluentValidation.Internal.ConditionBuilder`1/<>c__DisplayClass2_0::<When>g__Condition|0(FluentValidation.IValidationContext) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.AsyncConditionBuilder`1 - - - - - FluentValidation.IConditionBuilder FluentValidation.Internal.AsyncConditionBuilder`1::WhenAsync(System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) - - - - - - - - - - - - - - - - - - - - - FluentValidation.IConditionBuilder FluentValidation.Internal.AsyncConditionBuilder`1::UnlessAsync(System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) - - - - - - - - - - - System.Void FluentValidation.Internal.AsyncConditionBuilder`1::.ctor(FluentValidation.Internal.TrackingCollection`1<FluentValidation.IValidationRule>) - - - - - - - - - - - - - - FluentValidation.Internal.ConditionOtherwiseBuilder - - - - - System.Void FluentValidation.Internal.ConditionOtherwiseBuilder::Otherwise(System.Action) - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.ConditionOtherwiseBuilder::.ctor(FluentValidation.Internal.TrackingCollection`1<FluentValidation.IValidationRule>,System.Func`2<FluentValidation.IValidationContext,System.Boolean>) - - - - - - - - - - - - - - - FluentValidation.Internal.AsyncConditionOtherwiseBuilder - - - - - System.Void FluentValidation.Internal.AsyncConditionOtherwiseBuilder::Otherwise(System.Action) - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.AsyncConditionOtherwiseBuilder::.ctor(FluentValidation.Internal.TrackingCollection`1<FluentValidation.IValidationRule>,System.Func`3<FluentValidation.IValidationContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) - - - - - - - - - - - - - - - FluentValidation.Internal.AsyncConditionOtherwiseBuilder/<<Otherwise>b__3_0>d - - - - - FluentValidation.Internal.DefaultValidatorSelector - - - - - System.Boolean FluentValidation.Internal.DefaultValidatorSelector::CanExecute(FluentValidation.IValidationRule,System.String,FluentValidation.IValidationContext) - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.Extensions - - - - - System.Void FluentValidation.Internal.Extensions::Guard(System.Object,System.String,System.String) - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.Extensions::Guard(System.String,System.String,System.String) - - - - - - - - - - - - - - - - - - - - System.Boolean FluentValidation.Internal.Extensions::IsParameterExpression(System.Linq.Expressions.LambdaExpression) - - - - - - - - - - - System.Reflection.MemberInfo FluentValidation.Internal.Extensions::GetMember(System.Linq.Expressions.LambdaExpression) - - - - - - - - - - - - - - - - - System.Reflection.MemberInfo FluentValidation.Internal.Extensions::GetMember(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Linq.Expressions.Expression FluentValidation.Internal.Extensions::RemoveUnary(System.Linq.Expressions.Expression) - - - - - - - - - - - - - - - - System.String FluentValidation.Internal.Extensions::SplitPascalCase(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>> FluentValidation.Internal.Extensions::GetConstantExpressionFromConstant(TProperty) - - - - - - - - - - - - - System.Void FluentValidation.Internal.Extensions::ForEach(System.Collections.Generic.IEnumerable`1<T>,System.Action`1<T>) - - - - - - - - - - - - - - - - System.Func`2<System.Object,System.Object> FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,TProperty>) - - - - - - - - - - - System.Func`2<System.Object,System.Boolean> FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.Boolean>) - - - - - - - - - - - System.Func`3<System.Object,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>> FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`3<T,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) - - - - - - - - - - - System.Func`2<System.Object,System.Threading.Tasks.Task`1<System.Boolean>> FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.Threading.Tasks.Task`1<System.Boolean>>) - - - - - - - - - - - System.Func`2<System.Object,System.Int32> FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.Int32>) - - - - - - - - - - - System.Func`2<System.Object,System.Int64> FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.Int64>) - - - - - - - - - - - System.Func`2<System.Object,System.String> FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.String>) - - - - - - - - - - - System.Func`2<System.Object,System.Text.RegularExpressions.Regex> FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.Text.RegularExpressions.Regex>) - - - - - - - - - - - System.Action`1<System.Object> FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Action`1<T>) - - - - - - - - - - - System.Boolean FluentValidation.Internal.Extensions::IsAsync(FluentValidation.IValidationContext) - - - - - - - - - - - - - - - - T FluentValidation.Internal.Extensions::GetOrAdd(System.Collections.Generic.IDictionary`2<System.String,System.Object>,System.String,System.Func`1<T>) - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.IncludeRule`1 - - - - - FluentValidation.Internal.IncludeRule`1<T> FluentValidation.Internal.IncludeRule`1::Create(FluentValidation.IValidator`1<T>,System.Func`1<FluentValidation.CascadeMode>) - - - - - - - - - - - FluentValidation.Internal.IncludeRule`1<T> FluentValidation.Internal.IncludeRule`1::Create(System.Func`2<T,TValidator>,System.Func`1<FluentValidation.CascadeMode>) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.Internal.IncludeRule`1::Validate(FluentValidation.IValidationContext) - - - - - - - - - - - - - - System.Void FluentValidation.Internal.IncludeRule`1::.ctor(FluentValidation.IValidator`1<T>,System.Func`1<FluentValidation.CascadeMode>,System.Type,System.Type) - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.IncludeRule`1::.ctor(System.Func`2<FluentValidation.ICommonContext,FluentValidation.IValidator`1<T>>,System.Func`1<FluentValidation.CascadeMode>,System.Type,System.Type,System.Type) - - - - - - - - - - - - - - - - - FluentValidation.Internal.IncludeRule`1/<ValidateAsync>d__5 - - - - - System.Void FluentValidation.Internal.IncludeRule`1/<ValidateAsync>d__5::MoveNext() - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.MemberNameValidatorSelector - - - - - System.Collections.Generic.IEnumerable`1<System.String> FluentValidation.Internal.MemberNameValidatorSelector::get_MemberNames() - - - - - - - - - - - System.Boolean FluentValidation.Internal.MemberNameValidatorSelector::CanExecute(FluentValidation.IValidationRule,System.String,FluentValidation.IValidationContext) - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.MemberNameValidatorSelector FluentValidation.Internal.MemberNameValidatorSelector::FromExpressions(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>[]) - - - - - - - - - - - - System.String[] FluentValidation.Internal.MemberNameValidatorSelector::MemberNamesFromExpressions(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>[]) - - - - - - - - - - - - System.String FluentValidation.Internal.MemberNameValidatorSelector::MemberFromExpression(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>) - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.MemberNameValidatorSelector::.ctor(System.Collections.Generic.IEnumerable`1<System.String>) - - - - - - - - - - - - - - FluentValidation.Internal.MemberNameValidatorSelector/<>c__DisplayClass5_0 - - - - - FluentValidation.Internal.MessageBuilderContext - - - - - FluentValidation.IValidationContext FluentValidation.Internal.MessageBuilderContext::get_ParentContext() - - - - - - - - - - - FluentValidation.Internal.PropertyRule FluentValidation.Internal.MessageBuilderContext::get_Rule() - - - - - - - - - - - System.String FluentValidation.Internal.MessageBuilderContext::get_PropertyName() - - - - - - - - - - - System.String FluentValidation.Internal.MessageBuilderContext::get_DisplayName() - - - - - - - - - - - FluentValidation.Internal.MessageFormatter FluentValidation.Internal.MessageBuilderContext::get_MessageFormatter() - - - - - - - - - - - System.Object FluentValidation.Internal.MessageBuilderContext::get_InstanceToValidate() - - - - - - - - - - - System.Object FluentValidation.Internal.MessageBuilderContext::get_PropertyValue() - - - - - - - - - - - FluentValidation.ICommonContext FluentValidation.Internal.MessageBuilderContext::FluentValidation.ICommonContext.get_ParentContext() - - - - - - - - - - - System.String FluentValidation.Internal.MessageBuilderContext::GetDefaultMessage() - - - - - - - - - - - FluentValidation.Validators.PropertyValidatorContext FluentValidation.Internal.MessageBuilderContext::op_Implicit(FluentValidation.Internal.MessageBuilderContext) - - - - - - - - - - - System.Void FluentValidation.Internal.MessageBuilderContext::.ctor(FluentValidation.Validators.PropertyValidatorContext,FluentValidation.Resources.IStringSource,FluentValidation.Validators.IPropertyValidator) - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.MessageBuilderContext::.ctor(FluentValidation.Validators.PropertyValidatorContext,FluentValidation.Validators.IPropertyValidator) - - - - - - - - - - - - - - - - FluentValidation.Internal.MessageFormatter - - - - - FluentValidation.Internal.MessageFormatter FluentValidation.Internal.MessageFormatter::AppendArgument(System.String,System.Object) - - - - - - - - - - - - FluentValidation.Internal.MessageFormatter FluentValidation.Internal.MessageFormatter::AppendPropertyName(System.String) - - - - - - - - - - - FluentValidation.Internal.MessageFormatter FluentValidation.Internal.MessageFormatter::AppendPropertyValue(System.Object) - - - - - - - - - - - FluentValidation.Internal.MessageFormatter FluentValidation.Internal.MessageFormatter::AppendAdditionalArguments(System.Object[]) - - - - - - - - - - - - - - - - System.String FluentValidation.Internal.MessageFormatter::BuildMessage(System.String) - - - - - - - - - - - - - - - - - System.Object[] FluentValidation.Internal.MessageFormatter::get_AdditionalArguments() - - - - - - - - - - - System.Collections.Generic.Dictionary`2<System.String,System.Object> FluentValidation.Internal.MessageFormatter::get_PlaceholderValues() - - - - - - - - - - - System.String FluentValidation.Internal.MessageFormatter::ReplacePlaceholdersWithValues(System.String,System.Collections.Generic.IDictionary`2<System.String,System.Object>) - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.MessageFormatter::.ctor() - - - - - - - - - - - - - - System.Void FluentValidation.Internal.MessageFormatter::.cctor() - - - - - - - - - - - - FluentValidation.Internal.MessageFormatter/<>c__DisplayClass16_0 - - - - - FluentValidation.Internal.PropertyChain - - - - - FluentValidation.Internal.PropertyChain FluentValidation.Internal.PropertyChain::FromExpression(System.Linq.Expressions.LambdaExpression) - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyChain::Add(System.Reflection.MemberInfo) - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyChain::Add(System.String) - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyChain::AddIndexer(System.Object,System.Boolean) - - - - - - - - - - - - - - - - - - - - - - - - - System.String FluentValidation.Internal.PropertyChain::ToString() - - - - - - - - - - - - - - - - - - - System.Boolean FluentValidation.Internal.PropertyChain::IsChildChainOf(FluentValidation.Internal.PropertyChain) - - - - - - - - - - - System.String FluentValidation.Internal.PropertyChain::BuildPropertyName(System.String) - - - - - - - - - - - - - - - - - - System.Int32 FluentValidation.Internal.PropertyChain::get_Count() - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyChain::.ctor() - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyChain::.ctor(FluentValidation.Internal.PropertyChain) - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyChain::.ctor(System.Collections.Generic.IEnumerable`1<System.String>) - - - - - - - - - - - - - - FluentValidation.Internal.PropertyChain/<>c - - - - - FluentValidation.Internal.PropertyRule - - - - - System.Func`2<FluentValidation.IValidationContext,System.Boolean> FluentValidation.Internal.PropertyRule::get_Condition() - - - - - - - - - - - System.Func`3<FluentValidation.IValidationContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>> FluentValidation.Internal.PropertyRule::get_AsyncCondition() - - - - - - - - - - - FluentValidation.Resources.IStringSource FluentValidation.Internal.PropertyRule::get_DisplayName() - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::set_DisplayName(FluentValidation.Resources.IStringSource) - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::SetDisplayName(System.String) - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::SetDisplayName(System.Func`2<FluentValidation.IValidationContext,System.String>) - - - - - - - - - - - - - - - - System.String[] FluentValidation.Internal.PropertyRule::get_RuleSets() - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::set_RuleSets(System.String[]) - - - - - - - - - - - - - - FluentValidation.Validators.IPropertyValidator FluentValidation.Internal.PropertyRule::get_CurrentValidator() - - - - - - - - - - - FluentValidation.CascadeMode FluentValidation.Internal.PropertyRule::get_CascadeMode() - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::set_CascadeMode(FluentValidation.CascadeMode) - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Validators.IPropertyValidator> FluentValidation.Internal.PropertyRule::get_Validators() - - - - - - - - - - - FluentValidation.Internal.PropertyRule FluentValidation.Internal.PropertyRule::Create(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) - - - - - - - - - - - - - - FluentValidation.Internal.PropertyRule FluentValidation.Internal.PropertyRule::Create(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,System.Func`1<FluentValidation.CascadeMode>,System.Boolean) - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::AddValidator(FluentValidation.Validators.IPropertyValidator) - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::ReplaceValidator(FluentValidation.Validators.IPropertyValidator,FluentValidation.Validators.IPropertyValidator) - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::RemoveValidator(FluentValidation.Validators.IPropertyValidator) - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::ClearValidators() - - - - - - - - - - - - System.String FluentValidation.Internal.PropertyRule::get_PropertyName() - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::set_PropertyName(System.String) - - - - - - - - - - - - - System.String FluentValidation.Internal.PropertyRule::GetDisplayName() - - - - - - - - - - - System.String FluentValidation.Internal.PropertyRule::GetDisplayName(FluentValidation.ICommonContext) - - - - - - - - - - - - - - - - - - - - - System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> FluentValidation.Internal.PropertyRule::InvokePropertyValidator(FluentValidation.IValidationContext,FluentValidation.Validators.IPropertyValidator,System.String) - - - - - - - - - - - - - - - - - - - - - - System.Object FluentValidation.Internal.PropertyRule::GetPropertyValue(System.Object) - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::ApplyCondition(System.Func`2<FluentValidation.Validators.PropertyValidatorContext,System.Boolean>,FluentValidation.ApplyConditionTo) - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::ApplyAsyncCondition(System.Func`3<FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,FluentValidation.ApplyConditionTo) - - - - - - - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::ApplySharedCondition(System.Func`2<FluentValidation.IValidationContext,System.Boolean>) - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::ApplySharedAsyncCondition(System.Func`3<FluentValidation.IValidationContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) - - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.PropertyRule::.ctor(System.Reflection.MemberInfo,System.Func`2<System.Object,System.Object>,System.Linq.Expressions.LambdaExpression,System.Func`1<FluentValidation.CascadeMode>,System.Type,System.Type) - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.PropertyRule/<>c__DisplayClass66_0 - - - - - System.Object FluentValidation.Internal.PropertyRule/<>c__DisplayClass66_0::<Validate>b__0() - - - - - - - - - - - - FluentValidation.Internal.PropertyRule/<Validate>d__66 - - - - - System.Boolean FluentValidation.Internal.PropertyRule/<Validate>d__66::MoveNext() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.PropertyRule/<>c__DisplayClass67_0 - - - - - System.Object FluentValidation.Internal.PropertyRule/<>c__DisplayClass67_0::<ValidateAsync>b__0() - - - - - - - - - - - - FluentValidation.Internal.PropertyRule/<ValidateAsync>d__67 - - - - - System.Void FluentValidation.Internal.PropertyRule/<ValidateAsync>d__67::MoveNext() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.PropertyRule/<RunDependentRulesAsync>d__68 - - - - - System.Void FluentValidation.Internal.PropertyRule/<RunDependentRulesAsync>d__68::MoveNext() - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.PropertyRule/<InvokePropertyValidatorAsync>d__69 - - - - - System.Void FluentValidation.Internal.PropertyRule/<InvokePropertyValidatorAsync>d__69::MoveNext() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.PropertyRule/<>c__DisplayClass74_0 - - - - - FluentValidation.Internal.RuleBuilder`2 - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.Internal.RuleBuilder`2::SetValidator(FluentValidation.Validators.IPropertyValidator) - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.Internal.RuleBuilder`2::SetValidator(FluentValidation.IValidator`1<TProperty>,System.String[]) - - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.Internal.RuleBuilder`2::SetValidator(System.Func`2<T,TValidator>,System.String[]) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.Internal.RuleBuilder`2::SetValidator(System.Func`3<T,TProperty,TValidator>,System.String[]) - - - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.Internal.RuleBuilder`2::SetValidator(System.Func`2<FluentValidation.ICommonContext,TValidator>) - - - - - - - - - - - - - FluentValidation.IRuleBuilderOptions`2<T,TProperty> FluentValidation.Internal.RuleBuilder`2::FluentValidation.Internal.IConfigurable<FluentValidation.Internal.PropertyRule,FluentValidation.IRuleBuilderOptions<T,TProperty>>.Configure(System.Action`1<FluentValidation.Internal.PropertyRule>) - - - - - - - - - - - - FluentValidation.IRuleBuilderInitial`2<T,TProperty> FluentValidation.Internal.RuleBuilder`2::FluentValidation.Internal.IConfigurable<FluentValidation.Internal.PropertyRule,FluentValidation.IRuleBuilderInitial<T,TProperty>>.Configure(System.Action`1<FluentValidation.Internal.PropertyRule>) - - - - - - - - - - - - FluentValidation.IRuleBuilderInitialCollection`2<T,TProperty> FluentValidation.Internal.RuleBuilder`2::FluentValidation.Internal.IConfigurable<FluentValidation.Internal.CollectionPropertyRule<T,TProperty>,FluentValidation.IRuleBuilderInitialCollection<T,TProperty>>.Configure(System.Action`1<FluentValidation.Internal.CollectionPropertyRule`2<T,TProperty>>) - - - - - - - - - - - - FluentValidation.IRuleBuilderInitial`2<T,TNew> FluentValidation.Internal.RuleBuilder`2::Transform(System.Func`2<TProperty,TNew>) - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.RuleBuilder`2::.ctor(FluentValidation.Internal.PropertyRule,FluentValidation.IValidator`1<T>) - - - - - - - - - - - - - - - FluentValidation.Internal.RulesetValidatorSelector - - - - - System.String[] FluentValidation.Internal.RulesetValidatorSelector::get_RuleSets() - - - - - - - - - - - System.Boolean FluentValidation.Internal.RulesetValidatorSelector::CanExecute(FluentValidation.IValidationRule,System.String,FluentValidation.IValidationContext) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Boolean FluentValidation.Internal.RulesetValidatorSelector::IsIncludeRule(FluentValidation.IValidationRule) - - - - - - - - - - - System.String[] FluentValidation.Internal.RulesetValidatorSelector::LegacyRulesetSplit(System.String) - - - - - - - - - - - - - - - - - System.Void FluentValidation.Internal.RulesetValidatorSelector::.ctor(System.String[]) - - - - - - - - - - - - - - FluentValidation.Internal.TrackingCollection`1 - - - - - System.Void FluentValidation.Internal.TrackingCollection`1::Add(T) - - - - - - - - - - - - - - - - - - - - System.Int32 FluentValidation.Internal.TrackingCollection`1::get_Count() - - - - - - - - - - - System.Void FluentValidation.Internal.TrackingCollection`1::Remove(T) - - - - - - - - - - - - System.IDisposable FluentValidation.Internal.TrackingCollection`1::OnItemAdded(System.Action`1<T>) - - - - - - - - - - - - System.IDisposable FluentValidation.Internal.TrackingCollection`1::Capture(System.Action`1<T>) - - - - - - - - - - - System.Void FluentValidation.Internal.TrackingCollection`1::AddRange(System.Collections.Generic.IEnumerable`1<T>) - - - - - - - - - - - - System.Collections.Generic.IEnumerator`1<T> FluentValidation.Internal.TrackingCollection`1::GetEnumerator() - - - - - - - - - - - System.Collections.IEnumerator FluentValidation.Internal.TrackingCollection`1::System.Collections.IEnumerable.GetEnumerator() - - - - - - - - - - - System.Void FluentValidation.Internal.TrackingCollection`1::.ctor() - - - - - - - - - - - - FluentValidation.Internal.TrackingCollection`1/EventDisposable - - - - - System.Void FluentValidation.Internal.TrackingCollection`1/EventDisposable::Dispose() - - - - - - - - - - - - System.Void FluentValidation.Internal.TrackingCollection`1/EventDisposable::.ctor(FluentValidation.Internal.TrackingCollection`1<T>,System.Action`1<T>) - - - - - - - - - - - - - - - FluentValidation.Internal.TrackingCollection`1/CaptureDisposable - - - - - System.Void FluentValidation.Internal.TrackingCollection`1/CaptureDisposable::Dispose() - - - - - - - - - - - - System.Void FluentValidation.Internal.TrackingCollection`1/CaptureDisposable::.ctor(FluentValidation.Internal.TrackingCollection`1<T>,System.Action`1<T>) - - - - - - - - - - - - - - - - FluentValidation.Internal.ValidationStrategy`1 - - - - - FluentValidation.Internal.ValidationStrategy`1<T> FluentValidation.Internal.ValidationStrategy`1::IncludeProperties(System.String[]) - - - - - - - - - - - - - - - - - FluentValidation.Internal.ValidationStrategy`1<T> FluentValidation.Internal.ValidationStrategy`1::IncludeProperties(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>[]) - - - - - - - - - - - - - - - - - FluentValidation.Internal.ValidationStrategy`1<T> FluentValidation.Internal.ValidationStrategy`1::IncludeRulesNotInRuleSet() - - - - - - - - - - - - - - - - FluentValidation.Internal.ValidationStrategy`1<T> FluentValidation.Internal.ValidationStrategy`1::IncludeAllRuleSets() - - - - - - - - - - - - - - - - FluentValidation.Internal.ValidationStrategy`1<T> FluentValidation.Internal.ValidationStrategy`1::IncludeRuleSets(System.String[]) - - - - - - - - - - - - - - - - - - - - - - FluentValidation.Internal.ValidationStrategy`1<T> FluentValidation.Internal.ValidationStrategy`1::UseCustomSelector(FluentValidation.Internal.IValidatorSelector) - - - - - - - - - - - - - - - - FluentValidation.Internal.ValidationStrategy`1<T> FluentValidation.Internal.ValidationStrategy`1::ThrowOnFailures() - - - - - - - - - - - - FluentValidation.Internal.IValidatorSelector FluentValidation.Internal.ValidationStrategy`1::GetSelector() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FluentValidation.ValidationContext`1<T> FluentValidation.Internal.ValidationStrategy`1::BuildContext(T) - - - - - - - - - - - - - System.Void FluentValidation.Internal.ValidationStrategy`1::.ctor() - - - - - - - - - - - - - FluentValidation.Internal.MemberAccessor`2 - - - - - System.Linq.Expressions.Expression`1<System.Action`2<TObject,TValue>> FluentValidation.Internal.MemberAccessor`2::CreateSetExpression(System.Linq.Expressions.Expression`1<System.Func`2<TObject,TValue>>) - - - - - - - - - - - - - - - TValue FluentValidation.Internal.MemberAccessor`2::Get(TObject) - - - - - - - - - - - System.Void FluentValidation.Internal.MemberAccessor`2::Set(TObject,TValue) - - - - - - - - - - - - System.Boolean FluentValidation.Internal.MemberAccessor`2::Equals(FluentValidation.Internal.MemberAccessor`2<TObject,TValue>) - - - - - - - - - - - System.Boolean FluentValidation.Internal.MemberAccessor`2::Equals(System.Object) - - - - - - - - - - - - - - - - - - - - - System.Int32 FluentValidation.Internal.MemberAccessor`2::GetHashCode() - - - - - - - - - - - System.Linq.Expressions.Expression`1<System.Func`2<TObject,TValue>> FluentValidation.Internal.MemberAccessor`2::op_Implicit(FluentValidation.Internal.MemberAccessor`2<TObject,TValue>) - - - - - - - - - - - FluentValidation.Internal.MemberAccessor`2<TObject,TValue> FluentValidation.Internal.MemberAccessor`2::op_Implicit(System.Linq.Expressions.Expression`1<System.Func`2<TObject,TValue>>) - - - - - - - - - - - System.Void FluentValidation.Internal.MemberAccessor`2::.ctor(System.Linq.Expressions.Expression`1<System.Func`2<TObject,TValue>>,System.Boolean) - - - - - - - - - - - - - - - - - - - - - + + + + DFlow.Business.Cqrs.dll + 2022-03-02T06:31:09 + DFlow.Business.Cqrs + + + + + + + + + + + DFlow.Business.Cqrs.CommandHandler`2 + + + + + System.Void + DFlow.Business.Cqrs.CommandHandler`2::.ctor(DFlow.Domain.Events.IDomainEventBus) + + + + + + + + + + + + + + + + DFlow.Business.Cqrs.CommandHandler`2/<Execute>d__4 + + + + + System.Void DFlow.Business.Cqrs.CommandHandler`2/<Execute>d__4::MoveNext() + + + + + + + + + + + + + + + + + + + DFlow.Business.Cqrs.CommandHandler`2/<Execute>d__5 + + + + + System.Void DFlow.Business.Cqrs.CommandHandler`2/<Execute>d__5::MoveNext() + + + + + + + + + + + + + + + + + + DFlow.Business.Cqrs.ExecutionResult + + + + + System.Void + DFlow.Business.Cqrs.ExecutionResult::.ctor(System.Boolean,System.Collections.Generic.IReadOnlyList`1<FluentValidation.Results.ValidationFailure>) + + + + + + + + + + + + + + + + + DFlow.Business.Cqrs.QueryHandler`2/<Execute>d__0 + + + + + System.Void DFlow.Business.Cqrs.QueryHandler`2/<Execute>d__0::MoveNext() + + + + + + + + + + + + + + + + + + + DFlow.Business.Cqrs.QueryHandler`2/<Execute>d__1 + + + + + System.Void DFlow.Business.Cqrs.QueryHandler`2/<Execute>d__1::MoveNext() + + + + + + + + + + + + + + + + + + DFlow.Business.Cqrs.QueryHandlers.QueryResult`1 + + + + + System.Void + DFlow.Business.Cqrs.QueryHandlers.QueryResult`1::.ctor(System.Boolean,TResult) + + + + + + + + + + + + + + + + DFlow.Business.Cqrs.CommandHandlers.CommandResult`1 + + + + + System.Void + DFlow.Business.Cqrs.CommandHandlers.CommandResult`1::.ctor(System.Boolean,TResult,System.Collections.Generic.IReadOnlyList`1<FluentValidation.Results.ValidationFailure>) + + + + + + + + + + + + + + + + + DFlow.dll + 2022-03-02T06:31:09 + DFlow + + + + + + + + + + + + + + + + + + + + + + DFlow.Configuration.Startup.EntryPoint + + + + + DFlow.Configuration.Startup.EntryPoint + DFlow.Configuration.Startup.EntryPoint::get_Instance() + + + + + + + + + + + + System.Void DFlow.Configuration.Startup.EntryPoint::.ctor() + + + + + + + + + + + + + System.Void DFlow.Configuration.Startup.EntryPoint::.cctor() + + + + + + + + + + + + DFlow.Bus.MemoryEventBus + + + + + System.Void DFlow.Bus.MemoryEventBus::Publish(DFlow.Interfaces.IEvent[]) + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void DFlow.Bus.MemoryEventBus::.ctor(DFlow.Configuration.IDependencyResolver) + + + + + + + + + + + + + + + + DFlow.Base.AppendOnlyBase + + + + + System.Void + DFlow.Base.AppendOnlyBase::Append(System.Guid,System.String,System.Int64,System.Collections.Generic.ICollection`1<DFlow.Interfaces.IEvent>) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Byte[] DFlow.Base.AppendOnlyBase::SerializeEvent(DFlow.Interfaces.IEvent[]) + + + + + + + + + + + + + + + + + DFlow.Interfaces.IEvent[] DFlow.Base.AppendOnlyBase::DeserializeEvent(System.Byte[]) + + + + + + + + + + + + + + + + System.Void DFlow.Base.AppendOnlyBase::.ctor() + + + + + + + + + + + + DFlow.Base.DataWithName + + + + + System.Void DFlow.Base.DataWithName::.ctor(System.String,System.Byte[]) + + + + + + + + + + + + + + + + DFlow.Base.DataWithVersion + + + + + System.Void DFlow.Base.DataWithVersion::.ctor(System.Int64,System.Byte[]) + + + + + + + + + + + + + + + + DFlow.Base.EventStore + + + + + DFlow.Base.EventStream DFlow.Base.EventStore::LoadEventStream(System.Guid) + + + + + + + + + + + DFlow.Base.EventStream + DFlow.Base.EventStore::LoadEventStream(System.Guid,System.Int32,System.Int32) + + + + + + + + + + + + + + + + + + + + + + + + DFlow.Base.EventStream + DFlow.Base.EventStore::LoadEventStreamAfterVersion(System.Guid,System.Int64) + + + + + + + + + + + + + + + + + + + + + + + + System.Void + DFlow.Base.EventStore::AppendToStream(System.Guid,System.Int64,System.Collections.Generic.ICollection`1<DFlow.Interfaces.IEvent>,DFlow.Interfaces.IDomainEvent[]) + + + + + + + + + + + + + + + + System.Boolean DFlow.Base.EventStore::Any(System.Guid) + + + + + + + + + + + + + DFlow.Interfaces.IEvent[] DFlow.Base.EventStore::DeserializeEvent(System.Byte[]) + + + + + + + + + + + + + + + + System.Void DFlow.Base.EventStore::.ctor(DFlow.Interfaces.IAppendOnlyStore`1<System.Guid>,DFlow.Interfaces.IEventBus) + + + + + + + + + + + + + + + + + DFlow.Base.EventStream + + + + + System.Void DFlow.Base.EventStream::.ctor() + + + + + + + + + + + + DFlow.Base.Handler + + + + + System.Boolean + DFlow.Base.Handler::HasConflict(DFlow.Interfaces.IEvent,DFlow.Interfaces.IEvent) + + + + + + + + + + + + + + DFlow.Base.Events.CommandEvent + DFlow.Base.Handler::Execute(DFlow.Interfaces.ICommand) + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + DFlow.Base.Handler::HandleConcurrencyException(DFlow.Base.Exceptions.EventStoreConcurrencyException,TAggregate) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void DFlow.Base.Handler::.ctor(DFlow.Interfaces.IEventStore`1<System.Guid>) + + + + + + + + + + + + + + + DFlow.Base.Result`1 + + + + + System.Boolean DFlow.Base.Result`1::get_HasExceptions() + + + + + + + + + + + + + + System.Void DFlow.Base.Result`1::.ctor(T,System.Collections.Generic.IList`1<System.Exception>) + + + + + + + + + + + + + + + + DFlow.Base.Subscriber + + + + + System.Void DFlow.Base.Subscriber::Update(T) + + + + + + + + + + + + + + + + + DFlow.Base.Exceptions.DuplicatedRootException + + + + + System.Void DFlow.Base.Exceptions.DuplicatedRootException::.ctor(System.String) + + + + + + + + + + + + + + DFlow.Base.Exceptions.EventStoreConcurrencyException + + + + + System.Void + DFlow.Base.Exceptions.EventStoreConcurrencyException::.ctor(System.Collections.Generic.List`1<DFlow.Interfaces.IEvent>,System.Int64) + + + + + + + + + + + + + + + + + DFlow.Base.Events.CommandEvent + + + + + System.Void + DFlow.Base.Events.CommandEvent::.ctor(DFlow.Base.OperationStatus,System.Exception[]) + + + + + + + + + + + + + + + + + DFlow.Base.Aggregate.AggregateCreated`1 + + + + + System.Void DFlow.Base.Aggregate.AggregateCreated`1::.ctor(TKey) + + + + + + + + + + + + + + + DFlow.Base.Aggregate.AggregateFactoryBase + + + + + TAggregate DFlow.Base.Aggregate.AggregateFactoryBase::Load(System.Guid) + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + DFlow.Base.Aggregate.AggregateFactoryBase::.ctor(DFlow.Interfaces.IEventStore`1<System.Guid>) + + + + + + + + + + + + + + + System.Void + DFlow.Base.Aggregate.AggregateFactoryBase::.ctor(DFlow.Interfaces.IEventStore`1<System.Guid>,DFlow.Interfaces.ISnapshotRepository`1<System.Guid>) + + + + + + + + + + + + + + + + DFlow.Base.Aggregate.AggregateRoot`1 + + + + + System.Void + DFlow.Base.Aggregate.AggregateRoot`1::ReplayEvents(System.Collections.Generic.IEnumerable`1<DFlow.Interfaces.IEvent>) + + + + + + + + + + + + + + + + + + + + System.Void DFlow.Base.Aggregate.AggregateRoot`1::Apply(DFlow.Interfaces.IEvent) + + + + + + + + + + + + + + + + System.Void + DFlow.Base.Aggregate.AggregateRoot`1::Dispatch(DFlow.Interfaces.IDomainEvent) + + + + + + + + + + + + + + System.Void DFlow.Base.Aggregate.AggregateRoot`1::.ctor(DFlow.Base.EventStream) + + + + + + + + + + + + + + + + + + + DFlow.Domain.dll + 2022-03-02T06:31:09 + DFlow.Domain + + + + + + + + + + + + + + + + + + + + + + + + DFlow.Domain.Validation.AggregationNameValidator + + + + + System.Void DFlow.Domain.Validation.AggregationNameValidator::.ctor() + + + + + + + + + + + + + + + + DFlow.Domain.Validation.BaseValidation + + + + + System.Void + DFlow.Domain.Validation.BaseValidation::AppendValidationResult(FluentValidation.Results.ValidationFailure) + + + + + + + + + + + + + + System.Void + DFlow.Domain.Validation.BaseValidation::AppendValidationResult(System.Collections.Generic.IReadOnlyList`1<FluentValidation.Results.ValidationFailure>) + + + + + + + + + + + + + + System.Collections.Generic.IReadOnlyList`1<FluentValidation.Results.ValidationFailure> + DFlow.Domain.Validation.BaseValidation::get_Failures() + + + + + + + + + + + + System.Boolean DFlow.Domain.Validation.BaseValidation::get_IsValid() + + + + + + + + + + + System.Void DFlow.Domain.Validation.BaseValidation::.ctor() + + + + + + + + + + + + DFlow.Domain.Validation.VersionIdValidator + + + + + System.Void DFlow.Domain.Validation.VersionIdValidator::.ctor() + + + + + + + + + + + + + + + + + DFlow.Domain.Specifications.AndSpecification`1 + + + + + System.Boolean + DFlow.Domain.Specifications.AndSpecification`1::IsSatisfiedBy(TBusinessObject) + + + + + + + + + + + + + + + + + + System.Void + DFlow.Domain.Specifications.AndSpecification`1::.ctor(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>,DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) + + + + + + + + + + + + + + + DFlow.Domain.Specifications.CompositeSpecification`1 + + + + + DFlow.Domain.Specifications.ISpecification`1<TBusinessObject> + DFlow.Domain.Specifications.CompositeSpecification`1::And(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) + + + + + + + + + + + + + + DFlow.Domain.Specifications.ISpecification`1<TBusinessObject> + DFlow.Domain.Specifications.CompositeSpecification`1::Or(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) + + + + + + + + + + + + + + DFlow.Domain.Specifications.ISpecification`1<TBusinessObject> + DFlow.Domain.Specifications.CompositeSpecification`1::Not() + + + + + + + + + + + + + + + DFlow.Domain.Specifications.LinqExpressionSpecification`1 + + + + + System.Boolean + DFlow.Domain.Specifications.LinqExpressionSpecification`1::IsSatisfiedBy(TBusinessObject) + + + + + + + + + + + + + DFlow.Domain.Specifications.LogicalSpecification`1 + + + + + System.Void + DFlow.Domain.Specifications.LogicalSpecification`1::.ctor(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>,DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) + + + + + + + + + + + + + + + + + + DFlow.Domain.Specifications.NotSpecification`1 + + + + + System.Boolean + DFlow.Domain.Specifications.NotSpecification`1::IsSatisfiedBy(TBusinessObject) + + + + + + + + + + + + + + System.Void + DFlow.Domain.Specifications.NotSpecification`1::.ctor(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) + + + + + + + + + + + + + + + + DFlow.Domain.Specifications.OrSpecification`1 + + + + + System.Boolean + DFlow.Domain.Specifications.OrSpecification`1::IsSatisfiedBy(TBusinessObject) + + + + + + + + + + + + + + + + + + System.Void + DFlow.Domain.Specifications.OrSpecification`1::.ctor(DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>,DFlow.Domain.Specifications.ISpecification`1<TBusinessObject>) + + + + + + + + + + + + + + + DFlow.Domain.DomainEvents.AggregateAddedDomainEvent`1 + + + + + System.Void + DFlow.Domain.DomainEvents.AggregateAddedDomainEvent`1::.ctor(TEntityId,DFlow.Domain.BusinessObjects.VersionId) + + + + + + + + + + + + + + + + DFlow.Domain.DomainEvents.DomainEvent + + + + + System.Void + DFlow.Domain.DomainEvents.DomainEvent::.ctor(System.DateTime,DFlow.Domain.BusinessObjects.VersionId) + + + + + + + + + + + + + + + + + DFlow.Domain.Command.BaseCommand + + + + + System.Void DFlow.Domain.Command.BaseCommand::.ctor() + + + + + + + + + + + + + + + DFlow.Domain.BusinessObjects.BaseEntity`1 + + + + + System.Boolean DFlow.Domain.BusinessObjects.BaseEntity`1::IsNew() + + + + + + + + + + + System.String DFlow.Domain.BusinessObjects.BaseEntity`1::ToString() + + + + + + + + + + + + + System.Boolean DFlow.Domain.BusinessObjects.BaseEntity`1::Equals(System.Object) + + + + + + + + + + + + + + + + + + + + + + + + + System.Int32 DFlow.Domain.BusinessObjects.BaseEntity`1::GetHashCode() + + + + + + + + + + + + + System.Void + DFlow.Domain.BusinessObjects.BaseEntity`1::.ctor(TIdentity,DFlow.Domain.BusinessObjects.VersionId) + + + + + + + + + + + + + + + + + DFlow.Domain.BusinessObjects.EventStream`1 + + + + + DFlow.Domain.BusinessObjects.EventStream`1<TEntityId> + DFlow.Domain.BusinessObjects.EventStream`1::From(TEntityId,DFlow.Domain.BusinessObjects.AggregationName,DFlow.Domain.BusinessObjects.VersionId,System.Collections.Immutable.IImmutableList`1<DFlow.Domain.Events.IDomainEvent>) + + + + + + + + + + + + + + + DFlow.Domain.BusinessObjects.EventStream`1<TEntityId> + DFlow.Domain.BusinessObjects.EventStream`1::AppendStream(DFlow.Domain.BusinessObjects.EventStream`1<TEntityId>,System.Collections.Immutable.IImmutableList`1<DFlow.Domain.Events.IDomainEvent>) + + + + + + + + + + + + + + + System.Void + DFlow.Domain.BusinessObjects.EventStream`1::.ctor(TEntityId,DFlow.Domain.BusinessObjects.AggregationName,DFlow.Domain.BusinessObjects.VersionId,System.Collections.Immutable.IImmutableList`1<DFlow.Domain.Events.IDomainEvent>) + + + + + + + + + + + + + + + + + + DFlow.Domain.BusinessObjects.EventStream`1/<GetEqualityComponents>d__12 + + + + + System.Boolean DFlow.Domain.BusinessObjects.EventStream`1/<GetEqualityComponents>d__12::MoveNext() + + + + + + + + + + + + + + + + DFlow.Domain.BusinessObjects.ValueOf`3 + + + + + System.Void DFlow.Domain.BusinessObjects.ValueOf`3::Validate() + + + + + + + + + + + + + + DFlow.Domain.BusinessObjects.VersionId + + + + + System.Boolean DFlow.Domain.BusinessObjects.VersionId::get_Initial() + + + + + + + + + + + DFlow.Domain.BusinessObjects.VersionId + DFlow.Domain.BusinessObjects.VersionId::Empty() + + + + + + + + + + + + + + DFlow.Domain.BusinessObjects.VersionId DFlow.Domain.BusinessObjects.VersionId::New() + + + + + + + + + + + + + + DFlow.Domain.BusinessObjects.VersionId + DFlow.Domain.BusinessObjects.VersionId::Next(DFlow.Domain.BusinessObjects.VersionId) + + + + + + + + + + + + + + System.Boolean + DFlow.Domain.BusinessObjects.VersionId::op_GreaterThanOrEqual(DFlow.Domain.BusinessObjects.VersionId,DFlow.Domain.BusinessObjects.VersionId) + + + + + + + + + + + + System.Boolean + DFlow.Domain.BusinessObjects.VersionId::op_LessThanOrEqual(DFlow.Domain.BusinessObjects.VersionId,DFlow.Domain.BusinessObjects.VersionId) + + + + + + + + + + + + System.Boolean + DFlow.Domain.BusinessObjects.VersionId::op_GreaterThan(DFlow.Domain.BusinessObjects.VersionId,DFlow.Domain.BusinessObjects.VersionId) + + + + + + + + + + + + System.Boolean + DFlow.Domain.BusinessObjects.VersionId::op_LessThan(DFlow.Domain.BusinessObjects.VersionId,DFlow.Domain.BusinessObjects.VersionId) + + + + + + + + + + + + System.Void DFlow.Domain.BusinessObjects.VersionId::.cctor() + + + + + + + + + + + + + + DFlow.Domain.Aggregates.EventBasedAggregationRoot`1 + + + + + System.Void + DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::Apply(System.Collections.Immutable.IImmutableList`1<DFlow.Domain.Events.IDomainEvent>) + + + + + + + + + + + + + + + + + + + + System.Void + DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::Apply(DFlow.Domain.Events.IDomainEvent) + + + + + + + + + + + + + + System.Void + DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::Raise(DFlow.Domain.Events.IDomainEvent) + + + + + + + + + + + + + + DFlow.Domain.BusinessObjects.EventStream`1<TEntityId> + DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::GetChange() + + + + + + + + + + + + + + System.Collections.Generic.IReadOnlyList`1<DFlow.Domain.Events.IDomainEvent> + DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::GetEvents() + + + + + + + + + + + + + + System.Void + DFlow.Domain.Aggregates.EventBasedAggregationRoot`1::.ctor(TEntityId,DFlow.Domain.BusinessObjects.VersionId,DFlow.Domain.BusinessObjects.AggregationName) + + + + + + + + + + + + + + + + + + + + DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2 + + + + + System.Void DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2::Apply(TChange) + + + + + + + + + + + + + + System.Void + DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2::Raise(DFlow.Domain.Events.IDomainEvent) + + + + + + + + + + + + + + TChange DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2::GetChange() + + + + + + + + + + + + + System.Collections.Generic.IReadOnlyList`1<DFlow.Domain.Events.IDomainEvent> + DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2::GetEvents() + + + + + + + + + + + + + + System.Void DFlow.Domain.Aggregates.ObjectBasedAggregationRoot`2::.ctor() + + + + + + + + + + + + + DFlow.Domain.Events.dll + 2022-03-02T06:31:09 + DFlow.Domain.Events + + + + + + + DFlow.Domain.Events.DomainEventHandler`1/<Handle>d__4 + + + + + System.Void DFlow.Domain.Events.DomainEventHandler`1/<Handle>d__4::MoveNext() + + + + + + + + + + + + + + + + + + + + DFlow.Domain.Events.DomainEventHandler`1/<Handle>d__5 + + + + + System.Void DFlow.Domain.Events.DomainEventHandler`1/<Handle>d__5::MoveNext() + + + + + + + + + + + + + + + + + + + + + + + + + + + DFlow.Example.dll + 2022-03-02T06:31:09 + DFlow.Example + + + + + + + + + + + + + + + + + + + + + + + DFlow.Example.AggregateFactory + + + + + TAggregate DFlow.Example.AggregateFactory::Create() + + + + + + + + + + + + + TAggregate DFlow.Example.AggregateFactory::Create(System.Guid) + + + + + + + + + + + + + + + + + + + + + + + + + System.Void DFlow.Example.AggregateFactory::.ctor(DFlow.Interfaces.IEventStore`1<System.Guid>,DFlow.Interfaces.ISnapshotRepository`1<System.Guid>) + + + + + + + + + + + + + + + + DFlow.Example.MemoryAppendOnlyStore + + + + + System.Void DFlow.Example.MemoryAppendOnlyStore::Dispose() + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<DFlow.Base.DataWithVersion> + DFlow.Example.MemoryAppendOnlyStore::ReadRecords(System.String,System.Int64,System.Int32) + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<DFlow.Base.DataWithVersion> + DFlow.Example.MemoryAppendOnlyStore::ReadRecords(System.Guid,System.Int64,System.Int32) + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<DFlow.Base.DataWithVersion> + DFlow.Example.MemoryAppendOnlyStore::ReadRecords(System.Int64,System.Int32) + + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<DFlow.Base.DataWithName> + DFlow.Example.MemoryAppendOnlyStore::ReadRecords(System.Int64,System.Int32) + + + + + + + + + + + + + + + + + + + + System.Boolean DFlow.Example.MemoryAppendOnlyStore::Any(System.Guid) + + + + + + + + + + + + + System.Void DFlow.Example.MemoryAppendOnlyStore::Close() + + + + + + + + + + + + System.Void + DFlow.Example.MemoryAppendOnlyStore::Save(System.Guid,System.String,System.Int64,System.Byte[]) + + + + + + + + + + + + + + System.Void DFlow.Example.MemoryAppendOnlyStore::.ctor(DFlow.Interfaces.IEventBus) + + + + + + + + + + + + + + + + DFlow.Example.MemoryAppendOnlyStore/EventDTO`1 + + + + + System.Void + DFlow.Example.MemoryAppendOnlyStore/EventDTO`1::.ctor(TKey,System.String,System.Int64,System.Byte[]) + + + + + + + + + + + + + + + + + + + DFlow.Example.MemoryAppendOnlyStore/<>c__DisplayClass3_0 + + + + + DFlow.Example.MemoryAppendOnlyStore/<>c__DisplayClass4_0 + + + + + DFlow.Example.MemoryAppendOnlyStore/<>c__DisplayClass5_0`1 + + + + + DFlow.Example.MemoryResolver + + + + + System.Collections.Generic.IEnumerable`1<System.Object> + DFlow.Example.MemoryResolver::Resolve(System.Type) + + + + + + + + + + + + + + + + + + + + System.Void DFlow.Example.MemoryResolver::Register(DFlow.Interfaces.ISubscriber`1<T>) + + + + + + + + + + + + + + + + + + + + + System.Void DFlow.Example.MemoryResolver::Unregister(DFlow.Interfaces.ISubscriber`1<T>) + + + + + + + + + + + + + + + + + + + + + + + System.Void DFlow.Example.MemoryResolver::.ctor() + + + + + + + + + + + + + + + DFlow.Example.SnapshotRepository + + + + + System.Boolean + DFlow.Example.SnapshotRepository::TryGetSnapshotById(System.Guid,TAggregate&,System.Int64&) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + DFlow.Example.SnapshotRepository::SaveSnapshot(System.Guid,TAggregate,System.Int64) + + + + + + + + + + + + + + + + + System.Byte[] + DFlow.Example.SnapshotRepository::Serialize(DFlow.Base.Aggregate.AggregateRoot`1<System.Guid>) + + + + + + + + + + + + + + + + + DFlow.Base.Aggregate.AggregateRoot`1<System.Guid> + DFlow.Example.SnapshotRepository::Deserialize(System.Byte[]) + + + + + + + + + + + + + + + + System.Void DFlow.Example.SnapshotRepository::.ctor() + + + + + + + + + + + + + + + + DFlow.Example.Views.ProductView + + + + + System.Void + DFlow.Example.Views.ProductView::Update(DFlow.Example.Events.ProductCreated) + + + + + + + + + + + + + + System.Void + DFlow.Example.Views.ProductView::Update(DFlow.Example.Events.ProductNameChanged) + + + + + + + + + + + + + + + + + + + + + System.String DFlow.Example.Views.ProductView::GetSubscriberId() + + + + + + + + + + + + + System.Void DFlow.Example.Views.ProductView::.ctor() + + + + + + + + + + + + + + System.Void DFlow.Example.Views.ProductView::.ctor(System.Collections.Generic.List`1<DFlow.Example.Views.ProductDTO>) + + + + + + + + + + + + + + + DFlow.Example.Handlers.ProductQueryHandler + + + + + System.Collections.Generic.IList`1<DFlow.Example.Views.ProductDTO> + DFlow.Example.Handlers.ProductQueryHandler::ListAllProducts() + + + + + + + + + + + + + + System.Collections.Generic.IList`1<DFlow.Example.Views.ProductDTO> + DFlow.Example.Handlers.ProductQueryHandler::ListByFilter(System.Func`2<DFlow.Example.Views.ProductDTO,System.Boolean>) + + + + + + + + + + + + + + DFlow.Example.Views.ProductDTO + DFlow.Example.Handlers.ProductQueryHandler::GetById(System.Guid) + + + + + + + + + + + + + + System.Void + DFlow.Example.Handlers.ProductQueryHandler::.ctor(DFlow.Example.Views.ProductView) + + + + + + + + + + + + + + + + DFlow.Example.Handlers.ProductServiceCommandHandler + + + + + DFlow.Base.Events.CommandEvent + DFlow.Example.Handlers.ProductServiceCommandHandler::When(DFlow.Example.Commands.CreateProductCatalog) + + + + + + + + + + + + + + + + + + + + + + + + + DFlow.Base.Events.CommandEvent + DFlow.Example.Handlers.ProductServiceCommandHandler::When(DFlow.Example.Commands.CreateProductCommand) + + + + + + + + + + + + + + + + + + + + + + + + + + DFlow.Base.Events.CommandEvent + DFlow.Example.Handlers.ProductServiceCommandHandler::When(DFlow.Example.Commands.ChangeProductNameCommand) + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + DFlow.Example.Handlers.ProductServiceCommandHandler::.ctor(DFlow.Interfaces.IEventStore`1<System.Guid>,DFlow.Example.AggregateFactory) + + + + + + + + + + + + + + + + + DFlow.Example.Exceptions.BusinesException + + + + + System.Void DFlow.Example.Exceptions.BusinesException::.ctor(System.String) + + + + + + + + + + + + + + DFlow.Example.Events.ProductCatalogAggregateCreated + + + + + System.Void DFlow.Example.Events.ProductCatalogAggregateCreated::.ctor(System.Guid) + + + + + + + + + + + + + + + + DFlow.Example.Events.ProductCreated + + + + + System.Void + DFlow.Example.Events.ProductCreated::.ctor(System.Guid,System.String,System.String) + + + + + + + + + + + + + + + + + + DFlow.Example.Events.ProductNameChanged + + + + + System.Void + DFlow.Example.Events.ProductNameChanged::.ctor(System.Guid,System.String) + + + + + + + + + + + + + + + + + + + + + + + + DFlow.Example.Entities.Product + + + + + System.Void DFlow.Example.Entities.Product::ChangeName(System.String) + + + + + + + + + + + + + System.Void + DFlow.Example.Entities.Product::.ctor(System.Guid,System.String,System.String) + + + + + + + + + + + + + + + + + + DFlow.Example.Commands.AddProductCommand + + + + + System.Void DFlow.Example.Commands.AddProductCommand::.ctor() + + + + + + + + + + + + + System.Void + DFlow.Example.Commands.AddProductCommand::.ctor(System.Guid,System.Guid,System.Decimal) + + + + + + + + + + + + + + + + + + DFlow.Example.Commands.ChangeProductNameCommand + + + + + System.Void DFlow.Example.Commands.ChangeProductNameCommand::.ctor(System.Guid) + + + + + + + + + + + + + + System.Void + DFlow.Example.Commands.ChangeProductNameCommand::.ctor(System.Guid,System.Guid,System.String) + + + + + + + + + + + + + + + + + + DFlow.Example.Commands.CreateProductCatalog + + + + + System.Void DFlow.Example.Commands.CreateProductCatalog::.ctor(System.Guid) + + + + + + + + + + + + + + + + + + + + DFlow.Example.Commands.CreateProductCommand + + + + + System.Void DFlow.Example.Commands.CreateProductCommand::.ctor(System.Guid) + + + + + + + + + + + + + + System.Void + DFlow.Example.Commands.CreateProductCommand::.ctor(System.Guid,System.Guid,System.String,System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DFlow.Example.Aggregates.ProductCatalogAggregate + + + + + System.Void + DFlow.Example.Aggregates.ProductCatalogAggregate::CreateProduct(DFlow.Example.Commands.CreateProductCommand) + + + + + + + + + + + + + + + + + + + + + + System.Void + DFlow.Example.Aggregates.ProductCatalogAggregate::ChangeProductName(DFlow.Example.Commands.ChangeProductNameCommand) + + + + + + + + + + + + + + + + + + + + + + System.Void + DFlow.Example.Aggregates.ProductCatalogAggregate::Mutate(DFlow.Interfaces.IEvent) + + + + + + + + + + + + + + + + + System.Void + DFlow.Example.Aggregates.ProductCatalogAggregate::When(DFlow.Example.Events.ProductCreated) + + + + + + + + + + + + + + System.Void + DFlow.Example.Aggregates.ProductCatalogAggregate::When(DFlow.Example.Events.ProductNameChanged) + + + + + + + + + + + + + + + System.Void + DFlow.Example.Aggregates.ProductCatalogAggregate::When(DFlow.Base.Aggregate.AggregateCreated`1<System.Guid>) + + + + + + + + + + + + + + + System.Void + DFlow.Example.Aggregates.ProductCatalogAggregate::.ctor(DFlow.Base.EventStream) + + + + + + + + + + + + + + + + DFlow.Persistence.dll + 2022-03-02T06:31:09 + DFlow.Persistence + + + + + + + DFlow.Persistence.Model.PersistentState + + + + + System.Void + DFlow.Persistence.Model.PersistentState::.ctor(System.DateTime,System.Byte[]) + + + + + + + + + + + + + + + + + + + FluentValidation.dll + 2022-03-02T06:31:09 + FluentValidation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.AbstractValidator`1 + + + + + FluentValidation.CascadeMode FluentValidation.AbstractValidator`1::get_CascadeMode() + + + + + + + + + + + + System.Void + FluentValidation.AbstractValidator`1::set_CascadeMode(FluentValidation.CascadeMode) + + + + + + + + + + + + FluentValidation.Results.ValidationResult + FluentValidation.AbstractValidator`1::FluentValidation.IValidator.Validate(FluentValidation.IValidationContext) + + + + + + + + + + + + + System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> + FluentValidation.AbstractValidator`1::FluentValidation.IValidator.ValidateAsync(FluentValidation.IValidationContext,System.Threading.CancellationToken) + + + + + + + + + + + + + FluentValidation.Results.ValidationResult + FluentValidation.AbstractValidator`1::Validate(T) + + + + + + + + + + + + System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> + FluentValidation.AbstractValidator`1::ValidateAsync(T,System.Threading.CancellationToken) + + + + + + + + + + + + FluentValidation.Results.ValidationResult + FluentValidation.AbstractValidator`1::Validate(FluentValidation.ValidationContext`1<T>) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.AbstractValidator`1::SetExecutedRulesets(FluentValidation.Results.ValidationResult,FluentValidation.ValidationContext`1<T>) + + + + + + + + + + + + + + + + + System.Void + FluentValidation.AbstractValidator`1::AddRule(FluentValidation.IValidationRule) + + + + + + + + + + + + + FluentValidation.IValidatorDescriptor + FluentValidation.AbstractValidator`1::CreateDescriptor() + + + + + + + + + + + + System.Boolean + FluentValidation.AbstractValidator`1::FluentValidation.IValidator.CanValidateInstancesOfType(System.Type) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderInitial`2<T,TProperty> + FluentValidation.AbstractValidator`1::RuleFor(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderInitialCollection`2<T,TElement> + FluentValidation.AbstractValidator`1::RuleForEach(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Collections.Generic.IEnumerable`1<TElement>>>) + + + + + + + + + + + + + + + + System.Void + FluentValidation.AbstractValidator`1::RuleSet(System.String,System.Action) + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IConditionBuilder + FluentValidation.AbstractValidator`1::When(System.Func`2<T,System.Boolean>,System.Action) + + + + + + + + + + + + FluentValidation.IConditionBuilder + FluentValidation.AbstractValidator`1::When(System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,System.Action) + + + + + + + + + + + + FluentValidation.IConditionBuilder + FluentValidation.AbstractValidator`1::Unless(System.Func`2<T,System.Boolean>,System.Action) + + + + + + + + + + + + FluentValidation.IConditionBuilder + FluentValidation.AbstractValidator`1::Unless(System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,System.Action) + + + + + + + + + + + + FluentValidation.IConditionBuilder + FluentValidation.AbstractValidator`1::WhenAsync(System.Func`3<T,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) + + + + + + + + + + + + FluentValidation.IConditionBuilder + FluentValidation.AbstractValidator`1::WhenAsync(System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) + + + + + + + + + + + + FluentValidation.IConditionBuilder + FluentValidation.AbstractValidator`1::UnlessAsync(System.Func`3<T,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) + + + + + + + + + + + + FluentValidation.IConditionBuilder + FluentValidation.AbstractValidator`1::UnlessAsync(System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) + + + + + + + + + + + + System.Void + FluentValidation.AbstractValidator`1::Include(FluentValidation.IValidator`1<T>) + + + + + + + + + + + + + + + System.Void FluentValidation.AbstractValidator`1::Include(System.Func`2<T,TValidator>) + + + + + + + + + + + + + + System.Collections.Generic.IEnumerator`1<FluentValidation.IValidationRule> + FluentValidation.AbstractValidator`1::GetEnumerator() + + + + + + + + + + + + System.Collections.IEnumerator + FluentValidation.AbstractValidator`1::System.Collections.IEnumerable.GetEnumerator() + + + + + + + + + + + + System.Void + FluentValidation.AbstractValidator`1::EnsureInstanceNotNull(System.Object) + + + + + + + + + + + + + System.Boolean + FluentValidation.AbstractValidator`1::PreValidate(FluentValidation.ValidationContext`1<T>,FluentValidation.Results.ValidationResult) + + + + + + + + + + + + System.Void + FluentValidation.AbstractValidator`1::RaiseValidationException(FluentValidation.ValidationContext`1<T>,FluentValidation.Results.ValidationResult) + + + + + + + + + + + + System.Void FluentValidation.AbstractValidator`1::.ctor() + + + + + + + + + + + + + + + + FluentValidation.AbstractValidator`1/<>c + + + + + System.Boolean FluentValidation.AbstractValidator`1/<>c::<ValidateAsync>b__12_0(FluentValidation.Results.ValidationFailure) + + + + + + + + + + + + FluentValidation.AbstractValidator`1/<ValidateAsync>d__12 + + + + + System.Void FluentValidation.AbstractValidator`1/<ValidateAsync>d__12::MoveNext() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.AssemblyScanner + + + + + FluentValidation.AssemblyScanner + FluentValidation.AssemblyScanner::FindValidatorsInAssembly(System.Reflection.Assembly) + + + + + + + + + + + + FluentValidation.AssemblyScanner + FluentValidation.AssemblyScanner::FindValidatorsInAssemblies(System.Collections.Generic.IEnumerable`1<System.Reflection.Assembly>) + + + + + + + + + + + + + + + + FluentValidation.AssemblyScanner + FluentValidation.AssemblyScanner::FindValidatorsInAssemblyContaining() + + + + + + + + + + + + FluentValidation.AssemblyScanner + FluentValidation.AssemblyScanner::FindValidatorsInAssemblyContaining(System.Type) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.AssemblyScanner/AssemblyScanResult> + FluentValidation.AssemblyScanner::Execute() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.AssemblyScanner::ForEach(System.Action`1<FluentValidation.AssemblyScanner/AssemblyScanResult>) + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerator`1<FluentValidation.AssemblyScanner/AssemblyScanResult> + FluentValidation.AssemblyScanner::GetEnumerator() + + + + + + + + + + + + System.Collections.IEnumerator + FluentValidation.AssemblyScanner::System.Collections.IEnumerable.GetEnumerator() + + + + + + + + + + + + System.Void + FluentValidation.AssemblyScanner::.ctor(System.Collections.Generic.IEnumerable`1<System.Type>) + + + + + + + + + + + + + + + FluentValidation.AssemblyScanner/AssemblyScanResult + + + + + System.Void + FluentValidation.AssemblyScanner/AssemblyScanResult::.ctor(System.Type,System.Type) + + + + + + + + + + + + + + + + FluentValidation.AssemblyScanner/<>c + + + + + FluentValidation.AssemblyScanner/<>c__DisplayClass6_0 + + + + + FluentValidation.DefaultValidatorExtensions + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::NotNull(FluentValidation.IRuleBuilder`2<T,TProperty>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::Null(FluentValidation.IRuleBuilder`2<T,TProperty>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::NotEmpty(FluentValidation.IRuleBuilder`2<T,TProperty>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::Empty(FluentValidation.IRuleBuilder`2<T,TProperty>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::Length(FluentValidation.IRuleBuilder`2<T,System.String>,System.Int32,System.Int32) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::Length(FluentValidation.IRuleBuilder`2<T,System.String>,System.Func`2<T,System.Int32>,System.Func`2<T,System.Int32>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::Length(FluentValidation.IRuleBuilder`2<T,System.String>,System.Int32) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::Length(FluentValidation.IRuleBuilder`2<T,System.String>,System.Func`2<T,System.Int32>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.String) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::MaximumLength(FluentValidation.IRuleBuilder`2<T,System.String>,System.Int32) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::MinimumLength(FluentValidation.IRuleBuilder`2<T,System.String>,System.Int32) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.Func`2<T,System.String>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.Text.RegularExpressions.Regex) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.Func`2<T,System.Text.RegularExpressions.Regex>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.String,System.Text.RegularExpressions.RegexOptions) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::Matches(FluentValidation.IRuleBuilder`2<T,System.String>,System.Func`2<T,System.String>,System.Text.RegularExpressions.RegexOptions) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::EmailAddress(FluentValidation.IRuleBuilder`2<T,System.String>,FluentValidation.Validators.EmailValidationMode) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::NotEqual(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty,System.Collections.IEqualityComparer) + + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::NotEqual(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,System.Collections.IEqualityComparer) + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::Equal(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty,System.Collections.IEqualityComparer) + + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::Equal(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,System.Collections.IEqualityComparer) + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::Must(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`2<TProperty,System.Boolean>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::Must(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`3<T,TProperty,System.Boolean>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::Must(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`4<T,TProperty,FluentValidation.Validators.PropertyValidatorContext,System.Boolean>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::MustAsync(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`3<TProperty,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::MustAsync(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`4<T,TProperty,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::MustAsync(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`5<T,TProperty,FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::LessThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::LessThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::GreaterThan(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Nullable`1<TProperty>>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::GreaterThanOrEqualTo(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::InclusiveBetween(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::InclusiveBetween(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::ExclusiveBetween(FluentValidation.IRuleBuilder`2<T,TProperty>,TProperty,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Nullable`1<TProperty>> + FluentValidation.DefaultValidatorExtensions::ExclusiveBetween(FluentValidation.IRuleBuilder`2<T,System.Nullable`1<TProperty>>,TProperty,TProperty) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::CreditCard(FluentValidation.IRuleBuilder`2<T,System.String>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::IsInEnum(FluentValidation.IRuleBuilder`2<T,TProperty>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::ScalePrecision(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Int32,System.Int32,System.Boolean) + + + + + + + + + + + + FluentValidation.IRuleBuilderInitial`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::Custom(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Action`2<TProperty,FluentValidation.Validators.CustomContext>) + + + + + + + + + + + + FluentValidation.IRuleBuilderInitial`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::CustomAsync(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Func`4<TProperty,FluentValidation.Validators.CustomContext,System.Threading.CancellationToken,System.Threading.Tasks.Task>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.Collections.Generic.IEnumerable`1<TElement>> + FluentValidation.DefaultValidatorExtensions::ForEach(FluentValidation.IRuleBuilder`2<T,System.Collections.Generic.IEnumerable`1<TElement>>,System.Action`1<FluentValidation.IRuleBuilderInitialCollection`2<System.Collections.Generic.IEnumerable`1<TElement>,TElement>>) + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,System.String> + FluentValidation.DefaultValidatorExtensions::IsEnumName(FluentValidation.IRuleBuilder`2<T,System.String>,System.Type,System.Boolean) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::ChildRules(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Action`1<FluentValidation.InlineValidator`1<TProperty>>) + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorExtensions::SetInheritanceValidator(FluentValidation.IRuleBuilder`2<T,TProperty>,System.Action`1<FluentValidation.Validators.PolymorphicValidator`2<T,TProperty>>) + + + + + + + + + + + + + + + + + + System.String + FluentValidation.DefaultValidatorExtensions::GetDisplayName(System.Reflection.MemberInfo,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + + + + FluentValidation.DefaultValidatorExtensions + + + + + FluentValidation.Results.ValidationResult + FluentValidation.DefaultValidatorExtensions::Validate(FluentValidation.IValidator`1<T>,T,System.Action`1<FluentValidation.Internal.ValidationStrategy`1<T>>) + + + + + + + + + + + + System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> + FluentValidation.DefaultValidatorExtensions::ValidateAsync(FluentValidation.IValidator`1<T>,T,System.Action`1<FluentValidation.Internal.ValidationStrategy`1<T>>,System.Threading.CancellationToken) + + + + + + + + + + + + System.Void + FluentValidation.DefaultValidatorExtensions::ValidateAndThrow(FluentValidation.IValidator`1<T>,T) + + + + + + + + + + + + + + + + + + FluentValidation.Results.ValidationResult + FluentValidation.DefaultValidatorExtensions::Validate(FluentValidation.IValidator`1<T>,T,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>[]) + + + + + + + + + + + + + + FluentValidation.Results.ValidationResult + FluentValidation.DefaultValidatorExtensions::Validate(FluentValidation.IValidator`1<T>,T,System.String[]) + + + + + + + + + + + + + + FluentValidation.Results.ValidationResult + FluentValidation.DefaultValidatorExtensions::Validate(FluentValidation.IValidator`1<T>,T,FluentValidation.Internal.IValidatorSelector,System.String) + + + + + + + + + + + + + + + + + + + + System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> + FluentValidation.DefaultValidatorExtensions::ValidateAsync(FluentValidation.IValidator`1<T>,T,System.Threading.CancellationToken,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>[]) + + + + + + + + + + + + System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> + FluentValidation.DefaultValidatorExtensions::ValidateAsync(FluentValidation.IValidator`1<T>,T,System.Threading.CancellationToken,System.String[]) + + + + + + + + + + + + System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> + FluentValidation.DefaultValidatorExtensions::ValidateAsync(FluentValidation.IValidator`1<T>,T,System.Threading.CancellationToken,FluentValidation.Internal.IValidatorSelector,System.String) + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.DefaultValidatorExtensions::ValidateAndThrow(FluentValidation.IValidator`1<T>,T,System.String) + + + + + + + + + + + + + + + + + + + + FluentValidation.DefaultValidatorExtensions/<>c__68`1 + + + + + System.Void FluentValidation.DefaultValidatorExtensions/<>c__68`1::<ValidateAndThrowAsync>b__68_0(FluentValidation.Internal.ValidationStrategy`1<T>) + + + + + + + + + + + + + FluentValidation.DefaultValidatorExtensions/<ValidateAndThrowAsync>d__68`1 + + + + + + System.Void FluentValidation.DefaultValidatorExtensions/<ValidateAndThrowAsync>d__68`1::MoveNext() + + + + + + + + + + + + + + + + + + + + FluentValidation.DefaultValidatorExtensions/<>c__DisplayClass76_0`1 + + + + + System.Void FluentValidation.DefaultValidatorExtensions/<>c__DisplayClass76_0`1::<ValidateAndThrowAsync>b__0(FluentValidation.Internal.ValidationStrategy`1<T>) + + + + + + + + + + + + + + + + + + FluentValidation.DefaultValidatorExtensions/<ValidateAndThrowAsync>d__76`1 + + + + + + System.Void FluentValidation.DefaultValidatorExtensions/<ValidateAndThrowAsync>d__76`1::MoveNext() + + + + + + + + + + + + + + + + + + + + FluentValidation.DefaultValidatorExtensions/<>c__DisplayClass71_0`1 + + + + + FluentValidation.DefaultValidatorExtensions/<>c__DisplayClass74_0`1 + + + + + FluentValidation.DefaultValidatorExtensions/<>c__DisplayClass75_0`1 + + + + + FluentValidation.DefaultValidatorOptions + + + + + FluentValidation.IRuleBuilderInitial`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::Cascade(FluentValidation.IRuleBuilderInitial`2<T,TProperty>,FluentValidation.CascadeMode) + + + + + + + + + + + + + + FluentValidation.IRuleBuilderInitialCollection`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::Cascade(FluentValidation.IRuleBuilderInitialCollection`2<T,TProperty>,FluentValidation.CascadeMode) + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::OnAnyFailure(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action`1<T>) + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::OnAnyFailure(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action`2<T,System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>>) + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithMessage(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.String) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithMessage(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,System.String>) + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithMessage(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,TProperty,System.String>) + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithErrorCode(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.String) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::When(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,System.Boolean>,FluentValidation.ApplyConditionTo) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::When(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,FluentValidation.ApplyConditionTo) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::Unless(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,System.Boolean>,FluentValidation.ApplyConditionTo) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::Unless(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,FluentValidation.ApplyConditionTo) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WhenAsync(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,FluentValidation.ApplyConditionTo) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WhenAsync(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,FluentValidation.ApplyConditionTo) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::UnlessAsync(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,FluentValidation.ApplyConditionTo) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::UnlessAsync(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,FluentValidation.ApplyConditionTo) + + + + + + + + + + + + + FluentValidation.IRuleBuilderInitialCollection`2<T,TCollectionElement> + FluentValidation.DefaultValidatorOptions::Where(FluentValidation.IRuleBuilderInitialCollection`2<T,TCollectionElement>,System.Func`2<TCollectionElement,System.Boolean>) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::DependentRules(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithName(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.String) + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithName(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,System.String>) + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::OverridePropertyName(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.String) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::OverridePropertyName(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>) + + + + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithState(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,System.Object>) + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithState(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,TProperty,System.Object>) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithSeverity(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,FluentValidation.Severity) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithSeverity(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`2<T,FluentValidation.Severity>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::WithSeverity(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Func`3<T,TProperty,FluentValidation.Severity>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::OnFailure(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action`1<T>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::OnFailure(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action`2<T,FluentValidation.Validators.PropertyValidatorContext>) + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.DefaultValidatorOptions::OnFailure(FluentValidation.IRuleBuilderOptions`2<T,TProperty>,System.Action`3<T,FluentValidation.Validators.PropertyValidatorContext,System.String>) + + + + + + + + + + + + FluentValidation.IRuleBuilderInitialCollection`2<T,TCollectionElement> + FluentValidation.DefaultValidatorOptions::OverrideIndexer(FluentValidation.IRuleBuilderInitialCollection`2<T,TCollectionElement>,System.Func`5<T,System.Collections.Generic.IEnumerable`1<TCollectionElement>,TCollectionElement,System.Int32,System.String>) + + + + + + + + + + + + + + + System.String + FluentValidation.DefaultValidatorOptions::GetStringForValidator(FluentValidation.Resources.ILanguageManager) + + + + + + + + + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass25_0`2 + + + + + FluentValidation.Severity FluentValidation.DefaultValidatorOptions/<>c__DisplayClass25_0`2::<WithSeverity>g__SeverityProvider|0(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass26_0`2 + + + + + FluentValidation.Severity FluentValidation.DefaultValidatorOptions/<>c__DisplayClass26_0`2::<WithSeverity>g__SeverityProvider|0(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass2_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass3_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass5_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass6_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass9_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass13_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass17_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass19_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass24_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass27_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass28_0`2 + + + + + FluentValidation.DefaultValidatorOptions/<>c__DisplayClass30_0`2 + + + + + FluentValidation.InlineValidator`1 + + + + + System.Void FluentValidation.InlineValidator`1::Add(System.Func`2<FluentValidation.InlineValidator`1<T>,FluentValidation.IRuleBuilderOptions`2<T,TProperty>>) + + + + + + + + + + + + + FluentValidation.ValidationContext`1 + + + + + FluentValidation.ValidationContext`1<T> + FluentValidation.ValidationContext`1::CreateWithOptions(T,System.Action`1<FluentValidation.Internal.ValidationStrategy`1<T>>) + + + + + + + + + + + + + + + + + + System.Object + FluentValidation.ValidationContext`1::FluentValidation.ICommonContext.get_InstanceToValidate() + + + + + + + + + + + + System.Object + FluentValidation.ValidationContext`1::FluentValidation.ICommonContext.get_PropertyValue() + + + + + + + + + + + + FluentValidation.ICommonContext + FluentValidation.ValidationContext`1::FluentValidation.ICommonContext.get_ParentContext() + + + + + + + + + + + + FluentValidation.ValidationContext`1<T> + FluentValidation.ValidationContext`1::GetFromNonGenericContext(FluentValidation.IValidationContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.ValidationContext`1<TChild> + FluentValidation.ValidationContext`1::CloneForChildValidator(TChild,System.Boolean,FluentValidation.Internal.IValidatorSelector) + + + + + + + + + + + + + + + + + + + + + FluentValidation.ValidationContext`1<TNew> + FluentValidation.ValidationContext`1::CloneForChildCollectionValidator(TNew,System.Boolean) + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.ValidationContext`1::.ctor(T) + + + + + + + + + + + + System.Void + FluentValidation.ValidationContext`1::.ctor(T,FluentValidation.Internal.PropertyChain,FluentValidation.Internal.IValidatorSelector) + + + + + + + + + + + + + + + + + + FluentValidation.PropertyValidatorOptions + + + + + System.Boolean FluentValidation.PropertyValidatorOptions::get_HasCondition() + + + + + + + + + + + System.Boolean FluentValidation.PropertyValidatorOptions::get_HasAsyncCondition() + + + + + + + + + + + + System.Void FluentValidation.PropertyValidatorOptions::ApplyCondition(System.Func`2<FluentValidation.Validators.PropertyValidatorContext,System.Boolean>) + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.PropertyValidatorOptions::ApplyAsyncCondition(System.Func`3<FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) + + + + + + + + + + + + + + + + + + + System.Boolean + FluentValidation.PropertyValidatorOptions::InvokeCondition(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + System.String FluentValidation.PropertyValidatorOptions::get_ErrorCode() + + + + + + + + + + + + + + + + + + System.Void FluentValidation.PropertyValidatorOptions::set_ErrorCode(System.String) + + + + + + + + + + + + + + + + + FluentValidation.Resources.IStringSource + FluentValidation.PropertyValidatorOptions::get_ErrorMessageSource() + + + + + + + + + + + + System.Void + FluentValidation.PropertyValidatorOptions::set_ErrorMessageSource(FluentValidation.Resources.IStringSource) + + + + + + + + + + + + + + + FluentValidation.Resources.IStringSource + FluentValidation.PropertyValidatorOptions::get_ErrorCodeSource() + + + + + + + + + + + + System.Void + FluentValidation.PropertyValidatorOptions::set_ErrorCodeSource(FluentValidation.Resources.IStringSource) + + + + + + + + + + + + + + + System.String FluentValidation.PropertyValidatorOptions::GetDefaultMessageTemplate() + + + + + + + + + + + + System.String + FluentValidation.PropertyValidatorOptions::GetErrorMessageTemplate(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.PropertyValidatorOptions::SetErrorMessage(System.Func`2<FluentValidation.Validators.PropertyValidatorContext,System.String>) + + + + + + + + + + + + System.Void + FluentValidation.PropertyValidatorOptions::SetErrorMessage(System.String) + + + + + + + + + + + + + + FluentValidation.PropertyValidatorOptions/<InvokeAsyncCondition>d__17 + + + + + System.Void FluentValidation.PropertyValidatorOptions/<InvokeAsyncCondition>d__17::MoveNext() + + + + + + + + + + + + + + + + + + + + FluentValidation.PropertyValidatorOptions/<>c__DisplayClass14_0 + + + + + FluentValidation.ValidationException + + + + + System.String + FluentValidation.ValidationException::BuildErrorMessage(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>) + + + + + + + + + + + + + + + + System.Void + FluentValidation.ValidationException::GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + + + + + + + + + + + + + + + + + + System.Void FluentValidation.ValidationException::.ctor(System.String) + + + + + + + + + + + + System.Void + FluentValidation.ValidationException::.ctor(System.String,System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>) + + + + + + + + + + + + + + System.Void + FluentValidation.ValidationException::.ctor(System.String,System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.Boolean) + + + + + + + + + + + + + + + + + System.Void + FluentValidation.ValidationException::.ctor(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>) + + + + + + + + + + + + + + System.Void + FluentValidation.ValidationException::.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + + + + + + + + + + + + + + + FluentValidation.ValidatorDescriptor`1 + + + + + System.String FluentValidation.ValidatorDescriptor`1::GetName(System.String) + + + + + + + + + + + + + + + + + + System.Linq.ILookup`2<System.String,FluentValidation.Validators.IPropertyValidator> + FluentValidation.ValidatorDescriptor`1::GetMembersWithValidators() + + + + + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Validators.IPropertyValidator> + FluentValidation.ValidatorDescriptor`1::GetValidatorsForMember(System.String) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.IValidationRule> + FluentValidation.ValidatorDescriptor`1::GetRulesForMember(System.String) + + + + + + + + + + + + + + + + + + System.String + FluentValidation.ValidatorDescriptor`1::GetName(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>) + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Validators.IPropertyValidator> + FluentValidation.ValidatorDescriptor`1::GetValidatorsForMember(FluentValidation.Internal.MemberAccessor`2<T,TValue>) + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.ValidatorDescriptor`1/RulesetMetadata<T>> + FluentValidation.ValidatorDescriptor`1::GetRulesByRuleset() + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.ValidatorDescriptor`1::.ctor(System.Collections.Generic.IEnumerable`1<FluentValidation.IValidationRule>) + + + + + + + + + + + + + + + FluentValidation.ValidatorDescriptor`1/RulesetMetadata + + + + + System.Void + FluentValidation.ValidatorDescriptor`1/RulesetMetadata::.ctor(System.String,System.Collections.Generic.IEnumerable`1<FluentValidation.Internal.PropertyRule>) + + + + + + + + + + + + + + + + FluentValidation.ValidatorFactoryBase + + + + + FluentValidation.IValidator`1<T> + FluentValidation.ValidatorFactoryBase::GetValidator() + + + + + + + + + + + + FluentValidation.IValidator + FluentValidation.ValidatorFactoryBase::GetValidator(System.Type) + + + + + + + + + + + + + + FluentValidation.ValidatorConfiguration + + + + + FluentValidation.Resources.ILanguageManager + FluentValidation.ValidatorConfiguration::get_LanguageManager() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorConfiguration::set_LanguageManager(FluentValidation.Resources.ILanguageManager) + + + + + + + + + + + + + + + System.Func`1<FluentValidation.Internal.MessageFormatter> + FluentValidation.ValidatorConfiguration::get_MessageFormatterFactory() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorConfiguration::set_MessageFormatterFactory(System.Func`1<FluentValidation.Internal.MessageFormatter>) + + + + + + + + + + + + + + + + + System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String> + FluentValidation.ValidatorConfiguration::get_PropertyNameResolver() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorConfiguration::set_PropertyNameResolver(System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String>) + + + + + + + + + + + + + + + System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String> + FluentValidation.ValidatorConfiguration::get_DisplayNameResolver() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorConfiguration::set_DisplayNameResolver(System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String>) + + + + + + + + + + + + + + + System.Func`2<FluentValidation.Validators.PropertyValidator,System.String> + FluentValidation.ValidatorConfiguration::get_ErrorCodeResolver() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorConfiguration::set_ErrorCodeResolver(System.Func`2<FluentValidation.Validators.PropertyValidator,System.String>) + + + + + + + + + + + + + + + System.String + FluentValidation.ValidatorConfiguration::DefaultPropertyNameResolver(System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression) + + + + + + + + + + + + + + + + + + + + + + System.String + FluentValidation.ValidatorConfiguration::DefaultDisplayNameResolver(System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression) + + + + + + + + + + + + System.String + FluentValidation.ValidatorConfiguration::DefaultErrorCodeResolver(FluentValidation.Validators.PropertyValidator) + + + + + + + + + + + + System.Void FluentValidation.ValidatorConfiguration::.ctor() + + + + + + + + + + + + + + + + + + + + + FluentValidation.ValidatorOptions + + + + + FluentValidation.CascadeMode FluentValidation.ValidatorOptions::get_CascadeMode() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorOptions::set_CascadeMode(FluentValidation.CascadeMode) + + + + + + + + + + + + System.String FluentValidation.ValidatorOptions::get_PropertyChainSeparator() + + + + + + + + + + + System.Void + FluentValidation.ValidatorOptions::set_PropertyChainSeparator(System.String) + + + + + + + + + + + + FluentValidation.Resources.ILanguageManager + FluentValidation.ValidatorOptions::get_LanguageManager() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorOptions::set_LanguageManager(FluentValidation.Resources.ILanguageManager) + + + + + + + + + + + + FluentValidation.ValidatorSelectorOptions + FluentValidation.ValidatorOptions::get_ValidatorSelectors() + + + + + + + + + + + + System.Func`1<FluentValidation.Internal.MessageFormatter> + FluentValidation.ValidatorOptions::get_MessageFormatterFactory() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorOptions::set_MessageFormatterFactory(System.Func`1<FluentValidation.Internal.MessageFormatter>) + + + + + + + + + + + + System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String> + FluentValidation.ValidatorOptions::get_PropertyNameResolver() + + + + + + + + + + + + System.Void FluentValidation.ValidatorOptions::set_PropertyNameResolver(System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String>) + + + + + + + + + + + System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String> + FluentValidation.ValidatorOptions::get_DisplayNameResolver() + + + + + + + + + + + + System.Void FluentValidation.ValidatorOptions::set_DisplayNameResolver(System.Func`4<System.Type,System.Reflection.MemberInfo,System.Linq.Expressions.LambdaExpression,System.String>) + + + + + + + + + + + System.Boolean FluentValidation.ValidatorOptions::get_DisableAccessorCache() + + + + + + + + + + + System.Void + FluentValidation.ValidatorOptions::set_DisableAccessorCache(System.Boolean) + + + + + + + + + + + + System.Func`2<FluentValidation.Validators.PropertyValidator,System.String> + FluentValidation.ValidatorOptions::get_ErrorCodeResolver() + + + + + + + + + + + + System.Void FluentValidation.ValidatorOptions::set_ErrorCodeResolver(System.Func`2<FluentValidation.Validators.PropertyValidator,System.String>) + + + + + + + + + + + System.Void FluentValidation.ValidatorOptions::.cctor() + + + + + + + + + + + + FluentValidation.ValidatorSelectorOptions + + + + + System.Func`1<FluentValidation.Internal.IValidatorSelector> + FluentValidation.ValidatorSelectorOptions::get_DefaultValidatorSelectorFactory() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorSelectorOptions::set_DefaultValidatorSelectorFactory(System.Func`1<FluentValidation.Internal.IValidatorSelector>) + + + + + + + + + + + + + + + + + System.Func`2<System.String[],FluentValidation.Internal.IValidatorSelector> + FluentValidation.ValidatorSelectorOptions::get_MemberNameValidatorSelectorFactory() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorSelectorOptions::set_MemberNameValidatorSelectorFactory(System.Func`2<System.String[],FluentValidation.Internal.IValidatorSelector>) + + + + + + + + + + + + + + + + + System.Func`2<System.String[],FluentValidation.Internal.IValidatorSelector> + FluentValidation.ValidatorSelectorOptions::get_RulesetValidatorSelectorFactory() + + + + + + + + + + + + System.Void + FluentValidation.ValidatorSelectorOptions::set_RulesetValidatorSelectorFactory(System.Func`2<System.String[],FluentValidation.Internal.IValidatorSelector>) + + + + + + + + + + + + + + + + + System.Void FluentValidation.ValidatorSelectorOptions::.ctor() + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.ValidatorSelectorOptions::.cctor() + + + + + + + + + + + + FluentValidation.Validators.AbstractComparisonValidator + + + + + System.Boolean + FluentValidation.Validators.AbstractComparisonValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + System.IComparable + FluentValidation.Validators.AbstractComparisonValidator::GetComparisonValue(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.AbstractComparisonValidator::.ctor(System.IComparable,FluentValidation.Resources.IStringSource) + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.AbstractComparisonValidator::.ctor(System.IComparable) + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.AbstractComparisonValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String,FluentValidation.Resources.IStringSource) + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.AbstractComparisonValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String) + + + + + + + + + + + + + + + + + FluentValidation.Validators.AsyncPredicateValidator + + + + + System.Threading.Tasks.Task`1<System.Boolean> + FluentValidation.Validators.AsyncPredicateValidator::IsValidAsync(FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken) + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.AsyncPredicateValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.AsyncPredicateValidator::ShouldValidateAsynchronously(FluentValidation.IValidationContext) + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.AsyncPredicateValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void FluentValidation.Validators.AsyncPredicateValidator::.ctor(System.Func`5<System.Object,System.Object,FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) + + + + + + + + + + + + + + + FluentValidation.Validators.AsyncValidatorBase + + + + + System.Boolean + FluentValidation.Validators.AsyncValidatorBase::ShouldValidateAsynchronously(FluentValidation.IValidationContext) + + + + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.AsyncValidatorBase::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + System.Void + FluentValidation.Validators.AsyncValidatorBase::.ctor(FluentValidation.Resources.IStringSource) + + + + + + + + + + + + + System.Void FluentValidation.Validators.AsyncValidatorBase::.ctor(System.String) + + + + + + + + + + + + + System.Void FluentValidation.Validators.AsyncValidatorBase::.ctor() + + + + + + + + + + + + + FluentValidation.Validators.ChildValidatorAdaptor`2 + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.Validators.ChildValidatorAdaptor`2::Validate(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IValidator`1<TProperty> + FluentValidation.Validators.ChildValidatorAdaptor`2::GetValidator(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + FluentValidation.IValidationContext + FluentValidation.Validators.ChildValidatorAdaptor`2::CreateNewValidationContextForChildValidator(FluentValidation.Validators.PropertyValidatorContext,FluentValidation.IValidator`1<TProperty>) + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IValidationContext + FluentValidation.Validators.ChildValidatorAdaptor`2::CreateNewValidationContextForChildValidator(System.Object,FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.ChildValidatorAdaptor`2::ShouldValidateAsynchronously(FluentValidation.IValidationContext) + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.ChildValidatorAdaptor`2::HandleCollectionIndex(FluentValidation.Validators.PropertyValidatorContext,System.Object&,System.Object&) + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.ChildValidatorAdaptor`2::ResetCollectionIndex(FluentValidation.Validators.PropertyValidatorContext,System.Object,System.Object) + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.ChildValidatorAdaptor`2::.ctor(FluentValidation.IValidator`1<TProperty>,System.Type) + + + + + + + + + + + + + + + System.Void FluentValidation.Validators.ChildValidatorAdaptor`2::.ctor(System.Func`2<FluentValidation.ICommonContext,FluentValidation.IValidator`1<TProperty>>,System.Type) + + + + + + + + + + + + + + + FluentValidation.Validators.ChildValidatorAdaptor`2/<ValidateAsync>d__16 + + + + + System.Void FluentValidation.Validators.ChildValidatorAdaptor`2/<ValidateAsync>d__16::MoveNext() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Validators.CreditCardValidator + + + + + System.String + FluentValidation.Validators.CreditCardValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.CreditCardValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Validators.CustomValidator`1 + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.Validators.CustomValidator`1::Validate(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.CustomValidator`1::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.CustomValidator`1::ShouldValidateAsynchronously(FluentValidation.IValidationContext) + + + + + + + + + + + + + + + System.Void FluentValidation.Validators.CustomValidator`1::.ctor(System.Action`2<T,FluentValidation.Validators.CustomContext>) + + + + + + + + + + + + + + + System.Void FluentValidation.Validators.CustomValidator`1::.ctor(System.Func`4<T,FluentValidation.Validators.CustomContext,System.Threading.CancellationToken,System.Threading.Tasks.Task>) + + + + + + + + + + + + + + + + FluentValidation.Validators.CustomValidator`1/<ValidateAsync>d__6 + + + + + System.Void FluentValidation.Validators.CustomValidator`1/<ValidateAsync>d__6::MoveNext() + + + + + + + + + + + + + + + + + + FluentValidation.Validators.CustomContext + + + + + System.Void + FluentValidation.Validators.CustomContext::AddFailure(System.String,System.String) + + + + + + + + + + + + + + + + + System.Void FluentValidation.Validators.CustomContext::AddFailure(System.String) + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.CustomContext::AddFailure(FluentValidation.Results.ValidationFailure) + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.Validators.CustomContext::get_Failures() + + + + + + + + + + + + FluentValidation.Internal.PropertyRule + FluentValidation.Validators.CustomContext::get_Rule() + + + + + + + + + + + + System.String FluentValidation.Validators.CustomContext::get_PropertyName() + + + + + + + + + + + System.String FluentValidation.Validators.CustomContext::get_DisplayName() + + + + + + + + + + + FluentValidation.Internal.MessageFormatter + FluentValidation.Validators.CustomContext::get_MessageFormatter() + + + + + + + + + + + + System.Object FluentValidation.Validators.CustomContext::get_InstanceToValidate() + + + + + + + + + + + + System.Object FluentValidation.Validators.CustomContext::get_PropertyValue() + + + + + + + + + + + FluentValidation.ICommonContext + FluentValidation.Validators.CustomContext::FluentValidation.ICommonContext.get_ParentContext() + + + + + + + + + + + + FluentValidation.IValidationContext + FluentValidation.Validators.CustomContext::get_ParentContext() + + + + + + + + + + + + System.Void + FluentValidation.Validators.CustomContext::.ctor(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + FluentValidation.Validators.EmailValidator + + + + + System.Boolean + FluentValidation.Validators.EmailValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + System.String FluentValidation.Validators.EmailValidator::get_Expression() + + + + + + + + + + + System.Text.RegularExpressions.Regex + FluentValidation.Validators.EmailValidator::CreateRegEx() + + + + + + + + + + + + System.String + FluentValidation.Validators.EmailValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void FluentValidation.Validators.EmailValidator::.cctor() + + + + + + + + + + + + FluentValidation.Validators.AspNetCoreCompatibleEmailValidator + + + + + System.Boolean + FluentValidation.Validators.AspNetCoreCompatibleEmailValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.AspNetCoreCompatibleEmailValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + + FluentValidation.Validators.EmptyValidator + + + + + System.Boolean + FluentValidation.Validators.EmptyValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.EmptyValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void FluentValidation.Validators.EmptyValidator::.ctor(System.Object) + + + + + + + + + + + + + + FluentValidation.Validators.EnumValidator + + + + + System.Boolean + FluentValidation.Validators.EnumValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.EnumValidator::IsFlagsEnumDefined(System.Type,System.Object) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.EnumValidator::EvaluateFlagEnumValues(System.Int64,System.Type) + + + + + + + + + + + + + + + + + + + + + + + + + + + System.String FluentValidation.Validators.EnumValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void FluentValidation.Validators.EnumValidator::.ctor(System.Type) + + + + + + + + + + + + + + FluentValidation.Validators.EqualValidator + + + + + System.Boolean + FluentValidation.Validators.EqualValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + System.Object + FluentValidation.Validators.EqualValidator::GetComparisonValue(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + FluentValidation.Validators.Comparison + FluentValidation.Validators.EqualValidator::get_Comparison() + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.EqualValidator::Compare(System.Object,System.Object) + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.EqualValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void + FluentValidation.Validators.EqualValidator::.ctor(System.Object,System.Collections.IEqualityComparer) + + + + + + + + + + + + + + + System.Void FluentValidation.Validators.EqualValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String,System.Collections.IEqualityComparer) + + + + + + + + + + + + + + + + + FluentValidation.Validators.ExclusiveBetweenValidator + + + + + System.Boolean + FluentValidation.Validators.ExclusiveBetweenValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.ExclusiveBetweenValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void + FluentValidation.Validators.ExclusiveBetweenValidator::.ctor(System.IComparable,System.IComparable) + + + + + + + + + + + + + + + + + + + + + FluentValidation.Validators.GreaterThanOrEqualValidator + + + + + System.Boolean + FluentValidation.Validators.GreaterThanOrEqualValidator::IsValid(System.IComparable,System.IComparable) + + + + + + + + + + + + + + + + + FluentValidation.Validators.Comparison + FluentValidation.Validators.GreaterThanOrEqualValidator::get_Comparison() + + + + + + + + + + + + System.String + FluentValidation.Validators.GreaterThanOrEqualValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void + FluentValidation.Validators.GreaterThanOrEqualValidator::.ctor(System.IComparable) + + + + + + + + + + + + + System.Void + FluentValidation.Validators.GreaterThanOrEqualValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String) + + + + + + + + + + + + + + FluentValidation.Validators.GreaterThanValidator + + + + + System.Boolean + FluentValidation.Validators.GreaterThanValidator::IsValid(System.IComparable,System.IComparable) + + + + + + + + + + + + + + + + + FluentValidation.Validators.Comparison + FluentValidation.Validators.GreaterThanValidator::get_Comparison() + + + + + + + + + + + + System.String + FluentValidation.Validators.GreaterThanValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void + FluentValidation.Validators.GreaterThanValidator::.ctor(System.IComparable) + + + + + + + + + + + + + System.Void FluentValidation.Validators.GreaterThanValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String) + + + + + + + + + + + + + FluentValidation.Validators.InclusiveBetweenValidator + + + + + System.Boolean + FluentValidation.Validators.InclusiveBetweenValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.InclusiveBetweenValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void + FluentValidation.Validators.InclusiveBetweenValidator::.ctor(System.IComparable,System.IComparable) + + + + + + + + + + + + + + + + + + + + + FluentValidation.Validators.LengthValidator + + + + + System.Boolean + FluentValidation.Validators.LengthValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.LengthValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void + FluentValidation.Validators.LengthValidator::.ctor(System.Int32,System.Int32) + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.Validators.LengthValidator::.ctor(System.Func`2<System.Object,System.Int32>,System.Func`2<System.Object,System.Int32>) + + + + + + + + + + + + + + + FluentValidation.Validators.ExactLengthValidator + + + + + System.String + FluentValidation.Validators.ExactLengthValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void FluentValidation.Validators.ExactLengthValidator::.ctor(System.Int32) + + + + + + + + + + + + + System.Void FluentValidation.Validators.ExactLengthValidator::.ctor(System.Func`2<System.Object,System.Int32>) + + + + + + + + + + + + + FluentValidation.Validators.MaximumLengthValidator + + + + + System.String + FluentValidation.Validators.MaximumLengthValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void FluentValidation.Validators.MaximumLengthValidator::.ctor(System.Int32) + + + + + + + + + + + + + System.Void FluentValidation.Validators.MaximumLengthValidator::.ctor(System.Func`2<System.Object,System.Int32>) + + + + + + + + + + + + + + + + FluentValidation.Validators.MinimumLengthValidator + + + + + System.String + FluentValidation.Validators.MinimumLengthValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void FluentValidation.Validators.MinimumLengthValidator::.ctor(System.Int32) + + + + + + + + + + + + + System.Void FluentValidation.Validators.MinimumLengthValidator::.ctor(System.Func`2<System.Object,System.Int32>) + + + + + + + + + + + + + + + + FluentValidation.Validators.LessThanOrEqualValidator + + + + + System.Boolean + FluentValidation.Validators.LessThanOrEqualValidator::IsValid(System.IComparable,System.IComparable) + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.LessThanOrEqualValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + FluentValidation.Validators.Comparison + FluentValidation.Validators.LessThanOrEqualValidator::get_Comparison() + + + + + + + + + + + + System.Void + FluentValidation.Validators.LessThanOrEqualValidator::.ctor(System.IComparable) + + + + + + + + + + + + + System.Void FluentValidation.Validators.LessThanOrEqualValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String) + + + + + + + + + + + + + FluentValidation.Validators.LessThanValidator + + + + + System.Boolean + FluentValidation.Validators.LessThanValidator::IsValid(System.IComparable,System.IComparable) + + + + + + + + + + + + + + + + + FluentValidation.Validators.Comparison + FluentValidation.Validators.LessThanValidator::get_Comparison() + + + + + + + + + + + + System.String + FluentValidation.Validators.LessThanValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void FluentValidation.Validators.LessThanValidator::.ctor(System.IComparable) + + + + + + + + + + + + + System.Void FluentValidation.Validators.LessThanValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String) + + + + + + + + + + + + + FluentValidation.Validators.NoopPropertyValidator + + + + + System.Threading.Tasks.Task`1<System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>> + FluentValidation.Validators.NoopPropertyValidator::ValidateAsync(FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken) + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.NoopPropertyValidator::ShouldValidateAsynchronously(FluentValidation.IValidationContext) + + + + + + + + + + + + System.Void FluentValidation.Validators.NoopPropertyValidator::.ctor() + + + + + + + + + + + + FluentValidation.Validators.NotEmptyValidator + + + + + System.Boolean + FluentValidation.Validators.NotEmptyValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.NotEmptyValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void FluentValidation.Validators.NotEmptyValidator::.ctor(System.Object) + + + + + + + + + + + + + + FluentValidation.Validators.NotEqualValidator + + + + + System.Boolean + FluentValidation.Validators.NotEqualValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + System.Object + FluentValidation.Validators.NotEqualValidator::GetComparisonValue(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + FluentValidation.Validators.Comparison + FluentValidation.Validators.NotEqualValidator::get_Comparison() + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.NotEqualValidator::Compare(System.Object,System.Object) + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.NotEqualValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void FluentValidation.Validators.NotEqualValidator::.ctor(System.Func`2<System.Object,System.Object>,System.Reflection.MemberInfo,System.String,System.Collections.IEqualityComparer) + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.NotEqualValidator::.ctor(System.Object,System.Collections.IEqualityComparer) + + + + + + + + + + + + + + + + FluentValidation.Validators.NotNullValidator + + + + + System.Boolean + FluentValidation.Validators.NotNullValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.NotNullValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + + FluentValidation.Validators.NullValidator + + + + + System.Boolean + FluentValidation.Validators.NullValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + System.String FluentValidation.Validators.NullValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + + FluentValidation.Validators.OnFailureValidator`1 + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.Validators.OnFailureValidator`1::Validate(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.OnFailureValidator`1::ShouldValidateAsynchronously(FluentValidation.IValidationContext) + + + + + + + + + + + + + + + + + + System.Type FluentValidation.Validators.OnFailureValidator`1::get_ValidatorType() + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.OnFailureValidator`1::.ctor(FluentValidation.Validators.IPropertyValidator,System.Action`3<T,FluentValidation.Validators.PropertyValidatorContext,System.String>) + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Validators.OnFailureValidator`1/<ValidateAsync>d__4 + + + + + System.Void FluentValidation.Validators.OnFailureValidator`1/<ValidateAsync>d__4::MoveNext() + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Validators.PolymorphicValidator`2 + + + + + FluentValidation.Validators.PolymorphicValidator`2<T,TProperty> + FluentValidation.Validators.PolymorphicValidator`2::Add(FluentValidation.IValidator`1<TDerived>,System.String[]) + + + + + + + + + + + + + + + + + FluentValidation.Validators.PolymorphicValidator`2<T,TProperty> + FluentValidation.Validators.PolymorphicValidator`2::Add(System.Func`2<T,FluentValidation.IValidator`1<TDerived>>,System.String[]) + + + + + + + + + + + + + + + + + FluentValidation.Validators.PolymorphicValidator`2<T,TProperty> + FluentValidation.Validators.PolymorphicValidator`2::Add(System.Func`3<T,TDerived,FluentValidation.IValidator`1<TDerived>>,System.String[]) + + + + + + + + + + + + + + + + + FluentValidation.Validators.PolymorphicValidator`2<T,TProperty> + FluentValidation.Validators.PolymorphicValidator`2::Add(System.Type,FluentValidation.IValidator,System.String[]) + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IValidator`1<TProperty> + FluentValidation.Validators.PolymorphicValidator`2::GetValidator(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + FluentValidation.IValidationContext + FluentValidation.Validators.PolymorphicValidator`2::CreateNewValidationContextForChildValidator(FluentValidation.Validators.PropertyValidatorContext,FluentValidation.IValidator`1<TProperty>) + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.Validators.PolymorphicValidator`2::.ctor() + + + + + + + + + + + + + + FluentValidation.Validators.PolymorphicValidator`2/DerivedValidatorFactory + + + + + FluentValidation.IValidator + FluentValidation.Validators.PolymorphicValidator`2/DerivedValidatorFactory::GetValidator(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.PolymorphicValidator`2/DerivedValidatorFactory::.ctor(FluentValidation.IValidator,System.String[]) + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.PolymorphicValidator`2/DerivedValidatorFactory::.ctor(System.Func`2<FluentValidation.Validators.PropertyValidatorContext,FluentValidation.IValidator>,System.String[]) + + + + + + + + + + + + + + + + FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper + + + + + FluentValidation.Results.ValidationResult + FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::Validate(FluentValidation.IValidationContext) + + + + + + + + + + + + System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> + FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::ValidateAsync(FluentValidation.IValidationContext,System.Threading.CancellationToken) + + + + + + + + + + + + FluentValidation.IValidatorDescriptor + FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::CreateDescriptor() + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::CanValidateInstancesOfType(System.Type) + + + + + + + + + + + + FluentValidation.Results.ValidationResult + FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::Validate(TProperty) + + + + + + + + + + + + System.Threading.Tasks.Task`1<FluentValidation.Results.ValidationResult> + FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::ValidateAsync(TProperty,System.Threading.CancellationToken) + + + + + + + + + + + + FluentValidation.CascadeMode + FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::get_CascadeMode() + + + + + + + + + + + + System.Void + FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::set_CascadeMode(FluentValidation.CascadeMode) + + + + + + + + + + + + System.Void + FluentValidation.Validators.PolymorphicValidator`2/ValidatorWrapper::.ctor(FluentValidation.IValidator,System.String[]) + + + + + + + + + + + + + + + + FluentValidation.Validators.PredicateValidator + + + + + System.Boolean + FluentValidation.Validators.PredicateValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.PredicateValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void + FluentValidation.Validators.PredicateValidator::.ctor(FluentValidation.Validators.PredicateValidator/Predicate) + + + + + + + + + + + + + + + + FluentValidation.Validators.PropertyValidator + + + + + FluentValidation.PropertyValidatorOptions + FluentValidation.Validators.PropertyValidator::get_Options() + + + + + + + + + + + + System.String + FluentValidation.Validators.PropertyValidator::Localized(System.String) + + + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.Validators.PropertyValidator::Validate(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + System.Boolean + FluentValidation.Validators.PropertyValidator::ShouldValidateAsynchronously(FluentValidation.IValidationContext) + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.PropertyValidator::PrepareMessageFormatterForValidationError(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Results.ValidationFailure + FluentValidation.Validators.PropertyValidator::CreateValidationError(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.PropertyValidator::.ctor(FluentValidation.Resources.IStringSource) + + + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.Validators.PropertyValidator::.ctor(System.String) + + + + + + + + + + + + + System.Void FluentValidation.Validators.PropertyValidator::.ctor() + + + + + + + + + + + + + FluentValidation.Validators.PropertyValidator/<ValidateAsync>d__7 + + + + + System.Void FluentValidation.Validators.PropertyValidator/<ValidateAsync>d__7::MoveNext() + + + + + + + + + + + + + + + + + + + + FluentValidation.Validators.PropertyValidator/<IsValidAsync>d__10 + + + + + System.Void FluentValidation.Validators.PropertyValidator/<IsValidAsync>d__10::MoveNext() + + + + + + + + + + + + + FluentValidation.Validators.PropertyValidatorContext + + + + + System.String + FluentValidation.Validators.PropertyValidatorContext::get_DisplayName() + + + + + + + + + + + + System.Object + FluentValidation.Validators.PropertyValidatorContext::get_InstanceToValidate() + + + + + + + + + + + + FluentValidation.Internal.MessageFormatter + FluentValidation.Validators.PropertyValidatorContext::get_MessageFormatter() + + + + + + + + + + + + + + + System.Object + FluentValidation.Validators.PropertyValidatorContext::get_PropertyValue() + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.ICommonContext + FluentValidation.Validators.PropertyValidatorContext::FluentValidation.ICommonContext.get_ParentContext() + + + + + + + + + + + + System.Void + FluentValidation.Validators.PropertyValidatorContext::.ctor(FluentValidation.IValidationContext,FluentValidation.Internal.PropertyRule,System.String) + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.PropertyValidatorContext::.ctor(FluentValidation.IValidationContext,FluentValidation.Internal.PropertyRule,System.String,System.Object) + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.PropertyValidatorContext::.ctor(FluentValidation.IValidationContext,FluentValidation.Internal.PropertyRule,System.String,System.Lazy`1<System.Object>) + + + + + + + + + + + + + + + + + + FluentValidation.Validators.RegularExpressionValidator + + + + + System.Boolean + FluentValidation.Validators.RegularExpressionValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + System.Text.RegularExpressions.Regex + FluentValidation.Validators.RegularExpressionValidator::CreateRegex(System.String,System.Text.RegularExpressions.RegexOptions) + + + + + + + + + + + + System.String + FluentValidation.Validators.RegularExpressionValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void + FluentValidation.Validators.RegularExpressionValidator::.ctor(System.String) + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.RegularExpressionValidator::.ctor(System.Text.RegularExpressions.Regex) + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.RegularExpressionValidator::.ctor(System.String,System.Text.RegularExpressions.RegexOptions) + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.RegularExpressionValidator::.ctor(System.Func`2<System.Object,System.String>) + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.RegularExpressionValidator::.ctor(System.Func`2<System.Object,System.Text.RegularExpressions.Regex>) + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.RegularExpressionValidator::.ctor(System.Func`2<System.Object,System.String>,System.Text.RegularExpressions.RegexOptions) + + + + + + + + + + + + + + + FluentValidation.Validators.ScalePrecisionValidator + + + + + System.Boolean + FluentValidation.Validators.ScalePrecisionValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.ScalePrecisionValidator::Init(System.Int32,System.Int32) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.UInt32[] + FluentValidation.Validators.ScalePrecisionValidator::GetBits(System.Decimal) + + + + + + + + + + + + System.Decimal + FluentValidation.Validators.ScalePrecisionValidator::GetMantissa(System.Decimal) + + + + + + + + + + + + + System.UInt32 + FluentValidation.Validators.ScalePrecisionValidator::GetUnsignedScale(System.Decimal) + + + + + + + + + + + + + + System.Int32 + FluentValidation.Validators.ScalePrecisionValidator::GetScale(System.Decimal) + + + + + + + + + + + + + + + + + + System.UInt32 + FluentValidation.Validators.ScalePrecisionValidator::NumTrailingZeros(System.Decimal) + + + + + + + + + + + + + + + + + + + + + System.Int32 + FluentValidation.Validators.ScalePrecisionValidator::GetPrecision(System.Decimal) + + + + + + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.ScalePrecisionValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void + FluentValidation.Validators.ScalePrecisionValidator::.ctor(System.Int32,System.Int32) + + + + + + + + + + + + + + + FluentValidation.Validators.StringEnumValidator + + + + + System.Boolean + FluentValidation.Validators.StringEnumValidator::IsValid(FluentValidation.Validators.PropertyValidatorContext) + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Validators.StringEnumValidator::CheckTypeIsEnum(System.Type) + + + + + + + + + + + + + + + + + + System.String + FluentValidation.Validators.StringEnumValidator::GetDefaultMessageTemplate() + + + + + + + + + + + + System.Void + FluentValidation.Validators.StringEnumValidator::.ctor(System.Type,System.Boolean) + + + + + + + + + + + + + + + + + + + + + FluentValidation.TestHelper.TestValidationResult`1 + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.TestValidationResult`1::ShouldHaveValidationErrorFor(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + System.Void + FluentValidation.TestHelper.TestValidationResult`1::ShouldNotHaveValidationErrorFor(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.TestValidationResult`1::ShouldHaveValidationErrorFor(System.String) + + + + + + + + + + + + System.Void + FluentValidation.TestHelper.TestValidationResult`1::ShouldNotHaveValidationErrorFor(System.String) + + + + + + + + + + + + + System.Void + FluentValidation.TestHelper.TestValidationResult`1::.ctor(FluentValidation.Results.ValidationResult) + + + + + + + + + + + + + + + FluentValidation.TestHelper.ValidationTestException + + + + + System.Void + FluentValidation.TestHelper.ValidationTestException::.ctor(System.String) + + + + + + + + + + + + + System.Void + FluentValidation.TestHelper.ValidationTestException::.ctor(System.String,System.Collections.Generic.List`1<FluentValidation.Results.ValidationFailure>) + + + + + + + + + + + + + + + FluentValidation.TestHelper.ValidationTestExtension + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::ShouldHaveValidationErrorFor(FluentValidation.IValidator`1<T>,System.Linq.Expressions.Expression`1<System.Func`2<T,TValue>>,TValue,System.String) + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::ShouldHaveValidationErrorFor(FluentValidation.IValidator`1<T>,System.Linq.Expressions.Expression`1<System.Func`2<T,TValue>>,T,System.String) + + + + + + + + + + + + + + System.Void + FluentValidation.TestHelper.ValidationTestExtension::ShouldNotHaveValidationErrorFor(FluentValidation.IValidator`1<T>,System.Linq.Expressions.Expression`1<System.Func`2<T,TValue>>,TValue,System.String) + + + + + + + + + + + + + + + + + System.Void + FluentValidation.TestHelper.ValidationTestExtension::ShouldNotHaveValidationErrorFor(FluentValidation.IValidator`1<T>,System.Linq.Expressions.Expression`1<System.Func`2<T,TValue>>,T,System.String) + + + + + + + + + + + + + + + System.Void + FluentValidation.TestHelper.ValidationTestExtension::ShouldHaveChildValidator(FluentValidation.IValidator`1<T>,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,System.Type) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Validators.IPropertyValidator> + FluentValidation.TestHelper.ValidationTestExtension::GetDependentRules(System.String,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,FluentValidation.IValidatorDescriptor) + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Validators.IPropertyValidator[] + FluentValidation.TestHelper.ValidationTestExtension::GetModelLevelValidators(FluentValidation.IValidatorDescriptor) + + + + + + + + + + + + + + + + + + + FluentValidation.TestHelper.TestValidationResult`1<T> + FluentValidation.TestHelper.ValidationTestExtension::TestValidate(FluentValidation.IValidator`1<T>,T,System.String) + + + + + + + + + + + + + + + + FluentValidation.TestHelper.TestValidationResult`1<T> + FluentValidation.TestHelper.ValidationTestExtension::TestValidate(FluentValidation.IValidator`1<T>,T,System.Action`1<FluentValidation.Internal.ValidationStrategy`1<T>>) + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::ShouldHaveAnyValidationError(FluentValidation.TestHelper.TestValidationResult`1<T>) + + + + + + + + + + + + + + + + + System.Void + FluentValidation.TestHelper.ValidationTestExtension::ShouldNotHaveAnyValidationErrors(FluentValidation.TestHelper.TestValidationResult`1<T>) + + + + + + + + + + + + + System.String + FluentValidation.TestHelper.ValidationTestExtension::BuildErrorMessage(FluentValidation.Results.ValidationFailure,System.String,System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::ShouldHaveValidationError(System.Collections.Generic.IList`1<FluentValidation.Results.ValidationFailure>,System.String,System.Boolean) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.TestHelper.ValidationTestExtension::ShouldNotHaveValidationError(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String,System.Boolean) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::When(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.Func`2<FluentValidation.Results.ValidationFailure,System.Boolean>,System.String) + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::WhenAll(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.Func`2<FluentValidation.Results.ValidationFailure,System.Boolean>,System.String) + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::WithSeverity(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,FluentValidation.Severity) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::WithCustomState(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.Object) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::WithMessageArgument(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String,T) + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::WithErrorMessage(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::WithErrorCode(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::WithoutSeverity(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,FluentValidation.Severity) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::WithoutCustomState(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.Object) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::WithoutErrorMessage(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.TestHelper.ValidationTestExtension::WithoutErrorCode(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>,System.String) + + + + + + + + + + + + System.String + FluentValidation.TestHelper.ValidationTestExtension::NormalizePropertyName(System.String) + + + + + + + + + + + + + FluentValidation.TestHelper.ValidationTestExtension/<ShouldHaveValidationErrorForAsync>d__5`2 + + + + + System.Void FluentValidation.TestHelper.ValidationTestExtension/<ShouldHaveValidationErrorForAsync>d__5`2::MoveNext() + + + + + + + + + + + + + + + + + + + + + + FluentValidation.TestHelper.ValidationTestExtension/<ShouldHaveValidationErrorForAsync>d__6`2 + + + + + System.Void FluentValidation.TestHelper.ValidationTestExtension/<ShouldHaveValidationErrorForAsync>d__6`2::MoveNext() + + + + + + + + + + + + + + + + + + + + FluentValidation.TestHelper.ValidationTestExtension/<ShouldNotHaveValidationErrorForAsync>d__7`2 + + + + + System.Void FluentValidation.TestHelper.ValidationTestExtension/<ShouldNotHaveValidationErrorForAsync>d__7`2::MoveNext() + + + + + + + + + + + + + + + + + + + + + + FluentValidation.TestHelper.ValidationTestExtension/<ShouldNotHaveValidationErrorForAsync>d__8`2 + + + + + System.Void FluentValidation.TestHelper.ValidationTestExtension/<ShouldNotHaveValidationErrorForAsync>d__8`2::MoveNext() + + + + + + + + + + + + + + + + + + + + FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass13_0`1 + + + + + + System.Void FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass13_0`1::<TestValidateAsync>b__0(FluentValidation.Internal.ValidationStrategy`1<T>) + + + + + + + + + + + + + + + + + FluentValidation.TestHelper.ValidationTestExtension/<TestValidateAsync>d__13`1 + + + + + + System.Void FluentValidation.TestHelper.ValidationTestExtension/<TestValidateAsync>d__13`1::MoveNext() + + + + + + + + + + + + + + + + + + + FluentValidation.TestHelper.ValidationTestExtension/<TestValidateAsync>d__15`1 + + + + + + System.Void FluentValidation.TestHelper.ValidationTestExtension/<TestValidateAsync>d__15`1::MoveNext() + + + + + + + + + + + + + + + + + + + FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass12_0`1 + + + + + + FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass19_0 + + + + + FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass20_0 + + + + + FluentValidation.TestHelper.ValidationTestExtension/<>c__DisplayClass25_0`1 + + + + + + FluentValidation.Results.ValidationFailure + + + + + System.String FluentValidation.Results.ValidationFailure::ToString() + + + + + + + + + + + System.Void FluentValidation.Results.ValidationFailure::.ctor() + + + + + + + + + + + + System.Void + FluentValidation.Results.ValidationFailure::.ctor(System.String,System.String) + + + + + + + + + + + + + System.Void + FluentValidation.Results.ValidationFailure::.ctor(System.String,System.String,System.Object) + + + + + + + + + + + + + + + + + FluentValidation.Results.ValidationResult + + + + + System.Boolean FluentValidation.Results.ValidationResult::get_IsValid() + + + + + + + + + + + System.Collections.Generic.IList`1<FluentValidation.Results.ValidationFailure> + FluentValidation.Results.ValidationResult::get_Errors() + + + + + + + + + + + + System.String FluentValidation.Results.ValidationResult::ToString() + + + + + + + + + + + System.String FluentValidation.Results.ValidationResult::ToString(System.String) + + + + + + + + + + + + + + + System.Void FluentValidation.Results.ValidationResult::.ctor() + + + + + + + + + + + + + System.Void + FluentValidation.Results.ValidationResult::.ctor(System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure>) + + + + + + + + + + + + + + + + + + FluentValidation.Resources.Language + + + + + System.Void + FluentValidation.Resources.Language::Translate(System.String,System.String) + + + + + + + + + + + + + System.Void FluentValidation.Resources.Language::Translate(System.String) + + + + + + + + + + + + System.String FluentValidation.Resources.Language::GetTranslation(System.String) + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<System.String> + FluentValidation.Resources.Language::GetSupportedKeys() + + + + + + + + + + + + System.Void FluentValidation.Resources.Language::.ctor() + + + + + + + + + + + + FluentValidation.Resources.GenericLanguage + + + + + System.Void FluentValidation.Resources.GenericLanguage::.ctor(System.String) + + + + + + + + + + + + + + FluentValidation.Resources.LanguageManager + + + + + System.String + FluentValidation.Resources.LanguageManager::GetTranslation(System.String,System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.Resources.LanguageManager::Clear() + + + + + + + + + + + + System.String + FluentValidation.Resources.LanguageManager::GetString(System.String,System.Globalization.CultureInfo) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Resources.LanguageManager::AddTranslation(System.String,System.String,System.String) + + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.Resources.LanguageManager::.ctor() + + + + + + + + + + + + + FluentValidation.Resources.LanguageStringSource + + + + + System.String + FluentValidation.Resources.LanguageStringSource::GetString(FluentValidation.ICommonContext) + + + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.Resources.LanguageStringSource::.ctor(System.String) + + + + + + + + + + + + + + System.Void FluentValidation.Resources.LanguageStringSource::.ctor(System.Func`2<FluentValidation.ICommonContext,System.String>,System.String) + + + + + + + + + + + + + + + FluentValidation.Resources.AlbanianLanguage + + + + + System.String + FluentValidation.Resources.AlbanianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.ArabicLanguage + + + + + System.String + FluentValidation.Resources.ArabicLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.BengaliLanguage + + + + + System.String + FluentValidation.Resources.BengaliLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.ChineseSimplifiedLanguage + + + + + System.String + FluentValidation.Resources.ChineseSimplifiedLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.ChineseTraditionalLanguage + + + + + System.String + FluentValidation.Resources.ChineseTraditionalLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.CroatianLanguage + + + + + System.String + FluentValidation.Resources.CroatianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.CzechLanguage + + + + + System.String + FluentValidation.Resources.CzechLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.DanishLanguage + + + + + System.String + FluentValidation.Resources.DanishLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.DutchLanguage + + + + + System.String + FluentValidation.Resources.DutchLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.EnglishLanguage + + + + + System.String + FluentValidation.Resources.EnglishLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.FinnishLanguage + + + + + System.String + FluentValidation.Resources.FinnishLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.FrenchLanguage + + + + + System.String + FluentValidation.Resources.FrenchLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.GeorgianLanguage + + + + + System.String + FluentValidation.Resources.GeorgianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.GermanLanguage + + + + + System.String + FluentValidation.Resources.GermanLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.GreekLanguage + + + + + System.String + FluentValidation.Resources.GreekLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.HebrewLanguage + + + + + System.String + FluentValidation.Resources.HebrewLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.HindiLanguage + + + + + System.String + FluentValidation.Resources.HindiLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.HungarianLanguage + + + + + System.String + FluentValidation.Resources.HungarianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.IcelandicLanguage + + + + + System.String + FluentValidation.Resources.IcelandicLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.IndonesianLanguage + + + + + System.String + FluentValidation.Resources.IndonesianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.ItalianLanguage + + + + + System.String + FluentValidation.Resources.ItalianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.JapaneseLanguage + + + + + System.String + FluentValidation.Resources.JapaneseLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.KoreanLanguage + + + + + System.String + FluentValidation.Resources.KoreanLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.MacedonianLanguage + + + + + System.String + FluentValidation.Resources.MacedonianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.NorwegianBokmalLanguage + + + + + System.String + FluentValidation.Resources.NorwegianBokmalLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.PersianLanguage + + + + + System.String + FluentValidation.Resources.PersianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.PolishLanguage + + + + + System.String + FluentValidation.Resources.PolishLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.PortugueseBrazilLanguage + + + + + System.String + FluentValidation.Resources.PortugueseBrazilLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.PortugueseLanguage + + + + + System.String + FluentValidation.Resources.PortugueseLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.RomanianLanguage + + + + + System.String + FluentValidation.Resources.RomanianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.RussianLanguage + + + + + System.String + FluentValidation.Resources.RussianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.SlovakLanguage + + + + + System.String + FluentValidation.Resources.SlovakLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.SlovenianLanguage + + + + + System.String + FluentValidation.Resources.SlovenianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.SpanishLanguage + + + + + System.String + FluentValidation.Resources.SpanishLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.SwedishLanguage + + + + + System.String + FluentValidation.Resources.SwedishLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.TurkishLanguage + + + + + System.String + FluentValidation.Resources.TurkishLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.UkrainianLanguage + + + + + System.String + FluentValidation.Resources.UkrainianLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.WelshLanguage + + + + + System.String + FluentValidation.Resources.WelshLanguage::GetTranslation(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Resources.LazyStringSource + + + + + System.String + FluentValidation.Resources.LazyStringSource::GetString(FluentValidation.ICommonContext) + + + + + + + + + + + + + + + System.Void FluentValidation.Resources.LazyStringSource::.ctor(System.Func`2<FluentValidation.ICommonContext,System.String>) + + + + + + + + + + + + + + FluentValidation.Resources.BackwardsCompatibleStringSource`1 + + + + + System.String + FluentValidation.Resources.BackwardsCompatibleStringSource`1::GetString(FluentValidation.ICommonContext) + + + + + + + + + + + + System.Void + FluentValidation.Resources.BackwardsCompatibleStringSource`1::.ctor(System.Func`2<TContext,System.String>) + + + + + + + + + + + + + + + FluentValidation.Resources.FluentValidationMessageFormatException + + + + + System.Void + FluentValidation.Resources.FluentValidationMessageFormatException::.ctor(System.String) + + + + + + + + + + + + + System.Void + FluentValidation.Resources.FluentValidationMessageFormatException::.ctor(System.String,System.Exception) + + + + + + + + + + + + + + FluentValidation.Resources.StaticStringSource + + + + + System.String FluentValidation.Resources.StaticStringSource::get_String() + + + + + + + + + + + System.String + FluentValidation.Resources.StaticStringSource::GetString(FluentValidation.ICommonContext) + + + + + + + + + + + + System.Void FluentValidation.Resources.StaticStringSource::.ctor(System.String) + + + + + + + + + + + + + + FluentValidation.Internal.AccessorCache`1 + + + + + System.Func`2<T,TProperty> + FluentValidation.Internal.AccessorCache`1::GetCachedAccessor(System.Reflection.MemberInfo,System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,System.Boolean) + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.Internal.AccessorCache`1::Clear() + + + + + + + + + + + + System.Void FluentValidation.Internal.AccessorCache`1::.cctor() + + + + + + + + + + + + FluentValidation.Internal.AccessorCache`1/Key + + + + + System.Boolean + FluentValidation.Internal.AccessorCache`1/Key::Equals(FluentValidation.Internal.AccessorCache`1/Key<T>) + + + + + + + + + + + + + + + System.Boolean FluentValidation.Internal.AccessorCache`1/Key::Equals(System.Object) + + + + + + + + + + + + + + + + + + + + + + System.Int32 FluentValidation.Internal.AccessorCache`1/Key::GetHashCode() + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.AccessorCache`1/Key::.ctor(System.Reflection.MemberInfo,System.Linq.Expressions.Expression) + + + + + + + + + + + + + + + + FluentValidation.Internal.CollectionPropertyRule`2 + + + + + FluentValidation.Internal.CollectionPropertyRule`2<T,TElement> + FluentValidation.Internal.CollectionPropertyRule`2::Create(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Collections.Generic.IEnumerable`1<TElement>>>,System.Func`1<FluentValidation.CascadeMode>) + + + + + + + + + + + + + + System.String + FluentValidation.Internal.CollectionPropertyRule`2::InferPropertyName(System.Linq.Expressions.LambdaExpression) + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.Internal.CollectionPropertyRule`2::InvokePropertyValidator(FluentValidation.IValidationContext,FluentValidation.Validators.IPropertyValidator,System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Object + FluentValidation.Internal.CollectionPropertyRule`2::GetPropertyValue(System.Object) + + + + + + + + + + + + System.Void + FluentValidation.Internal.CollectionPropertyRule`2::.ctor(System.Reflection.MemberInfo,System.Func`2<System.Object,System.Object>,System.Linq.Expressions.LambdaExpression,System.Func`1<FluentValidation.CascadeMode>,System.Type,System.Type) + + + + + + + + + + + + + + FluentValidation.Internal.CollectionPropertyRule`2/<InvokePropertyValidatorAsync>d__10 + + + + + System.Void FluentValidation.Internal.CollectionPropertyRule`2/<InvokePropertyValidatorAsync>d__10::MoveNext() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.CompositeValidatorSelector + + + + + System.Boolean + FluentValidation.Internal.CompositeValidatorSelector::CanExecute(FluentValidation.IValidationRule,System.String,FluentValidation.IValidationContext) + + + + + + + + + + + + System.Void + FluentValidation.Internal.CompositeValidatorSelector::.ctor(System.Collections.Generic.IEnumerable`1<FluentValidation.Internal.IValidatorSelector>) + + + + + + + + + + + + + + + FluentValidation.Internal.ConditionBuilder`1 + + + + + FluentValidation.IConditionBuilder + FluentValidation.Internal.ConditionBuilder`1::When(System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,System.Action) + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IConditionBuilder + FluentValidation.Internal.ConditionBuilder`1::Unless(System.Func`3<T,FluentValidation.ValidationContext`1<T>,System.Boolean>,System.Action) + + + + + + + + + + + + System.Void + FluentValidation.Internal.ConditionBuilder`1::.ctor(FluentValidation.Internal.TrackingCollection`1<FluentValidation.IValidationRule>) + + + + + + + + + + + + + + + FluentValidation.Internal.ConditionBuilder`1/<>c__DisplayClass2_0 + + + + + System.Boolean FluentValidation.Internal.ConditionBuilder`1/<>c__DisplayClass2_0::<When>g__Condition|0(FluentValidation.IValidationContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.AsyncConditionBuilder`1 + + + + + FluentValidation.IConditionBuilder + FluentValidation.Internal.AsyncConditionBuilder`1::WhenAsync(System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) + + + + + + + + + + + + + + + + + + + + + + FluentValidation.IConditionBuilder + FluentValidation.Internal.AsyncConditionBuilder`1::UnlessAsync(System.Func`4<T,FluentValidation.ValidationContext`1<T>,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,System.Action) + + + + + + + + + + + + System.Void + FluentValidation.Internal.AsyncConditionBuilder`1::.ctor(FluentValidation.Internal.TrackingCollection`1<FluentValidation.IValidationRule>) + + + + + + + + + + + + + + + FluentValidation.Internal.ConditionOtherwiseBuilder + + + + + System.Void + FluentValidation.Internal.ConditionOtherwiseBuilder::Otherwise(System.Action) + + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.ConditionOtherwiseBuilder::.ctor(FluentValidation.Internal.TrackingCollection`1<FluentValidation.IValidationRule>,System.Func`2<FluentValidation.IValidationContext,System.Boolean>) + + + + + + + + + + + + + + + + FluentValidation.Internal.AsyncConditionOtherwiseBuilder + + + + + System.Void + FluentValidation.Internal.AsyncConditionOtherwiseBuilder::Otherwise(System.Action) + + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.AsyncConditionOtherwiseBuilder::.ctor(FluentValidation.Internal.TrackingCollection`1<FluentValidation.IValidationRule>,System.Func`3<FluentValidation.IValidationContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) + + + + + + + + + + + + + + + + + FluentValidation.Internal.AsyncConditionOtherwiseBuilder/<<Otherwise>b__3_0>d + + + + + + FluentValidation.Internal.DefaultValidatorSelector + + + + + System.Boolean + FluentValidation.Internal.DefaultValidatorSelector::CanExecute(FluentValidation.IValidationRule,System.String,FluentValidation.IValidationContext) + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.Extensions + + + + + System.Void + FluentValidation.Internal.Extensions::Guard(System.Object,System.String,System.String) + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.Extensions::Guard(System.String,System.String,System.String) + + + + + + + + + + + + + + + + + + + + + System.Boolean + FluentValidation.Internal.Extensions::IsParameterExpression(System.Linq.Expressions.LambdaExpression) + + + + + + + + + + + + System.Reflection.MemberInfo + FluentValidation.Internal.Extensions::GetMember(System.Linq.Expressions.LambdaExpression) + + + + + + + + + + + + + + + + + + System.Reflection.MemberInfo + FluentValidation.Internal.Extensions::GetMember(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Linq.Expressions.Expression + FluentValidation.Internal.Extensions::RemoveUnary(System.Linq.Expressions.Expression) + + + + + + + + + + + + + + + + + System.String FluentValidation.Internal.Extensions::SplitPascalCase(System.String) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>> + FluentValidation.Internal.Extensions::GetConstantExpressionFromConstant(TProperty) + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.Extensions::ForEach(System.Collections.Generic.IEnumerable`1<T>,System.Action`1<T>) + + + + + + + + + + + + + + + + + System.Func`2<System.Object,System.Object> + FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,TProperty>) + + + + + + + + + + + + System.Func`2<System.Object,System.Boolean> + FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.Boolean>) + + + + + + + + + + + + System.Func`3<System.Object,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>> + FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`3<T,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) + + + + + + + + + + + + System.Func`2<System.Object,System.Threading.Tasks.Task`1<System.Boolean>> + FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.Threading.Tasks.Task`1<System.Boolean>>) + + + + + + + + + + + + System.Func`2<System.Object,System.Int32> + FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.Int32>) + + + + + + + + + + + + System.Func`2<System.Object,System.Int64> + FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.Int64>) + + + + + + + + + + + + System.Func`2<System.Object,System.String> + FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.String>) + + + + + + + + + + + + System.Func`2<System.Object,System.Text.RegularExpressions.Regex> + FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Func`2<T,System.Text.RegularExpressions.Regex>) + + + + + + + + + + + + System.Action`1<System.Object> + FluentValidation.Internal.Extensions::CoerceToNonGeneric(System.Action`1<T>) + + + + + + + + + + + + System.Boolean + FluentValidation.Internal.Extensions::IsAsync(FluentValidation.IValidationContext) + + + + + + + + + + + + + + + + + T + FluentValidation.Internal.Extensions::GetOrAdd(System.Collections.Generic.IDictionary`2<System.String,System.Object>,System.String,System.Func`1<T>) + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.IncludeRule`1 + + + + + FluentValidation.Internal.IncludeRule`1<T> + FluentValidation.Internal.IncludeRule`1::Create(FluentValidation.IValidator`1<T>,System.Func`1<FluentValidation.CascadeMode>) + + + + + + + + + + + + FluentValidation.Internal.IncludeRule`1<T> + FluentValidation.Internal.IncludeRule`1::Create(System.Func`2<T,TValidator>,System.Func`1<FluentValidation.CascadeMode>) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.Internal.IncludeRule`1::Validate(FluentValidation.IValidationContext) + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.IncludeRule`1::.ctor(FluentValidation.IValidator`1<T>,System.Func`1<FluentValidation.CascadeMode>,System.Type,System.Type) + + + + + + + + + + + + + + + + + System.Void FluentValidation.Internal.IncludeRule`1::.ctor(System.Func`2<FluentValidation.ICommonContext,FluentValidation.IValidator`1<T>>,System.Func`1<FluentValidation.CascadeMode>,System.Type,System.Type,System.Type) + + + + + + + + + + + + + + + + + FluentValidation.Internal.IncludeRule`1/<ValidateAsync>d__5 + + + + + System.Void FluentValidation.Internal.IncludeRule`1/<ValidateAsync>d__5::MoveNext() + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.MemberNameValidatorSelector + + + + + System.Collections.Generic.IEnumerable`1<System.String> + FluentValidation.Internal.MemberNameValidatorSelector::get_MemberNames() + + + + + + + + + + + + System.Boolean + FluentValidation.Internal.MemberNameValidatorSelector::CanExecute(FluentValidation.IValidationRule,System.String,FluentValidation.IValidationContext) + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.MemberNameValidatorSelector + FluentValidation.Internal.MemberNameValidatorSelector::FromExpressions(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>[]) + + + + + + + + + + + + + System.String[] + FluentValidation.Internal.MemberNameValidatorSelector::MemberNamesFromExpressions(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>[]) + + + + + + + + + + + + + System.String + FluentValidation.Internal.MemberNameValidatorSelector::MemberFromExpression(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>) + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.MemberNameValidatorSelector::.ctor(System.Collections.Generic.IEnumerable`1<System.String>) + + + + + + + + + + + + + + + FluentValidation.Internal.MemberNameValidatorSelector/<>c__DisplayClass5_0 + + + + + + FluentValidation.Internal.MessageBuilderContext + + + + + FluentValidation.IValidationContext + FluentValidation.Internal.MessageBuilderContext::get_ParentContext() + + + + + + + + + + + + FluentValidation.Internal.PropertyRule + FluentValidation.Internal.MessageBuilderContext::get_Rule() + + + + + + + + + + + + System.String FluentValidation.Internal.MessageBuilderContext::get_PropertyName() + + + + + + + + + + + + System.String FluentValidation.Internal.MessageBuilderContext::get_DisplayName() + + + + + + + + + + + + FluentValidation.Internal.MessageFormatter + FluentValidation.Internal.MessageBuilderContext::get_MessageFormatter() + + + + + + + + + + + + System.Object + FluentValidation.Internal.MessageBuilderContext::get_InstanceToValidate() + + + + + + + + + + + + System.Object FluentValidation.Internal.MessageBuilderContext::get_PropertyValue() + + + + + + + + + + + + FluentValidation.ICommonContext + FluentValidation.Internal.MessageBuilderContext::FluentValidation.ICommonContext.get_ParentContext() + + + + + + + + + + + + System.String FluentValidation.Internal.MessageBuilderContext::GetDefaultMessage() + + + + + + + + + + + + FluentValidation.Validators.PropertyValidatorContext + FluentValidation.Internal.MessageBuilderContext::op_Implicit(FluentValidation.Internal.MessageBuilderContext) + + + + + + + + + + + + System.Void + FluentValidation.Internal.MessageBuilderContext::.ctor(FluentValidation.Validators.PropertyValidatorContext,FluentValidation.Resources.IStringSource,FluentValidation.Validators.IPropertyValidator) + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.MessageBuilderContext::.ctor(FluentValidation.Validators.PropertyValidatorContext,FluentValidation.Validators.IPropertyValidator) + + + + + + + + + + + + + + + + + FluentValidation.Internal.MessageFormatter + + + + + FluentValidation.Internal.MessageFormatter + FluentValidation.Internal.MessageFormatter::AppendArgument(System.String,System.Object) + + + + + + + + + + + + + FluentValidation.Internal.MessageFormatter + FluentValidation.Internal.MessageFormatter::AppendPropertyName(System.String) + + + + + + + + + + + + FluentValidation.Internal.MessageFormatter + FluentValidation.Internal.MessageFormatter::AppendPropertyValue(System.Object) + + + + + + + + + + + + FluentValidation.Internal.MessageFormatter + FluentValidation.Internal.MessageFormatter::AppendAdditionalArguments(System.Object[]) + + + + + + + + + + + + + + + + + System.String + FluentValidation.Internal.MessageFormatter::BuildMessage(System.String) + + + + + + + + + + + + + + + + + + System.Object[] + FluentValidation.Internal.MessageFormatter::get_AdditionalArguments() + + + + + + + + + + + + System.Collections.Generic.Dictionary`2<System.String,System.Object> + FluentValidation.Internal.MessageFormatter::get_PlaceholderValues() + + + + + + + + + + + + System.String + FluentValidation.Internal.MessageFormatter::ReplacePlaceholdersWithValues(System.String,System.Collections.Generic.IDictionary`2<System.String,System.Object>) + + + + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.Internal.MessageFormatter::.ctor() + + + + + + + + + + + + + + System.Void FluentValidation.Internal.MessageFormatter::.cctor() + + + + + + + + + + + + FluentValidation.Internal.MessageFormatter/<>c__DisplayClass16_0 + + + + + FluentValidation.Internal.PropertyChain + + + + + FluentValidation.Internal.PropertyChain + FluentValidation.Internal.PropertyChain::FromExpression(System.Linq.Expressions.LambdaExpression) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyChain::Add(System.Reflection.MemberInfo) + + + + + + + + + + + + + + + + + System.Void FluentValidation.Internal.PropertyChain::Add(System.String) + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyChain::AddIndexer(System.Object,System.Boolean) + + + + + + + + + + + + + + + + + + + + + + + + + + System.String FluentValidation.Internal.PropertyChain::ToString() + + + + + + + + + + + + + + + + + + + System.Boolean + FluentValidation.Internal.PropertyChain::IsChildChainOf(FluentValidation.Internal.PropertyChain) + + + + + + + + + + + + System.String + FluentValidation.Internal.PropertyChain::BuildPropertyName(System.String) + + + + + + + + + + + + + + + + + + + System.Int32 FluentValidation.Internal.PropertyChain::get_Count() + + + + + + + + + + + System.Void FluentValidation.Internal.PropertyChain::.ctor() + + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyChain::.ctor(FluentValidation.Internal.PropertyChain) + + + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyChain::.ctor(System.Collections.Generic.IEnumerable`1<System.String>) + + + + + + + + + + + + + + + FluentValidation.Internal.PropertyChain/<>c + + + + + FluentValidation.Internal.PropertyRule + + + + + System.Func`2<FluentValidation.IValidationContext,System.Boolean> + FluentValidation.Internal.PropertyRule::get_Condition() + + + + + + + + + + + + System.Func`3<FluentValidation.IValidationContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>> + FluentValidation.Internal.PropertyRule::get_AsyncCondition() + + + + + + + + + + + + FluentValidation.Resources.IStringSource + FluentValidation.Internal.PropertyRule::get_DisplayName() + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyRule::set_DisplayName(FluentValidation.Resources.IStringSource) + + + + + + + + + + + + System.Void FluentValidation.Internal.PropertyRule::SetDisplayName(System.String) + + + + + + + + + + + + + System.Void FluentValidation.Internal.PropertyRule::SetDisplayName(System.Func`2<FluentValidation.IValidationContext,System.String>) + + + + + + + + + + + + + + + + System.String[] FluentValidation.Internal.PropertyRule::get_RuleSets() + + + + + + + + + + + System.Void FluentValidation.Internal.PropertyRule::set_RuleSets(System.String[]) + + + + + + + + + + + + + + + FluentValidation.Validators.IPropertyValidator + FluentValidation.Internal.PropertyRule::get_CurrentValidator() + + + + + + + + + + + + FluentValidation.CascadeMode + FluentValidation.Internal.PropertyRule::get_CascadeMode() + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyRule::set_CascadeMode(FluentValidation.CascadeMode) + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Validators.IPropertyValidator> + FluentValidation.Internal.PropertyRule::get_Validators() + + + + + + + + + + + + FluentValidation.Internal.PropertyRule + FluentValidation.Internal.PropertyRule::Create(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>) + + + + + + + + + + + + + + + FluentValidation.Internal.PropertyRule + FluentValidation.Internal.PropertyRule::Create(System.Linq.Expressions.Expression`1<System.Func`2<T,TProperty>>,System.Func`1<FluentValidation.CascadeMode>,System.Boolean) + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyRule::AddValidator(FluentValidation.Validators.IPropertyValidator) + + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyRule::ReplaceValidator(FluentValidation.Validators.IPropertyValidator,FluentValidation.Validators.IPropertyValidator) + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyRule::RemoveValidator(FluentValidation.Validators.IPropertyValidator) + + + + + + + + + + + + + System.Void FluentValidation.Internal.PropertyRule::ClearValidators() + + + + + + + + + + + + System.String FluentValidation.Internal.PropertyRule::get_PropertyName() + + + + + + + + + + + System.Void FluentValidation.Internal.PropertyRule::set_PropertyName(System.String) + + + + + + + + + + + + + + System.String FluentValidation.Internal.PropertyRule::GetDisplayName() + + + + + + + + + + + System.String + FluentValidation.Internal.PropertyRule::GetDisplayName(FluentValidation.ICommonContext) + + + + + + + + + + + + + + + + + + + + + + System.Collections.Generic.IEnumerable`1<FluentValidation.Results.ValidationFailure> + FluentValidation.Internal.PropertyRule::InvokePropertyValidator(FluentValidation.IValidationContext,FluentValidation.Validators.IPropertyValidator,System.String) + + + + + + + + + + + + + + + + + + + + + + + System.Object + FluentValidation.Internal.PropertyRule::GetPropertyValue(System.Object) + + + + + + + + + + + + + + + + + System.Void FluentValidation.Internal.PropertyRule::ApplyCondition(System.Func`2<FluentValidation.Validators.PropertyValidatorContext,System.Boolean>,FluentValidation.ApplyConditionTo) + + + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.Internal.PropertyRule::ApplyAsyncCondition(System.Func`3<FluentValidation.Validators.PropertyValidatorContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>,FluentValidation.ApplyConditionTo) + + + + + + + + + + + + + + + + + + + + + + + + System.Void FluentValidation.Internal.PropertyRule::ApplySharedCondition(System.Func`2<FluentValidation.IValidationContext,System.Boolean>) + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyRule::ApplySharedAsyncCondition(System.Func`3<FluentValidation.IValidationContext,System.Threading.CancellationToken,System.Threading.Tasks.Task`1<System.Boolean>>) + + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.PropertyRule::.ctor(System.Reflection.MemberInfo,System.Func`2<System.Object,System.Object>,System.Linq.Expressions.LambdaExpression,System.Func`1<FluentValidation.CascadeMode>,System.Type,System.Type) + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.PropertyRule/<>c__DisplayClass66_0 + + + + + System.Object FluentValidation.Internal.PropertyRule/<>c__DisplayClass66_0::<Validate>b__0() + + + + + + + + + + + + FluentValidation.Internal.PropertyRule/<Validate>d__66 + + + + + System.Boolean FluentValidation.Internal.PropertyRule/<Validate>d__66::MoveNext() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.PropertyRule/<>c__DisplayClass67_0 + + + + + System.Object FluentValidation.Internal.PropertyRule/<>c__DisplayClass67_0::<ValidateAsync>b__0() + + + + + + + + + + + + FluentValidation.Internal.PropertyRule/<ValidateAsync>d__67 + + + + + System.Void FluentValidation.Internal.PropertyRule/<ValidateAsync>d__67::MoveNext() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.PropertyRule/<RunDependentRulesAsync>d__68 + + + + + System.Void FluentValidation.Internal.PropertyRule/<RunDependentRulesAsync>d__68::MoveNext() + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.PropertyRule/<InvokePropertyValidatorAsync>d__69 + + + + + + System.Void FluentValidation.Internal.PropertyRule/<InvokePropertyValidatorAsync>d__69::MoveNext() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.PropertyRule/<>c__DisplayClass74_0 + + + + + FluentValidation.Internal.RuleBuilder`2 + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.Internal.RuleBuilder`2::SetValidator(FluentValidation.Validators.IPropertyValidator) + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.Internal.RuleBuilder`2::SetValidator(FluentValidation.IValidator`1<TProperty>,System.String[]) + + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.Internal.RuleBuilder`2::SetValidator(System.Func`2<T,TValidator>,System.String[]) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.Internal.RuleBuilder`2::SetValidator(System.Func`3<T,TProperty,TValidator>,System.String[]) + + + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.Internal.RuleBuilder`2::SetValidator(System.Func`2<FluentValidation.ICommonContext,TValidator>) + + + + + + + + + + + + + + FluentValidation.IRuleBuilderOptions`2<T,TProperty> + FluentValidation.Internal.RuleBuilder`2::FluentValidation.Internal.IConfigurable<FluentValidation.Internal.PropertyRule,FluentValidation.IRuleBuilderOptions<T,TProperty>>.Configure(System.Action`1<FluentValidation.Internal.PropertyRule>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderInitial`2<T,TProperty> + FluentValidation.Internal.RuleBuilder`2::FluentValidation.Internal.IConfigurable<FluentValidation.Internal.PropertyRule,FluentValidation.IRuleBuilderInitial<T,TProperty>>.Configure(System.Action`1<FluentValidation.Internal.PropertyRule>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderInitialCollection`2<T,TProperty> + FluentValidation.Internal.RuleBuilder`2::FluentValidation.Internal.IConfigurable<FluentValidation.Internal.CollectionPropertyRule<T,TProperty>,FluentValidation.IRuleBuilderInitialCollection<T,TProperty>>.Configure(System.Action`1<FluentValidation.Internal.CollectionPropertyRule`2<T,TProperty>>) + + + + + + + + + + + + + FluentValidation.IRuleBuilderInitial`2<T,TNew> + FluentValidation.Internal.RuleBuilder`2::Transform(System.Func`2<TProperty,TNew>) + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.RuleBuilder`2::.ctor(FluentValidation.Internal.PropertyRule,FluentValidation.IValidator`1<T>) + + + + + + + + + + + + + + + + FluentValidation.Internal.RulesetValidatorSelector + + + + + System.String[] FluentValidation.Internal.RulesetValidatorSelector::get_RuleSets() + + + + + + + + + + + + System.Boolean + FluentValidation.Internal.RulesetValidatorSelector::CanExecute(FluentValidation.IValidationRule,System.String,FluentValidation.IValidationContext) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.Boolean + FluentValidation.Internal.RulesetValidatorSelector::IsIncludeRule(FluentValidation.IValidationRule) + + + + + + + + + + + + System.String[] + FluentValidation.Internal.RulesetValidatorSelector::LegacyRulesetSplit(System.String) + + + + + + + + + + + + + + + + + + System.Void + FluentValidation.Internal.RulesetValidatorSelector::.ctor(System.String[]) + + + + + + + + + + + + + + + FluentValidation.Internal.TrackingCollection`1 + + + + + System.Void FluentValidation.Internal.TrackingCollection`1::Add(T) + + + + + + + + + + + + + + + + + + + + System.Int32 FluentValidation.Internal.TrackingCollection`1::get_Count() + + + + + + + + + + + System.Void FluentValidation.Internal.TrackingCollection`1::Remove(T) + + + + + + + + + + + + System.IDisposable + FluentValidation.Internal.TrackingCollection`1::OnItemAdded(System.Action`1<T>) + + + + + + + + + + + + + System.IDisposable + FluentValidation.Internal.TrackingCollection`1::Capture(System.Action`1<T>) + + + + + + + + + + + + System.Void + FluentValidation.Internal.TrackingCollection`1::AddRange(System.Collections.Generic.IEnumerable`1<T>) + + + + + + + + + + + + + System.Collections.Generic.IEnumerator`1<T> + FluentValidation.Internal.TrackingCollection`1::GetEnumerator() + + + + + + + + + + + + System.Collections.IEnumerator + FluentValidation.Internal.TrackingCollection`1::System.Collections.IEnumerable.GetEnumerator() + + + + + + + + + + + + System.Void FluentValidation.Internal.TrackingCollection`1::.ctor() + + + + + + + + + + + + FluentValidation.Internal.TrackingCollection`1/EventDisposable + + + + + System.Void + FluentValidation.Internal.TrackingCollection`1/EventDisposable::Dispose() + + + + + + + + + + + + + System.Void + FluentValidation.Internal.TrackingCollection`1/EventDisposable::.ctor(FluentValidation.Internal.TrackingCollection`1<T>,System.Action`1<T>) + + + + + + + + + + + + + + + + FluentValidation.Internal.TrackingCollection`1/CaptureDisposable + + + + + System.Void + FluentValidation.Internal.TrackingCollection`1/CaptureDisposable::Dispose() + + + + + + + + + + + + + System.Void + FluentValidation.Internal.TrackingCollection`1/CaptureDisposable::.ctor(FluentValidation.Internal.TrackingCollection`1<T>,System.Action`1<T>) + + + + + + + + + + + + + + + + + FluentValidation.Internal.ValidationStrategy`1 + + + + + FluentValidation.Internal.ValidationStrategy`1<T> + FluentValidation.Internal.ValidationStrategy`1::IncludeProperties(System.String[]) + + + + + + + + + + + + + + + + + + FluentValidation.Internal.ValidationStrategy`1<T> + FluentValidation.Internal.ValidationStrategy`1::IncludeProperties(System.Linq.Expressions.Expression`1<System.Func`2<T,System.Object>>[]) + + + + + + + + + + + + + + + + + + FluentValidation.Internal.ValidationStrategy`1<T> + FluentValidation.Internal.ValidationStrategy`1::IncludeRulesNotInRuleSet() + + + + + + + + + + + + + + + + + FluentValidation.Internal.ValidationStrategy`1<T> + FluentValidation.Internal.ValidationStrategy`1::IncludeAllRuleSets() + + + + + + + + + + + + + + + + + FluentValidation.Internal.ValidationStrategy`1<T> + FluentValidation.Internal.ValidationStrategy`1::IncludeRuleSets(System.String[]) + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.Internal.ValidationStrategy`1<T> + FluentValidation.Internal.ValidationStrategy`1::UseCustomSelector(FluentValidation.Internal.IValidatorSelector) + + + + + + + + + + + + + + + + + FluentValidation.Internal.ValidationStrategy`1<T> + FluentValidation.Internal.ValidationStrategy`1::ThrowOnFailures() + + + + + + + + + + + + + FluentValidation.Internal.IValidatorSelector + FluentValidation.Internal.ValidationStrategy`1::GetSelector() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FluentValidation.ValidationContext`1<T> + FluentValidation.Internal.ValidationStrategy`1::BuildContext(T) + + + + + + + + + + + + + + System.Void FluentValidation.Internal.ValidationStrategy`1::.ctor() + + + + + + + + + + + + + FluentValidation.Internal.MemberAccessor`2 + + + + + System.Linq.Expressions.Expression`1<System.Action`2<TObject,TValue>> + FluentValidation.Internal.MemberAccessor`2::CreateSetExpression(System.Linq.Expressions.Expression`1<System.Func`2<TObject,TValue>>) + + + + + + + + + + + + + + + + TValue FluentValidation.Internal.MemberAccessor`2::Get(TObject) + + + + + + + + + + + System.Void FluentValidation.Internal.MemberAccessor`2::Set(TObject,TValue) + + + + + + + + + + + + System.Boolean + FluentValidation.Internal.MemberAccessor`2::Equals(FluentValidation.Internal.MemberAccessor`2<TObject,TValue>) + + + + + + + + + + + + System.Boolean FluentValidation.Internal.MemberAccessor`2::Equals(System.Object) + + + + + + + + + + + + + + + + + + + + + + System.Int32 FluentValidation.Internal.MemberAccessor`2::GetHashCode() + + + + + + + + + + + System.Linq.Expressions.Expression`1<System.Func`2<TObject,TValue>> + FluentValidation.Internal.MemberAccessor`2::op_Implicit(FluentValidation.Internal.MemberAccessor`2<TObject,TValue>) + + + + + + + + + + + + FluentValidation.Internal.MemberAccessor`2<TObject,TValue> + FluentValidation.Internal.MemberAccessor`2::op_Implicit(System.Linq.Expressions.Expression`1<System.Func`2<TObject,TValue>>) + + + + + + + + + + + + System.Void + FluentValidation.Internal.MemberAccessor`2::.ctor(System.Linq.Expressions.Expression`1<System.Func`2<TObject,TValue>>,System.Boolean) + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index ef83571..d173fa4 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -1,15 +1,15 @@ - - False - + + False + - - - - - net6.0;netcoreapp3.1 - Debug;Release;Release Profilling - AnyCPU - + + + + + net6.0;netcoreapp3.1 + Debug;Release;Release Profilling + AnyCPU + \ No newline at end of file