public Task <PagedCollection <PersonByName> > FindOtherPeopleWithTheSameName() { var query = new FindPeopleByName { Term = Name.Full }; return(DomainQueryDispatcher.Execute(query)); }
public async Task AddPerson(Person person) { if (_peopleIds.Contains(person.Id)) { return; } if (person.BelongsToTeam()) { var otherTeamName = await DomainQueryDispatcher.Execute(new FindTeamNameById { TeamId = person.TeamId }); throw new DomainException($"{person.Name.Full} already belongs to team {otherTeamName}"); } _peopleIds.Add(person.Id); }
static async Task RunAsync() { var container = CreateContainer(); using (var scope = container.BeginLifetimeScope()) { var uow = scope.Resolve <IDomainUnitOfWork>(); var db = scope.Resolve <MyDbContext>(); var repository = scope.Resolve <IRepository <Person> >(); var person1 = await repository.Load(new PersonId("person1")); //new Person(new PersonId("person2"), "Test", "Person"); person1.ChangeName("x", "y"); await person1.DoSomething(); //var person2 = await repository.Load(new PersonId("person2")); //new Person(new PersonId("person2"), "Test", "Person"); //await repository.Add(person); var people = await DomainQueryDispatcher.Execute(new FindPeople()); await uow.Commit(); await db.SaveChangesAsync(); } }